From f33bf8aa462c6c2486c496274529d4cc99d8eb62 Mon Sep 17 00:00:00 2001 From: Matthieu Moy Date: Sat, 14 Jan 2012 19:55:36 +0100 Subject: [PATCH] bash-completion: don't add quoted space for ZSH (fix regression) MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Reported-by: Stefan Haller Signed-off-by: Matthieu Moy Signed-off-by: Junio C Hamano --- contrib/completion/git-completion.bash | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 1689f99539..d9a93ea418 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -509,6 +509,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}")) } -- 2.11.4.GIT