Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
[PATCH] compsys.yo: key in $opt_args if the option is in one of mutually exclusive sets
- X-seq: zsh-workers 36578
- From: "Jun T." <takimoto-j@xxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxx
- Subject: [PATCH] compsys.yo: key in $opt_args if the option is in one of mutually exclusive sets
- Date: Mon, 21 Sep 2015 22:06:51 +0900
- 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
If optspecs for the _arguments is grouped into sets of options
as in the example in the zshcompsys manpage:
_arguments -a - set1 -c - set2 -d
and if the option -c is on the command line, then it is added
to the associative array $opt_args with key 'set1--c', i.e.,
'set1-' is prepended to the option. But it seems this is not
documented anywhere.
diff --git a/Doc/Zsh/compsys.yo b/Doc/Zsh/compsys.yo
index d067795..d6b1803 100644
--- a/Doc/Zsh/compsys.yo
+++ b/Doc/Zsh/compsys.yo
@@ -3982,6 +3982,11 @@ possible completions. When it contains `tt(-d)' or an argument, the
option `tt(-c)' will not be considered. However, after `tt(-a)'
both sets will still be considered valid.
+If an option in a set appears on the command line, it is stored in the
+associative array `tt(opt_args)' with 'var(set)tt(-)var(option)'
+as a key. In the example above, a key `tt(set1--c)' is used if the option
+`tt(-c)' is on the command line.
+
If the name given for one of the mutually exclusive sets is of the form
`tt(LPAR())var(name)tt(RPAR())' then only one value from each set will ever
be completed; more formally, all specifications are mutually
Messages sorted by:
Reverse Date,
Date,
Thread,
Author