#compdef zle local expl if [[ "$words[2]" = -N && CURRENT -eq 3 ]]; then _wanted -C -N functions expl 'widget shell function' \ compadd "$@" - "${(k@)functions}" else _wanted widgets expl widget compadd - "${(@k)widgets}" fi