Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: _arguments question
- X-seq: zsh-users 3279
- From: Matt Armstrong <matt@xxxxxxxxxxxxxx>
- To: Sven Wischnowsky <wischnow@xxxxxxxxxxxxxxxxxxxxxxx>
- Subject: Re: _arguments question
- Date: Thu, 13 Jul 2000 08:20:03 -0700
- Cc: zsh-users@xxxxxxxxxxxxxx
- In-reply-to: <200007130857.KAA25581@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>; from wischnow@xxxxxxxxxxxxxxxxxxxxxxx on Thu, Jul 13, 2000 at 10:57:20AM +0200
- Mailing-list: contact zsh-users-help@xxxxxxxxxxxxxx; run by ezmlm
- References: <200007130857.KAA25581@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
On Thu, Jul 13, 2000 at 10:57:20AM +0200, Sven Wischnowsky wrote:
>
> Matt Armstrong wrote:
>
> > I have this completion function that I have a question on:
> >
> > _p4_submit () {
> > _arguments \
> > '(-i)-c[changelist#]:changelist #' \
> > '(-c)-i[input from stddin]' \
> > ':submit file:_files'
> > }
> >
> > I have made -i and -c mutually exclusive. How can I make all three
> > mutually exclusive? This command accepts only one of the three
> > possible arguments.
>
> To say that with either of the options, the argument may not be
> completed, you include either its number or a `:' in their exclusion
> lists (the `:' means that no argument at all may be completed after
> the option).
Ahh, neat trick. I would suggest adding this to the man page -- I
could not find it.
> To say that after the argument no option should be completed, there
> are at least two ways. Either you give it a exclusion list, too
> (`(-c -i):submit ...') or you use the -A option to _arguments:
>
> _arguments -A '' \
> '(: -i)-c[changelist#]:changelist #' \
> '(: -c)-i[input from stddin]' \
> ':submit file:_files'
>
> The argument given to -A (the '' in the example) can be used to give
> a pattern matching strings that should be silently accepted and
> should not be considered to be normal arguments. E.g. if there may
> be other options than the ones described, you would use `-A "-*"' to
> say that any string starting with a hyphen should be ignored when
> trying to determine if a string on the line is an argument or
> something else.
Thanks. :-( I should have seen that in the docs.
P.S. I was worried that this new completion stuff would take zsh too
far down the road of making zsh the "Emacs of shells." But now I am
beginning to really like it. Thanks for all the work you've put into
it -- this is not a trivial task.
--
matt
Messages sorted by:
Reverse Date,
Date,
Thread,
Author