summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Contreras <felipe.contreras@gmail.com>2020-12-30 23:29:47 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-01-04 23:25:56 (GMT)
commit7f94b78ddabdb49cde32b088ca66b422e7cda628 (patch)
tree575e516ab25d3a43b48e35b2cad3d5e0afcfe4aa
parent71ca53e8125e36efbda17293c50027d31681a41f (diff)
downloadgit-7f94b78ddabdb49cde32b088ca66b422e7cda628.zip
git-7f94b78ddabdb49cde32b088ca66b422e7cda628.tar.gz
git-7f94b78ddabdb49cde32b088ca66b422e7cda628.tar.bz2
completion: bash: add __git_have_func helper
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>
-rw-r--r--contrib/completion/git-completion.bash10
1 files changed, 7 insertions, 3 deletions
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 463a312..869c73e 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -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