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

Re: Passsing descriptions down in completion functions

On 9 Jan, you wrote:
> Well, I started to look into these functions and immediately hit some
> problems:
> AIX/Type/_object_classes:
> _wanted objectclasses expl 'object class' \
>    _files -W ${ODMDIR:-/etc/objrepos} -g '^*.vc'
> Here is just no place where I could stuff the magic "-". Granted, this one
> does not pass arguments it receives but in general I do not see why it
> should not do it.

I think you can put the "-" on the end of the line like this:
  _wanted ... \
     _files -W ${ODMDIR:-/etc/objrepos} -g '^*.vc' "$@" -

> Base/Utility/_sub_commands
> if [[ CURRENT -eq 2 ]]; then
>   _wanted commands expl command compadd "$@"
> else
>   _message 'no more arguments'
> fi
> almost the same problem. In this case arguments contain both description and
> matches so I have no way to stuff "-" in between.

That's a slightly unusual case because any matches passed to
_sub_commands could be thought of as not being arguments to compadd to
be passed on in the traditional sense. It is probably best handled by
passing a "-" in the calling function.

I agree that this isn't particularly ideal though. I remember Sven
saying something about rethinking the way compadd options are passed
but I was mostly thinking in terms of suffixes and not descriptions.
It'd be wise to think in terms of all the compadd options and how they
are passed around in coming up with a good solution.

A variant of your _all_labels suggestion is perhaps not a bad idea. I'd
want to be able to override any passed descriptions in some cases.


This e-mail and any attachment is for authorised use by the intended recipient(s) only.  It may contain proprietary material, confidential information and/or be subject to legal privilege.  It should not be copied, disclosed to, retained or used by, any other party.  If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender.  Thank you.

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