#compdef unhash

local fl="$words[2]" args

args=()
[[ "$fl" = -*d* ]] &&
    args=( 'named-directories:named directory:compadd - ${(@k)nameddirs}' )
[[ "$fl" = -*a* ]] &&
    args=( "$args[@]"
           'aliases:alias:compadd - ${(@k)aliases} ${(@k)galiases} ${(@k)dis-aliases} ${(@k)dis-galiases}' )
[[ "$fl != -* ]] &&
    args=( 'commands:: _command_names -e' )

_alternative "$args[@]"
