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

_arguments description problem



_arguments documentation suggests that description given in
option/argument specification is shown when values are completed. In
most cases they are not. The simple reason is, many "low-level"
functions that are called out of _arguments finally end up with
something like (_users):

_wanted users expl user compadd "$@" -k userdirs

and _wanted in effect overrides any arguments given to _users. It means,
that whatever top-level _arguments call specifies, _any_ call to _users
will show description "user" and not description given to _arguments.
Easy to see in smbclient - 

'(2)-U+[specify username]:username:_users'
                          ^^^^^^^^

but{pts/0}% smbclient -U adm
Completing user
           ^^^^
adm          dnscache     httpd-naat   operator     root         tinydns

Which means that _wanted (and related functions) probably needs some way
to know if it needs to setup description or not. I wonder, does it make
sense to parse arguments (in this case "$@" -k userdirs) and if standard
completion options are already there, do not override them? Seems like
the least intrusive solution.

-andrej



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