]> git.ipfire.org Git - thirdparty/git.git/commitdiff
completion: bash: add __git_have_func helper
authorFelipe Contreras <felipe.contreras@gmail.com>
Wed, 30 Dec 2020 23:29:47 +0000 (17:29 -0600)
committerJunio C Hamano <gitster@pobox.com>
Mon, 4 Jan 2021 23:25:56 +0000 (15:25 -0800)
This makes the code more readable, and also will help when new code
wants to do similar checks.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-completion.bash

index 463a3124da0a98715e074bf057dac1b67f79b3be..869c73ee2c141ec52807b9734b1195a258aaf09d 100644 (file)
@@ -3358,15 +3358,19 @@ __git_support_parseopt_helper () {
        esac
 }
 
+__git_have_func () {
+       declare -f $1 >/dev/null 2>/dev/null
+}
+
 __git_complete_command () {
        local command="$1"
        local completion_func="_git_${command//-/_}"
-       if ! declare -f $completion_func >/dev/null 2>/dev/null &&
-               declare -f _completion_loader >/dev/null 2>/dev/null
+       if ! __git_have_func $completion_func &&
+               __git_have_func _completion_loader
        then
                _completion_loader "git-$command"
        fi
-       if declare -f $completion_func >/dev/null 2>/dev/null
+       if __git_have_func $completion_func
        then
                $completion_func
                return 0