bash-completion: don't add quoted space for ZSH (fix regression)

Commit a31e626 (completion: optimize refs completion) introduced a
regression for ZSH users: ref names were completed with a quoted trailing
space (i.e. "git checkout ma" completes to "git checkout master\ "). The
space is convenient for bash users since we use "-o nospace", but a
quoted space is worse than nothing. The absence of trailing space for ZSH
is a long-standing issue, that this patch is not fixing. We just fix the
regression by not appending a space when the shell is ZSH.

Original-patch-by: SZEDER Gábor <szeder@ira.uka.de>
Reported-by: Stefan Haller <lists@haller-berlin.de>
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Matthieu Moy
2012-01-14 19:55:36 +01:00
committed by Pat Thoyts
parent 09fff0aec8
commit 1dfa29ff38

View File

@@ -230,6 +230,13 @@ __gitcomp ()
__gitcomp_nl ()
{
local IFS=$'\n'
# ZSH would quote the trailing space added with -S. bash users
# will appreciate the extra space to compensate the use of -o nospace.
if [ -n "${ZSH_VERSION-}" ] && [ "$suffix" = " " ]; then
suffix=""
fi
COMPREPLY=($(compgen -P "${2-}" -S "${4- }" -W "$1" -- "${3-$cur}"))
}