Re: [QUERY] Why do we have git-completion.zsh?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Apr 20, 2013 at 5:39 PM, Felipe Contreras
<felipe.contreras@xxxxxxxxx> wrote:
> On Sat, Apr 20, 2013 at 1:53 PM, Jonathan Nieder <jrnieder@xxxxxxxxx> wrote:
>> Jonathan Nieder wrote:
>>> Ramkumar Ramachandra wrote:
>>
>>>>                             However, I don't understand why we
>>>> maintain it, because there's a comprehensive first-class completer in
>>>> ZSH core [1] which I use all the time.  Shouldn't the completion folks
>>>> be contributing to this instead?
>>>
>>> Only if they want to.
>> [...]
>>> http://thread.gmane.org/gmane.comp.version-control.git/210022/focus=210024
>>
>> Sorry, wrong link.  Here's a better one:
>>
>> http://www.zsh.org/mla/workers/2011/msg00497.html
>>
>> More fundamentally, your question seems to assume some kind of shared
>> plan regarding what people work on, rather than each person choosing
>> to work on what they consider valuable without having to justify it to
>> others.  I am very happy with Felipe's work on git's completion code
>> and don't think it does any harm to efforts elsewhere.
>
> To complement the reason; the zsh folks (or perhaps it's only one; who
> works on the git stuff), absolutely prioritize "correctness" over
> speed, that means if it takes ten seconds to list all the possible
> files to complete, grouped nicely, that's exactly what they'll do,
> instead of the way the bash completion does, which lists the most
> likely files, which takes milliseconds.
>
> I found zsh's completion unbearably slow, which is ironic; git is the
> fastest DSCM on Earth, and they blow the performance away by making
> the completion dead slow, to the point where the completion is several
> orders of magnitude slower than the actual command. To me, the whole
> point of the completion is to make the work faster, and if the
> completion takes longer than me typing it, what's the point of it?
>
> And I'm not the only one, when I contributed this stuff to
> oh-my-zsh[1] I got a very positive response.
>
> I couldn't convince them of this obvious fact, so I choose git's bash
> fast completion.
>
> I have patches to improve the zsh thin wrapper to give more
> information, zsh style, in a way that is superior to zsh's git
> completion, but I'm still not happy with them, I want the user to be
> able to configure the output so it's not totally bloated like in zsh,
> and I'm still working on it. In the mean time, I want my completion to
> be blazingly fast, and at least as good as git's bash completion.

Actually, it's mostly there now:
https://github.com/felipec/git/blob/fc/zsh/ng/contrib/completion/git-completion.zsh

This greatly improves 'git <tab>' over the plain bash version, and
it's even better than the official zsh version, because you can do
something like:

  zstyle ':completion:*:*:git:*' tag-order 'common-commands porcelain-commands'

To show only the command groups you are interested on. With official
zsh, you get the whole enchilada of all the commands git has. Hardly
user-friendly.

Cheers.

-- 
Felipe Contreras
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]