From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id d8cf3258 for ; Wed, 20 Mar 2019 12:57:18 +0000 (UTC) Received: (qmail 12217 invoked by alias); 20 Mar 2019 12:57:06 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 44149 Received: (qmail 10402 invoked by uid 1010); 20 Mar 2019 12:57:06 -0000 X-Qmail-Scanner-Diagnostics: from mail-oi1-f179.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.101.1/25393. spamassassin: 3.4.2. Clear:RC:0(209.85.167.179):SA:0(-1.8/5.0):. Processed in 2.875981 secs); 20 Mar 2019 12:57:06 -0000 X-Envelope-From: phy1729@gmail.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _netblocks.google.com designates 209.85.167.179 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:subject:message-id:mail-followup-to:mime-version :content-disposition:content-transfer-encoding:user-agent; bh=AAV6bIY8J4l05Q7ztUVF/qOorzole5GX1+6/pEziw98=; b=uHjXLH/XZp1XAUOiEic5sWWthaGSSuagoFMKtshel9qhiJUHhOFEn/tSZjkvenXkdT aAeoDQHUMjEuDvjF3Rbnc9oyohD8QK9REt0I8mzV6uNJEpKqGY+TQfTPeEX4mAlK4z+h aa1uEzH3BgAUVF22E5Cdynym6WYNg+5t/y225hZW3LBfb4u7K9MKDBunZZ3OCVPNPABD IjFcVb+rfOcvyVygX+cnZNGE86yiA5N5+bGdZzuLpxVYXTzqCx0k2MKaDU0K1JHAtVZl FuFiab84jUCCDlvOSsyAfYyF5jwIT+cYYCgugCB1ItLFRtgXYxslGAH4UHA7mR/+LAP9 k9iQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:mail-followup-to :mime-version:content-disposition:content-transfer-encoding :user-agent; bh=AAV6bIY8J4l05Q7ztUVF/qOorzole5GX1+6/pEziw98=; b=ZTr88mjSztQVCU8FQ70P9h2x5yIXpnH6QEOfdYI0/FfwEklQFEhGU6NhK0BVMcp/gF rzWyiUhSD6/DFOnlb+apCjsG51xOyxuVp2OPkygg/c0dDcu9XeLHF8ppv17xFYZKty8/ Md+QdiOd7ZJKGFn32c5AsWI+WLsataLmi0qML4US+6zxhUFi78jQL955tnoJxnzRpZbo dmY59xd6KqmDjh0YHnsloV8DKcEq4XNyWiHXC6HNS4eYfweTkJ0vw7bOBlphEeehBT1w fvbrAj+AZCSQ0ben/WUlkx/qoWT3Jcei0aDOgefl40kYfWbM0vcuX1ILZK4VouBiUtYO h7Gw== X-Gm-Message-State: APjAAAXt5Rbe5LjQ4MMwr0OQl5IZ7uP+CNPqrfaTXayENZQh2q75BYpy auiKHibnZKQUvGTspNefGpuoYKYs X-Google-Smtp-Source: APXvYqxFzD07VqNs97eY9A4n5wMHWDatVsDvNuF18ke7ET9ruaXyVjNlnH4zLRw4HWbenPXpZCrFKA== X-Received: by 2002:aca:b589:: with SMTP id e131mr5116984oif.91.1553086590310; Wed, 20 Mar 2019 05:56:30 -0700 (PDT) Date: Wed, 20 Mar 2019 07:56:28 -0500 From: Matthew Martin To: zsh-workers@zsh.org Subject: [PATCH] _mkdir, _stat: Use _pick_variant -b Message-ID: <20190320125625.GA59667@CptOrmolo.darkstar> Mail-Followup-To: zsh-workers@zsh.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.11.4 (2019-03-13) Remove the custom precommand parsing from _mkdir and _stat. _calendar also inspects precommand; but since it's a function not a builtin, -b isn't suitable. - Matthew Martin --- Completion/Unix/Command/_mkdir | 16 +--------------- Completion/Unix/Command/_stat | 16 +++++----------- 2 files changed, 6 insertions(+), 26 deletions(-) diff --git a/Completion/Unix/Command/_mkdir b/Completion/Unix/Command/_mkdir index e4308c304..58d1b8f48 100644 --- a/Completion/Unix/Command/_mkdir +++ b/Completion/Unix/Command/_mkdir @@ -9,21 +9,7 @@ args=( '(-)*: :->directories' ) -# It can still happen that there is a precommand command or builtin in the line. -# In such cases, the variant has to be modified suitably, after further checking -# the variant of the _command_ mkdir. -# -# $precommands is defined in _main_complete -if (( ${+precommands[(r)command]} )); then - _mkdir_command () { command mkdir "$@" } - _pick_variant -c _mkdir_command -r variant gnu=gnu unix --help - unfunction _mkdir_command -elif (( ${+precommands[(r)builtin]} )) || (( ${+builtins[mkdir]} )) || [[ "$(type -w mkdir)" == "*: builtin" ]]; then - variant=zsh -else - _pick_variant -r variant gnu=gnu zsh='\(eval\)' $OSTYPE --help -fi -# Now $variant is set. +_pick_variant -r variant -b zsh gnu=gnu $OSTYPE --help case $variant in gnu|freebsd*|dragonfly*|darwin*) diff --git a/Completion/Unix/Command/_stat b/Completion/Unix/Command/_stat index 2e84d6bf0..03b4552de 100644 --- a/Completion/Unix/Command/_stat +++ b/Completion/Unix/Command/_stat @@ -6,20 +6,14 @@ # Dragonfly by parsing the output of `lsof -N`, but it's not available by # default — is there another way? -local expl variant precmd ret=1 +local expl variant ret=1 local -a context line state state_descr args aopts=( -A '-*' ) local -A opt_args -if [[ $service == zstat ]] || [[ $precommands[-1] == builtin ]]; then - variant=zsh -else - [[ $precommands[-1] == command ]] && precmd=command - _pick_variant -c "${precmd:+$precmd }${words[1]}" -r variant \ - gnu='Free Soft' zsh='no files given' unix --version -fi +_pick_variant -r variant -b zsh gnu='Free Soft' $OSTYPE --version -case $OSTYPE-$variant in - *-zsh) +case $variant in + zsh) args=( "(-H)-A[assign the results to array, don't print]:array variable:_parameters -g '*array*'" - set1 @@ -43,7 +37,7 @@ case $OSTYPE-$variant in '-l[list stat types]' ) ;; - *-gnu) + gnu) aopts=( ) args=( '*: :_files' -- 2.21.0