From: Junio C Hamano Date: Thu, 02 Feb 2012 19:48:08 GMT Subject: Re: [PATCH v3 0/4] completion: couple of cleanups Message-ID: <7v39atvwxz.fsf@alter.siamese.dyndns.org> In-Reply-To: <1328145320-14071-1-git-send-email-felipe.contreras@gmail.com> Felipe Contreras writes: > Felipe Contreras (4): > completion: be nicer with zsh > completion: simplify __git_remotes > completion: remove unused code > completion: simplify __gitcomp* My understanding is that the two patches relayed by Jonathan cover the first three entries, so here is my attempt to reconstruct the last one without seeing a single bit from the v3 series ;-) -- >8 -- From: Felipe Contreras Subject: [PATCH] completion: simplify __gitcomp and __gitcomp_nl implementations These shell functions are written in an unnecessarily verbose way; simplify their "conditionally use $ after checking $# against " logic by using shell's built-in conditional substitution facilities. Also remove the first of the two assignments to IFS in __gitcomp_nl that does not have any effect. Signed-off-by: Felipe Contreras Signed-off-by: Junio C Hamano --- contrib/completion/git-completion.bash | 19 +++---------------- 1 files changed, 3 insertions(+), 16 deletions(-) diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 8dd4e44..1ce1d6e 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -495,11 +495,8 @@ fi # 4: A suffix to be appended to each possible completion word (optional). __gitcomp () { - local cur_="$cur" + local cur_="${3-$cur}" - if [ $# -gt 2 ]; then - cur_="$3" - fi case "$cur_" in --*=) COMPREPLY=() @@ -524,18 +521,8 @@ __gitcomp () # appended. __gitcomp_nl () { - local s=$'\n' IFS=' '$'\t'$'\n' - local cur_="$cur" suffix=" " - - if [ $# -gt 2 ]; then - cur_="$3" - if [ $# -gt 3 ]; then - suffix="$4" - fi - fi - - IFS=$s - COMPREPLY=($(compgen -P "${2-}" -S "$suffix" -W "$1" -- "$cur_")) + local IFS=$'\n' + COMPREPLY=($(compgen -P "${2-}" -S "${4- }" -W "$1" -- "${3-$cur}")) } __git_heads () -- 1.7.9.172.ge26ae