From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2421 invoked from network); 13 May 2003 11:46:47 -0000 Received: from sunsite.dk (130.225.247.90) by ns1.primenet.com.au with SMTP; 13 May 2003 11:46:47 -0000 Received: (qmail 11310 invoked by alias); 13 May 2003 09:54:39 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 18526 Received: (qmail 11280 invoked from network); 13 May 2003 09:54:38 -0000 Received: from localhost (HELO sunsite.dk) (127.0.0.1) by localhost with SMTP; 13 May 2003 09:54:38 -0000 X-MessageWall-Score: 0 (sunsite.dk) Received: from [62.189.183.235] by sunsite.dk (MessageWall 1.0.8) with SMTP; 13 May 2003 9:54:38 -0000 Received: from exchange01.csr.com (unverified) by (Content Technologies SMTPRS 4.2.1) with ESMTP id for ; Tue, 13 May 2003 11:04:26 +0100 Received: from csr.com (TINKY-WINKY [192.168.144.127]) by exchange01.csr.com with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2650.21) id JWCPZKY9; Tue, 13 May 2003 10:52:29 +0100 To: Zsh workers Subject: Re: current CVS test failure In-reply-to: "Oliver Kiddle"'s message of "Mon, 12 May 2003 12:08:54 +0200." <2414.1052734134@gmcs3.local> Date: Tue, 13 May 2003 10:54:35 +0100 Message-ID: <23075.1052819675@csr.com> From: Peter Stephenson Oliver Kiddle wrote: > So your -O is probably the best solution. With documentation added, it now looks like the following. I notice the option only affects prefix-needed, not prefix-hidden, which was always handled by _describe. That's probably OK as this is a matter for displaying. Index: Doc/Zsh/compsys.yo =================================================================== RCS file: /cvsroot/zsh/zsh/Doc/Zsh/compsys.yo,v retrieving revision 1.169 diff -u -r1.169 compsys.yo --- Doc/Zsh/compsys.yo 25 Apr 2003 11:19:09 -0000 1.169 +++ Doc/Zsh/compsys.yo 13 May 2003 09:51:39 -0000 @@ -3665,7 +3665,7 @@ the functions for the fields if they are called. ) findex(_describe) -item(tt(_describe) [ tt(-o) | tt(-t) var(tag) ] var(descr) var(name1) [ var(name2) ] var(opts) ... tt(-)tt(-) ...)( +item(tt(_describe) [ tt(-oO) | tt(-t) var(tag) ] var(descr) var(name1) [ var(name2) ] var(opts) ... tt(-)tt(-) ...)( This function associates completions with descriptions. Multiple groups separated by tt(-)tt(-) can be supplied, potentially with different completion options var(opts). @@ -3688,7 +3688,10 @@ tt(prefix-needed) and tt(verbose) styles to find out if the strings should be added as completions and if the descriptions should be shown. Without the `tt(-o)' option, only the tt(verbose) style is used to decide how -descriptions are shown. +descriptions are shown. If `tt(-O)' is used instead of `tt(-O)', command +options are completed as above but tt(_describe) will not handle the +tt(prefix-needed) style which is assumed to be handled by the calling +function. With the tt(-t) option a var(tag) can be specified. The default is `tt(values)' or, if the tt(-o) option is given, `tt(options)'. Index: Completion/Base/Utility/_arguments =================================================================== RCS file: /cvsroot/zsh/zsh/Completion/Base/Utility/_arguments,v retrieving revision 1.14 diff -u -r1.14 _arguments --- Completion/Base/Utility/_arguments 23 May 2002 12:20:15 -0000 1.14 +++ Completion/Base/Utility/_arguments 13 May 2003 09:51:39 -0000 @@ -387,7 +387,7 @@ tmp1=( "${(M@)tmp1:#[-+]?(|:*)}" ) tmp2=( "${PREFIX}${(@M)^${(@)${(@)tmp1%%:*}#[-+]}:#?}" ) - _describe -o option \ + _describe -O option \ tmp1 tmp2 -Q -S '' -- \ tmp3 -Q @@ -399,7 +399,7 @@ single=yes else next=( "$next[@]" "$odirect[@]" ) - _describe -o option \ + _describe -O option \ next -Q -M "$matcher" -- \ direct -QS '' -M "$matcher" -- \ equal -QqS= -M "$matcher" Index: Completion/Base/Utility/_describe =================================================================== RCS file: /cvsroot/zsh/zsh/Completion/Base/Utility/_describe,v retrieving revision 1.15 diff -u -r1.15 _describe --- Completion/Base/Utility/_describe 30 Apr 2003 13:47:55 -0000 1.15 +++ Completion/Base/Utility/_describe 13 May 2003 09:51:39 -0000 @@ -2,7 +2,7 @@ # This can be used to add options or values with descriptions as matches. -local _opt _expl _tmpm _tmpd _mlen +local _opt _expl _tmpm _tmpd _mlen _noprefix local _type=values _descr _ret=1 _showd _nm _hide _args _grp _sep local csl="$compstate[list]" csl2 local _oargv _argv _new _strs _mats _opts _i _try=0 @@ -12,6 +12,10 @@ if [[ "$1" = -o ]]; then _type=options shift +elif [[ "$1" = -O ]]; then + _type=options + _noprefix=1 + shift elif [[ "$1" = -t ]]; then _type="$2" shift 2 @@ -19,6 +23,10 @@ _type="${1[3,-1]}" shift fi + +[[ "$_type$_noprefix" = options && ! -prefix [-+]* ]] && \ + zstyle -T ":completion:${curcontext}:options" prefix-needed && + return 1 # Do the tests. `showd' is set if the descriptions should be shown. -- Peter Stephenson Software Engineer CSR Ltd., Science Park, Milton Road, Cambridge, CB4 0WH, UK Tel: +44 (0)1223 692070 ********************************************************************** The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer. **********************************************************************