Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: PATCH: Re: _arguments problems



In article <200005100920.LAA13270@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
  Sven Wischnowsky <wischnow@xxxxxxxxxxxxxxxxxxxxxxx> writes:

> I don't get an error message, but I don't get the `B' inserted,
> either. The code that calculates which arguments are to be completed
> didn't take the `*pat' things into account.

Z(4):akr@serein% Src/zsh -f  
serein% bindkey -e; autoload -U compinit; compinit -D; compdef _tst tst
serein% _tst () { _arguments '-o:*a:a:(a)' ':A:(A)' ':B:(B)' }
serein% tst -o a <TAB>
A   B

It shouln't complete `B'.

> > It completes nothing.  context parameter is not set?
> 
> Yes. Which part of the docs made you think it would be set? $context
> is only mentioned for the `->state' actions and only then will it be
> set.

I didn't think following paragraph is applied only when `->state' is
used.  Maybe, this is my fault.

       The parameter `context' will be set to  the  automatically
       created  context  names.  These  are either strings of the
       form `option-opt-n' for the n'th argument  of  the  option
       -opt,  or  strings  of  the form `argument-n' for the n'th
       argument (for rest arguments the n is the string  `rest').
       For  example,  when  completing  the  argument  of  the -o
       option, the name is `option-o-1' and for the second normal
       (non-option-) argument it is `argument-2'.
-- 
Tanaka Akira



Messages sorted by: Reverse Date, Date, Thread, Author