bash completion: refactor --strategy completion
The code to complete --strategy was duplicated between _git_rebase and _git_merge, and is about to gain a third caller (_git_pull). This patch factors it into its own function. Signed-off-by: Jay Soffian <jaysoffian@gmail.com> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
52d5c3b5b2
commit
3c7b480a1c
@ -444,6 +444,23 @@ __git_complete_remote_or_refspec ()
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__git_complete_strategy ()
|
||||||
|
{
|
||||||
|
case "${COMP_WORDS[COMP_CWORD-1]}" in
|
||||||
|
-s|--strategy)
|
||||||
|
__gitcomp "$(__git_merge_strategies)"
|
||||||
|
return 0
|
||||||
|
esac
|
||||||
|
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
case "$cur" in
|
||||||
|
--strategy=*)
|
||||||
|
__gitcomp "$(__git_merge_strategies)" "" "${cur##--strategy=}"
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
__git_all_commands ()
|
__git_all_commands ()
|
||||||
{
|
{
|
||||||
if [ -n "${__git_all_commandlist-}" ]; then
|
if [ -n "${__git_all_commandlist-}" ]; then
|
||||||
@ -1095,17 +1112,10 @@ _git_log ()
|
|||||||
|
|
||||||
_git_merge ()
|
_git_merge ()
|
||||||
{
|
{
|
||||||
|
__git_complete_strategy && return
|
||||||
|
|
||||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||||
case "${COMP_WORDS[COMP_CWORD-1]}" in
|
|
||||||
-s|--strategy)
|
|
||||||
__gitcomp "$(__git_merge_strategies)"
|
|
||||||
return
|
|
||||||
esac
|
|
||||||
case "$cur" in
|
case "$cur" in
|
||||||
--strategy=*)
|
|
||||||
__gitcomp "$(__git_merge_strategies)" "" "${cur##--strategy=}"
|
|
||||||
return
|
|
||||||
;;
|
|
||||||
--*)
|
--*)
|
||||||
__gitcomp "
|
__gitcomp "
|
||||||
--no-commit --no-stat --log --no-log --squash --strategy
|
--no-commit --no-stat --log --no-log --squash --strategy
|
||||||
@ -1174,16 +1184,8 @@ _git_rebase ()
|
|||||||
__gitcomp "--continue --skip --abort"
|
__gitcomp "--continue --skip --abort"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
case "${COMP_WORDS[COMP_CWORD-1]}" in
|
__git_complete_strategy && return
|
||||||
-s|--strategy)
|
|
||||||
__gitcomp "$(__git_merge_strategies)"
|
|
||||||
return
|
|
||||||
esac
|
|
||||||
case "$cur" in
|
case "$cur" in
|
||||||
--strategy=*)
|
|
||||||
__gitcomp "$(__git_merge_strategies)" "" "${cur##--strategy=}"
|
|
||||||
return
|
|
||||||
;;
|
|
||||||
--*)
|
--*)
|
||||||
__gitcomp "--onto --merge --strategy --interactive"
|
__gitcomp "--onto --merge --strategy --interactive"
|
||||||
return
|
return
|
||||||
|
Reference in New Issue
Block a user