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

Re: [RFC/PATCH] completion: git: add fast mode



On Wed, Nov 25, 2020 at 4:56 PM Eric Cook <llua@xxxxxxx> wrote:
>
> On 11/25/20 5:34 PM, Felipe Contreras wrote:
> > I think the overall end goal would be to move as much as possible of
> > the completion to the Git project itself. For example; git commands
> > have the --git-completion-helper option, which throw something like:
> >
> >    % git version --git-completion-helper
> >    --build-options --no-build-options
> >
> > There is no _git_version() specific function in Git's bash completion,
> > and yet when you type "git version --<tab>" the options are completed
> > anyway.
> >
> > This helps so that new commands get some automatic completion, even
> > when nothing specific for them is done in the completion script.
> >
> > It has been discussed in the mailing list to add something similar for
> > zsh specific completion, so the descriptions are generated too, and
> > shorthand forms, perhaps with --git-completion-helper=zsh.
>
> This is a form of completion that may work for bash since it's completion system
> is simpler and user expectation is (seemingly) solely "press tab and stuff appears".
> where as zsh's completion systems allows the user to manipulating the results in
> various ways which could be lost once $program handles the completion.
>
> like adding additional results
> overriding opinionated file completion set by the author(s)
> omitting options you don't want presented to you.
> grouping results by tags.
> just to name a few.
>
> zsh's completion system is far more powerful than just presenting a pseudo static
> list of options with descriptions.

This is a false dichotomy.

You can do both things: 1. extract the options and descriptions from
the git program, and 2. use code to rearrange them, group them, and do
whatever else you want with them.

-- 
Felipe Contreras




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