Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: _values and end of options
- X-seq: zsh-workers 38641
- From: Oliver Kiddle <okiddle@xxxxxxxxxxx>
- To: zsh workers <zsh-workers@xxxxxxx>
- Subject: Re: _values and end of options
- Date: Thu, 09 Jun 2016 17:43:43 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.uk; s=s2048; t=1465487024; bh=KDVFL/Y35fVx78Y/nrUCj5SOR14/X/J+vqgCp/g0QvY=; h=In-reply-to:From:References:To:Subject:Date:From:Subject; b=W/zF8a/ZKDz9I+gTL0aL8tlWQjOjAWEhldXSSsoRKFKftOsdqRoq3h2Bn6lRBFp01ikF1ni8phXxTkmWARhoNX18dwS7vcDyrmM0a2YZQve6xGNKz7Ohxe5Ozn+5jC7z3y+7aEWbNLnYL0tYic4zAy7KDhUDVxq1VNJ7Nk6YZYkYKMhgL6oR6qq/cZ/dQZqpDn4vLVNTbuK0ZAwbCAhvyjoi4uaLLbJcSp5auZWv+JOabkyKZeti7TFmWDw6aotgdBSD7k2A30IPUFzu9hilIP0mMFLr2fUUOqhSkzHePzu/UNZYgo3uu6w+7ZpgdzDt7UMSfRNHrcg5kfYBXKEcyw==
- In-reply-to: <57596005.3070100@redhat.com>
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
- References: <57596005.3070100@redhat.com>
Marko Myllynen wrote:
>
> Otherwise this works nicely (each of the options is completed only once)
> but -1 -2 are missing from offered options (see _values). I can use --
> to have them included as well (_values -w opts -- $opts) but then -- is
> also offered.
_values starts with a call to zparseopts to remove normal compadd
style options such as -1 and -2. In general these shouldn't occur after
(or mixed with) the values. It mostly occurs when _values is used
within an _arguments spec. In that case the unwanted options only appear
at the beginning. The following patch makes it only remove compadd style
options that occur at the beginning.
> Can _values be used reliably in cases where there might be options as
> values? Or is there a better way to achieve this with compadd or such
> for the above case?
Well, normally you'd use _arguments for options but I assume you have
some reason for not doing that. _values should work but may have some
differences - like not checking the prefix-needed style.
Oliver
diff --git a/Completion/Base/Utility/_values b/Completion/Base/Utility/_values
index ab0e46a..c510b4c 100644
--- a/Completion/Base/Utility/_values
+++ b/Completion/Base/Utility/_values
@@ -3,7 +3,7 @@
local subopts opt usecc garbage
subopts=()
-zparseopts -D -E -a garbage C=usecc O:=subopts M: J: V: 1 2 n F: X:
+zparseopts -D -a garbage C=usecc O:=subopts M: J: V: 1 2 n F: X:
(( $#subopts )) && subopts=( "${(@P)subopts[2]}" )
Messages sorted by:
Reverse Date,
Date,
Thread,
Author