From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 13391 invoked from network); 10 Jun 2020 00:00:59 -0000 Received: from ns1.primenet.com.au (HELO primenet.com.au) (203.24.36.2) by inbox.vuxu.org with ESMTPUTF8; 10 Jun 2020 00:00:59 -0000 Received: (qmail 7247 invoked by alias); 10 Jun 2020 00:00:55 -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: 46036 Received: (qmail 15932 invoked by uid 1010); 10 Jun 2020 00:00:54 -0000 X-Qmail-Scanner-Diagnostics: from park01.gkg.net by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.102.3/25835. spamassassin: 3.4.4. Clear:RC:0(205.235.26.22):SA:0(-2.1/5.0):. Processed in 1.384479 secs); 10 Jun 2020 00:00:54 -0000 X-Envelope-From: SRS0=hmh9=7X=yahoo.co.uk=okiddle@bounces.park01.gkg.net X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at bounces.park01.gkg.net designates 205.235.26.22 as permitted sender) X-Virus-Scanned: by amavisd-new at gkg.net Authentication-Results: amavisd4.gkg.net (amavisd-new); dkim=pass (2048-bit key) header.d=yahoo.co.uk X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 X-YMail-OSG: a6wjOlAVM1k79YFdVzfjc.FtQgY8wqZ6buWLXFd5fmE2gm_q64Smm1HBSXR0poU A6wH53vodkfBpMhx5W.tYyZAfO9RK8UBDcejKzKC6qEfo2La5BJx6UDfcw4Y7823637Zaf6Np1qE QUHru.siu.M9q9xqo1HWAj8SA_oEhzY3B_wNi2QA2RDHitMNb5p8iGLdEga.Y8M9gqSxbZmnUaIb nsmpEWR4_BvJvB2MxFaSjvB9csOKutrA24wQKC11_a8.7VhMEh1Z5zngIfqWb_ug.ZnjXmNfF2.d Wg1vVbS1uDoA2.z34HbhSp8aIe_UG7W5ztwFM5wgxlk8JoIE.I7tD96AxKjcNBYrmeiGZCXQTERw gpwJeXm3cQ62Ov4cl_mi06xW6FW9zFB8Hyg3z7sShpEWWfNPxNeJD.oqQodacryCKwUJzLtuLvHD ZTGP9tsyltIftOKhB5MTPdYequOPPv8WT5OlgrODCez6y9EB7T0AkTXI.ucvmwY8qLPGqYeqqxvT yelN6txlMLiUjD22SYslWiGELV.c2BFVjRjw0i6s8diQ.rbNHVI0aVXGxpNEFWKYqdKOJljsbp6C ohYyTHvED63x0jUZqKBMGb3zqxqbXTH4eMxpAa0oFild9t1NjnfIo99efVJ3tG41FNFKzbOl6UA7 0vHFkOoCEujhgfPDQpKlrzkP2KVx3r5Dfr6ZLUe7skjhBfTxk_UbaEk9.KUaAsDifmTljyzU2v_a Kr8nqLSEQWK0no6UC_mkAsBl8hHre.kzim5hADbUWVSycMwmkhie6X.qvhF_5sZ7CvQRihKDTRbQ _lC6drCz3Es_RtZuY4_Q8HBDS3asG6XjLC2fhaengNq_aUiG5dfxvFSh3G0oT8w2BpaAkPcoc2F2 jiqkTOfuMUJ5M6EwIZ2p_pwcIf5Sy1pQwzFvd7xxg_fG7jAEY1rsrYMyjnS1OqMhqeBU1uKL3CKd yT1AbgaBeXJZKJ9mlTetSRJjxn7aXtaEXajAsIEijAxbdA3.xvjgygCj4FpdEk2rhPTUKeJJ8iAi sNWY7g.RpvLHPJr8UvO_9jm5EfIvam3osc2j4UgEcgcCLq1gLbbWoudjG1yhD2K1IkB__bsjDeIG LWXhhLWN81LCShMPJOVgZXpKjTw.Q1mcU29V6Px5O98weCjeMDMc.kbSvUDx0O3xbVw.SvA3jzcv eWudIR2hKzbUAYSpZie5YhRrE7w5s_yGp7ggMYhh9_xK5O3RRP_KhwJqlD0aWGi5TcUV4bVfyk53 gYnXAgZBP9qaCCsbsZcTG.d_gMlYodsHXQ.43U0zmzoRBmr1G9RUPvAzTjeABOoRTvrlWsxPQZ3b D3f_a4eVSNpiBvsgsZ8N3rt9IOYluYFlYAOTTb230Pj31os0C5Azaaa6CmBySF1WhkQ0HsypWbGU - From: Oliver Kiddle To: Zsh workers Subject: PATCH: fix colouring in prompt completion MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <5589.1591747194.1@hydra> Date: Wed, 10 Jun 2020 01:59:55 +0200 Message-ID: <5590-1591747195.005165@UC92.OfOa.hbm2> References: <5590-1591747195.005165.ref@UC92.OfOa.hbm2> X-Mailer: WebService/1.1.16072 hermes_yahoo Apache-HttpAsyncClient/4.1.4 (Java/11.0.6) The completion sorting option changes mean that we're adding -o nosort -J group instead of -V which breaks extracting the group from $expl. Also, using ${(%)...} avoids the fork with $(print -P ...) though I'm not certain the quoting of braces is good with all option combinations. Oliver diff --git a/Completion/Zsh/Type/_ps1234 b/Completion/Zsh/Type/_ps1234 index cf1982219..0ea2cdda9 100644 --- a/Completion/Zsh/Type/_ps1234 +++ b/Completion/Zsh/Type/_ps1234 @@ -38,7 +38,7 @@ if compset -P '%[FK]'; then ) _description -V ansi-colors expl 'ansi color' - grp="$expl[expl[(i)-V]+1]" + grp="$expl[expl[(i)-J]+1]" print -v ccol -f "($grp)=%s=%s" ${(kv)ansi} _comp_colors+=( $ccol ) compadd "$expl[@]" $suf $pre -k ansi && ret=0 @@ -48,10 +48,10 @@ if compset -P '%[FK]'; then (( cols = $terminfo[colors] - 1 )) (( cols = cols > 255 ? 255 : cols )) _description -V terminal-colors expl 'terminal color' - grp="$expl[expl[(i)-V]+1]" + grp="$expl[expl[(i)-J]+1]" compadd "$expl[@]" $suf $pre {0..$cols} for c in {0..$cols}; do - _comp_colors+=( "($grp)=${c}=${${$(print -P "%F{$c}")#?\[}%m}" ) + _comp_colors+=( "($grp)=${c}=${${${(%):-%F{$c\}}#?\[}%m}" ) done else _message -e terminal-colors "number"