completion: add 'symbolic-ref'
Even 'symbolic-ref' is only completed when GIT_COMPLETION_SHOW_ALL_COMMANDS=1 is set, it currently defaults to completing file names, which is not very helpful. Add a simple completion function which completes options and refs. Signed-off-by: Roland Hieber <rhi@pengutronix.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
3c2a3fdc38
commit
cb85fdf4a4
@ -3523,6 +3523,17 @@ _git_svn ()
|
||||
fi
|
||||
}
|
||||
|
||||
_git_symbolic_ref () {
|
||||
case "$cur" in
|
||||
--*)
|
||||
__gitcomp_builtin symbolic-ref
|
||||
return
|
||||
;;
|
||||
esac
|
||||
|
||||
__git_complete_refs
|
||||
}
|
||||
|
||||
_git_tag ()
|
||||
{
|
||||
local i c="$__git_cmd_idx" f=0
|
||||
|
@ -2495,6 +2495,29 @@ test_expect_success 'complete tree filename with metacharacters' '
|
||||
EOF
|
||||
'
|
||||
|
||||
test_expect_success 'symbolic-ref completes builtin options' '
|
||||
test_completion "git symbolic-ref --d" <<-\EOF
|
||||
--delete Z
|
||||
EOF
|
||||
'
|
||||
|
||||
test_expect_success 'symbolic-ref completes short ref names' '
|
||||
test_completion "git symbolic-ref foo m" <<-\EOF
|
||||
main Z
|
||||
mybranch Z
|
||||
mytag Z
|
||||
EOF
|
||||
'
|
||||
|
||||
test_expect_success 'symbolic-ref completes full ref names' '
|
||||
test_completion "git symbolic-ref foo refs/" <<-\EOF
|
||||
refs/heads/main Z
|
||||
refs/heads/mybranch Z
|
||||
refs/tags/mytag Z
|
||||
refs/tags/A Z
|
||||
EOF
|
||||
'
|
||||
|
||||
test_expect_success PERL 'send-email' '
|
||||
test_completion "git send-email --cov" <<-\EOF &&
|
||||
--cover-from-description=Z
|
||||
|
Reference in New Issue
Block a user