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,FROM_EXCESS_BASE64,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 a094499d for ; Sat, 17 Aug 2019 07:49:43 +0000 (UTC) Received: (qmail 23602 invoked by alias); 17 Aug 2019 07:49:33 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: List-Unsubscribe: X-Seq: 24154 Received: (qmail 14822 invoked by uid 1010); 17 Aug 2019 07:49:33 -0000 X-Qmail-Scanner-Diagnostics: from sonic312-27.consmr.mail.ir2.yahoo.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.101.2/25538. spamassassin: 3.4.2. Clear:RC:0(77.238.178.98):SA:0(-2.0/5.0):. Processed in 3.087819 secs); 17 Aug 2019 07:49:33 -0000 X-Envelope-From: orel_jf@yahoo.fr X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.mail.yahoo.com designates 77.238.178.98 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.fr; s=s2048; t=1566028128; bh=IaJS9jrhlw6u8pGHAIFBZPAjug29d6d60M7UyBltYyg=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From:Subject; b=ONGeEHv7mk47AgnBzixHkyancMnyqGRXIX5UYb1pa6nYTOzwtWjPLaPxz3q2/c5kZeVHmg6Eg/GBhNR1SzG2zYSFDj24HqIFGxtEyTB0jdjxS6fiYO6D7Re93HLq6T3hGn/lH/hTXqVXdqZcZ6+kERvFZb5xd0VpVoJDnHogZuKRZbXc4HX7ZtTET9VC6zEMCRDiPKn0DQhniaN8GlnCb3SErDJY+ZQMca0DZqPJVvxG/C8QnO7Ls+3p2eg9zgX8jVw4dDHRfjnVyupDf2VYs0hSn3cKBSG2GlLPB7BWaweRliIHQMkxihlMIppzpOZO0T22laHdFqRGQVT+zvx44A== X-YMail-OSG: CmPkKgMVM1kbV88pirPwmgiX7LXYWDJ_0cBUQM2j1BS39U.vBZdYa7SB1p.XRtk Ih8VAkEdOU.1hdyC.HJPub.hm045zIiyvgw0GLJQWpzN40S7LFSpJUfnt1_359ehLdwzH6FW7U1n qPhCs61lSbqU0mMg_8m3onYi4qDef_iuSWzfs.T5DDAv4kpmY66SU6DPl_fybUF3d.bO5ncUUivT J4NofCtxKpBNAIEIEUmIJQgPcL6cw5LyHcHuAbMyNTgW.xgLP3Enumk1nRbmwkeHxltQiahUiS41 8091xbmmcJ_tNXoKyPL.3Hz91ypR5exETe42.BgDvGzdXOVslUYCwL2y1QGSHI2x1DjJLNaOzPL2 2gxlleZ3nf_ZbxqEJpRJuXlNN9AvQLJBwQgzK1jck_pzJfbjaNx9Ty6jjw69xp3FGdRj0lUcNLrn pamY0PLg8euvmXWD7DaULN1uQUA.X6B325YRa8r9EKjfb3cUHnZ3Gdll4PMMWxvWNdFpdX40eRuM sUibCa0d8e0__FwHKvp6SSAtldeLiENXxdBzH2KBg1W5MR3hmcDrwn_l87vn7d3VlPYjAKQ1FFtI ZgaTbJNyic.iCRwmE7CeewrP3Yg6Orv7nb0RoTUZGgBFaDEEO0a9OHeWciSPHgxM7b50CGuNeGbO OyicLn3f1Ai.Q0x4pET1z3.o8E.h2lBS6KTDl.OqrbPKSt0.WDt7_RdHfLGUyW5C1KoI48jtGiY4 2ooTDUs6ESwiUx4ewrSBTrsVY2piagqZN1dyf5P0YI0Asa3bGyVZL2AR1M4xjKkKgKtXqppT7vst ftI.cD917xpzMRlUiYO35dx.2aZL7HeUXg17DfWV8Ly4CxWsUcOy33i.o8Q_E1ARrX76QcmscVJl fJCabtCi6FDFChXpazUf5UDPr1Vj0iFd0HlLglarzbMMq_shZXI_dyD9thacj6RoixUAYZRxGGee 9nqyEI8FWV94trnbLMOnK9j2jmlPRdJcYJT9PnsQF1zXQeDDhktpLXWp73KnpTczOV_VE__WW2oK aDEfonFgCc8gv2qd6Y1PH7BCt4aH.9Dm8Zw7JNl9r7LK90v7z3yyQJbSREUsRZy70ReBwa.pHn1r aRYBEp09j27a1k4pPADIgrVNeKanY2hkjz8DkHzpxwaFMiriCtAm_ktmx4CI.JZtsFIYiE.fAKpk 20RbQWkmGbOfJFLynjdPEy03PNQasC.IFMHk7RAlcdWbSK27NA8xbThKWrPLmxvD2bneWNcI- Subject: Re: help for writing GNU stow completion To: dana Cc: zsh-users References: <1e5195bb-3126-8d0c-8a6a-1f5a5fd2a6c0@yahoo.fr> From: =?UTF-8?B?QXVyw6lsaWVu?= Openpgp: preference=signencrypt Autocrypt: addr=orel_jf@yahoo.fr; prefer-encrypt=mutual; keydata= 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 Message-ID: Date: Sat, 17 Aug 2019 09:48:45 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: fr-FR Content-Transfer-Encoding: 8bit Le 16/08/2019 ?? 01:36, dana a ??crit??: > You can use the (Q) expansion flag to strip quotes, which is a semi-common > thing in completion functions when they need to take user input from the > command line, but there's no flag for anything fancier, and most functions > don't seem to bother with it. But if you wanted to, something like this is > probably the best way...? > > local -a stow_pkg_list > eval set -A stow_pkg_list $1 > [[ -n $stow_pkg_list ]] && stow_pkg_list=( $stow_pkg_list/*(-/N:t) ) > > It's not perfectly accurate, though; for example, because of how _arguments > breaks up optargs, this would treat `--dir=~/foo` and `--dir ~/foo` the same, > even though the tilde would not actually be expanded before passing it to stow > in the former case (unless magic_equal_subst was enabled) > Knowing that this option only accepts one value and after a few tests, it seems that 'eval' is the right solution, . My function now looks like this: local stow_dir local -a stow_pkg_list eval set -A stow_dir $1 [[ -n $stow_dir ]] && stow_pkg_list=( $stow_dir/*(-/N:t) ) if [[ ${#stow_pkg_list} -gt 0 ]]; then _values -C "packages from $stow_dir" ${stow_pkg_list[@]} else _message "no packages found in $stow_dir" fi and the completion of parameters such as'$HOME' or'~/' works well ! I pushed my modifications on github. Thank you for the answers :-) -- Aur??lien