Browse Source

completion: factor out _git_xxx calling code

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Nguyễn Thái Ngọc Duy 7 years ago committed by Junio C Hamano
parent
commit
48e1c69ade
  1. 17
      contrib/completion/git-completion.bash

17
contrib/completion/git-completion.bash

@ -3035,6 +3035,17 @@ _git_worktree () @@ -3035,6 +3035,17 @@ _git_worktree ()
fi
}

__git_complete_command () {
local command="$1"
local completion_func="_git_${command//-/_}"
if declare -f $completion_func >/dev/null 2>/dev/null; then
$completion_func
return 0
else
return 1
fi
}

__git_main ()
{
local i c=1 command __git_dir __git_repo_path
@ -3094,14 +3105,12 @@ __git_main () @@ -3094,14 +3105,12 @@ __git_main ()
return
fi

local completion_func="_git_${command//-/_}"
declare -f $completion_func >/dev/null 2>/dev/null && $completion_func && return
__git_complete_command "$command" && return

local expansion=$(__git_aliased_command "$command")
if [ -n "$expansion" ]; then
words[1]=$expansion
completion_func="_git_${expansion//-/_}"
declare -f $completion_func >/dev/null 2>/dev/null && $completion_func
__git_complete_command "$expansion"
fi
}


Loading…
Cancel
Save