Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Problem with _arguments and invalid options
- X-seq: zsh-workers 7766
- From: "Andrej Borsenkow" <Andrej.Borsenkow@xxxxxxxxxxxxxx>
- To: "ZSH workers mailing list" <zsh-workers@xxxxxxxxxxxxxx>
- Subject: Problem with _arguments and invalid options
- Date: Fri, 10 Sep 1999 17:23:08 +0400
- Importance: Normal
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
Currently, invalid (not listed in description) options are not handled very
nicely. Here is half-hearted example of sudo completion:
_arguments \
	'-V[show version]' \
	'-l[list commands]' \
	'-h[show help]' \
	'-v[validate timestamp file]' \
	'-k[remove timestamp file]' \
	'-b[run command in background]' \
	'-r:Kerberos realm:' \
	'-p:prompt:' \
	'-u:user name:_users' \
	'-s[run SHELL]' \
	'-H[set HOME environment variable]' \
	'*::complete command and/or arguments:_normal'
And now
bor@itsrm2:~/.zsh.d/completion%> sudo -z TAB
bor@itsrm2:~/.zsh.d/completion%> sudo -z _normal: bad option: -z [33]
_
--- file
_sudo     _umount
What's worse - if a command does not list `-s', but you *do* give `-s' - it
seems to be propagated downward and interpreted by _arguments itself (or some
other function, dunno). Just remove definition for -s from above and try:
bor@itsrm2:~/.zsh.d/completion%> sudo -u nTAB
bor@itsrm2:~/.zsh.d/completion%> sudo -u n
--- user
nerv     nobody   nuucp
but
bor@itsrm2:~/.zsh.d/completion%> sudo -s -u nTAB
B-e-e-p
and
bor@itsrm2:~/.zsh.d/completion%> sudo -s -u TAB
bor@itsrm2:~/.zsh.d/completion%> sudo -s -u _
--- file
_sudo     _umount
/andrej
Messages sorted by:
Reverse Date,
Date,
Thread,
Author