Re: [RFC/PATCH 5/5] completion: refactor __gitcomp_1
From: SZEDER Gábor <hidden>
Date: 2016-06-15 22:55:18
[Wow, that's quite the Cc-list above. I wonder why e.g. Robert ended up there, when all his "sins" were to add a couple of 'git svn' options back in 2009.] On Sat, Nov 17, 2012 at 02:38:18AM +0100, Felipe Contreras wrote:
quoted hunk ↗ jump to hunk
It's only used by __gitcomp, so move some code there and avoid going through the loop again. We could get rid of it altogether, but it's useful for zsh's completion wrapper. Signed-off-by: Felipe Contreras <redacted> --- contrib/completion/git-completion.bash | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-)diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index ad3e1fe..d92d11e 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash@@ -58,15 +58,12 @@ __gitdir () __gitcomp_1 () { - local c IFS=$' \t\n' - for c in $1; do - c="$c$2" - case $c in - --*=*|*.) ;; - *) c="$c " ;; - esac - printf '%s\n' "$c" - done + local c=$1 + case $c in + --*=*|*.) ;; + *) c="$c " ;; + esac + printf '%s\n' "$c" } # The following function is based on code from:@@ -249,10 +246,16 @@ __gitcomp () --*=) ;; *) - local IFS=$'\n' - __gitcompadd "$(__gitcomp_1 "${1-}" "${4-}")" "${2-}" "$cur_" "" + local c IFS=$' \t\n' + for c in ${1-}; do + c=`__gitcomp_1 "$c${4-}"`
1. Backticks. 2. A subshell for every word in the wordlist?
+ if [[ "$c" = "$cur_"* ]]; then
+ COMPREPLY+=("${2-}$c")This is the first time we use the append operator in the completion script. When it came up last time the question was whether the benefit of using it is large enough for worrying about supported Bash versions. http://article.gmane.org/gmane.comp.version-control.git/206525
+ fi + done ;; esac + } # Generates completion reply with compgen from newline-separated possible -- 1.8.0