#autoload

(( compstate[nmatches] )) &&
    return 1

[[ $_comp_tags != (|* )(|local-)directories(| *) ]] &&
    return 1

local displ= expl=
_description -V ancestor-directories expl 'ancestor directory'

local -Pa ancestors=()
local -P parent=$PWD:h
while (( $#parent > 1 )); do
  ancestors+=( $parent )
  parent=$parent:h
done

local -Pi ret=1
local -P a=
for a in ${(aO)ancestors[@]}; do
  displ=( "$a" )
  [[ -z $PREFIX$SUFFIX ]] &&
      displ=( "$a:t" )
  compadd "$expl[@]" -d displ -P "${${(D)a:h}%/}/" -fW "${${a:h}%/}/" - "$a:t" &&
      ret=0
done

return ret
