#compdef which whence where type local expl _description expl 'external command' compadd "$expl[@]" "$@" - "${(k@)commands}" && ret=0 _description expl 'builtin command' compadd "$expl[@]" "$@" - "${(k@)builtins}" && ret=0 _description expl 'shell function' compadd "$expl[@]" "$@" - "${(k@)functions}" && ret=0 _description expl 'alias' compadd "$expl[@]" "$@" - "${(k@)raliases}" && ret=0 _description expl 'reserved word' compadd "$expl[@]" "$@" - "${(k@)reswords}" && ret=0