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

Re: Completion and command versions



Peter wrote:
> Doug Kearns wrote:
> > Is there a policy regarding the command version that completion
> > functions should support? What about commands where there are
> > significant changes between versions?

I don't think we have any official policy. For most commands, where the
differences are little more than a few added options I just update it
to the latest version.

If an option that takes an argument is removed you could precede the
_arguments spec with \! so that it is recognised but not completed.

Where a command changes significantly, and in particular where an old
version continues to be in wide use, it can then be worth the trouble
of handling the old version.

> The standard way is using the _pick_variant function.
> 
> If it's too dangerous to run the command to find out what it does, you
> probably need a style.  `variant' is already use by _pick_variant,
> unfortunately --- it's not a very good name, since it doesn't give the
> variant, it gives the programme to run to pick the variant.  Of course

_pick_variant is not in 4.0 so it isn't too late to change this. It
perhaps should stick with the command style but set the tag to `variant'
when looking it up.

Another issue we perhaps ought to think about is how we keep track
of what version of a command the functions have been updated to. I
notice some people have put a version number in a comment at the top
of functions which is one way. What we could do is setup a separate cvs
repository containing the output of the commands' --help (or equivalent)
outputs. I've found that diffing these is a good way of finding any
new options - assuming I still have the old program around to get it's
--help output.

Oliver



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