#autoload local targs if [[ "$1" = -C?* ]]; then targs=( -C "${1[3,-1]}" ) shift elif [[ "$1" = -C ]]; then targs=( -C "$2" ) shift 2 else targs=() fi [[ "$1" = -(|-) ]] && shift if [[ $# -gt 1 ]]; then _tags "$targs[@]" "$1" && _description "${(@)argv[2,-1]}" else _tags "$targs[@]" "$1" fi