Re: [PATCH] tcsh-completion re-using git-completion.bash
- From
SZEDER Gábor <szeder@ira.uka.de>
- Date
- Nov 16, 2012, 21:22 UTC
- Message-ID
- <20121116212224.GA12052@goldbirke>
- In-Reply-To
- <CAMP44s2UVGKa7XkqPxdxQ2ueSMn=Xn4qihy5JWbDovH85n8BwQ@mail.gmail.com>
On Fri, Nov 16, 2012 at 10:03:41PM +0100, Felipe Contreras wrote:
Show 15 quoted lines
> On Fri, Nov 16, 2012 at 9:40 PM, SZEDER Gábor <szeder@ira.uka.de> wrote: > > On Fri, Nov 16, 2012 at 09:04:06PM +0100, Felipe Contreras wrote: > >> > I agree, and this is why I made the proposed > >> > __git_complete_with_output () generic. That way it could be > >> > used by other shells or programs. But at this time, only tcsh > >> > would make use of it. > >> > > >> > If you think having __git_complete_with_output () could > >> > be useful for others, I think we should go with solution (A). > >> > If you don't think so, or if it is better to wait until a need > >> > arises first, then solution (C) will work fine. > > > > I think it would be useful. > > For what?
For zsh.
Show 6 quoted lines
> >> I don't see how it could be useful to others, and if we find out that > >> it could, we can always move the code. > > > > For zsh, perhaps? > > Nope.
Sure.
Show 11 quoted lines
> > As I understand the main issues with using the completion script with
> > zsh are the various little incompatibilities between the two shells
> > and bugs in zsh's emulation of Bash's completion-related builtins.
> > Running the completion script under Bash and using its results in zsh
> > would solve these issues at the root. And would allow as to remove
> > some if [[ -n ${ZSH_VERSION-} ]] code.
>
> We can remove that code already, because we now have code that is
> superior than zsh's bash completion emulation:
>
> http://article.gmane.org/gmane.comp.version-control.git/208173Which depends on the completion script having a wrapper function around compgen filling COMPREPLY. However, COMPREPLY will be soon filled by hand-rolled code to prevent expansion issues with compgen, and there will be no such wrapper.
Show 5 quoted lines
> This is the equivalent of what Marc is doing, except that zsh has no > problems running bash's code. Note there's a difference with zsh's > emulation bash (or rather bourne shell, or k shell), and zsh's > emulation of bash's _completion_. The former is fine, the later is > not.
There are a couple of constructs supported by Bash but not by zsh, which we usually try to avoid.