From ecc6601e4c47dd783cacf711faed4601de01a850 Mon Sep 17 00:00:00 2001 From: Matthieu Moy Date: Sat, 14 Jan 2012 19:55:36 +0100 Subject: bash-completion: don't add quoted space for ZSH (fix regression) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 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 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index b0062bac22..488e1f4445 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -534,6 +534,12 @@ __gitcomp_nl () fi fi + # 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 + IFS=$s COMPREPLY=($(compgen -P "${2-}" -S "$suffix" -W "$1" -- "$cur_")) } -- cgit v1.2.1