On Wed, Jul 03, 2019 at 10:50:26AM -0700, Junio C Hamano wrote: > Felipe Contreras <felipe.contreras@xxxxxxxxx> writes: > > > Here's another try at completion fixes, cleanups, and more tests. Some > > of these have already been sent. > > > > Felipe Contreras (14): > > completion: zsh: fix __gitcomp_direct() > > completion: zsh: fix for directories with spaces > > completion: remove zsh hack > > completion: zsh: improve main function selection > > completion: prompt: fix color for Zsh > > completion: bash: cleanup cygwin check > > completion: zsh: update installation instructions > > completion: bash: remove old compat wrappers > > completion: bash: remove zsh wrapper > > completion: zsh: trivial cleanups > > test: completion: tests for __gitcomp regression > > test: completion: use global config > > completion: add default options > > completion: add default merge strategies > > > > contrib/completion/git-completion.bash | 202 +++++++++++++------------ > > contrib/completion/git-completion.zsh | 53 +++---- > > contrib/completion/git-prompt.sh | 10 +- > > t/t9902-completion.sh | 37 +++-- > > 4 files changed, 161 insertions(+), 141 deletions(-) > > Having scanned the discussion threads so far, I think the last four > patches are going against the list consensus of (1) it is OK to rely > on --git-completion-helper; using ancient Git with new completion > script won't obviously work, but that is "if it hurts, don't". (2) > some subcommands will fail the --git-completion-helper request > (e.g. outside a repository), but as long as the output from failed > request is not cached, it is OK. > > But we haven't seen any response to the earlier zsh specific > patches. Does it mean that nobody other than Felipe cares about > having a working Git completion for zsh? Or does it mean that all > users other than Felipe are happy with the current Git completion > for zsh and it works very well for them already? Or somewhere in > between? > > What I am trying to get at is if we would want to keep the earlier > zsh parts of the series, but with nobody seemingly interested in, it > is hard for me to justify queuing them. I'm not a Zsh user and am mostly unfamiliar with its antics, but FWIW... Zsh has its own git completion routines, which are in some aspects more advanced than what can be achieved with Bash's completion facilities (or more wasteful in screen real estate, depending on your preferences :), e.g. Zsh's completion shows a short description for each completeable --option and whatnot). I suppose that the avarage Zsh & Git user uses Zsh's own git completion instead of our Bash completion script wrapped for Zsh. Having said that, I applied the first 7 patches in my tree and then followed the updated installation instructions, and it finally worked. I remember trying it in the past once or twice, to check whether some of my bigger completion updates break something in Zsh, but it never worked. So these patches (and perhaps patch 10 as well) seem to be a definite improvement (though admittedly I haven't tested them thoroughly). As for the latter part of the series, I think the more hard-coded options we can get rid of the better we are off, and I would rather not see them making a comeback. I don't really have an opinion about patches 8 and 9 (that old wrapper is probably just bitrotting away, but I just tried to source our bash completion script from Zsh, and apart from the deprecation warning it appeared to work).