1#autoload 2 3local __gopt __descr __spec 4 5__gopt=() 6zparseopts -D -a __gopt 1 2 V J x 7 8if comptags -A "$1" curtag __spec; then 9 (( $#funcstack > _tags_level )) && _comp_tags="${_comp_tags% * }" 10 _tags_level=$#funcstack 11 _comp_tags="$_comp_tags $__spec " 12 if [[ "$curtag" = *[^\\]:* ]]; then 13 zformat -f __descr "${curtag#*:}" "d:$3" 14 _description "$__gopt[@]" "${curtag%:*}" "$2" "$__descr" 15 curtag="${curtag%:*}" 16 set -A $2 "${(P@)2}" "${(@)argv[4,-1]}" 17 else 18 _description "$__gopt[@]" "$curtag" "$2" "$3" 19 set -A $2 "${(@)argv[4,-1]}" "${(P@)2}" 20 fi 21 22 return 0 23fi 24 25return 1 26