mirror of
https://github.com/git/git
synced 2024-10-03 23:29:36 +00:00
Merge branch 'jc/alias-completion'
The command line completion script (in contrib/) can be told to complete aliases by including ": git <cmd> ;" in the alias to tell it that the alias should be completed similar to how "git <cmd>" is completed. The parsing code for the alias as been loosened to allow ';' without an extra space before it. * jc/alias-completion: completion: loosen and document the requirement around completing alias
This commit is contained in:
commit
d15f92e379
|
@ -28,7 +28,8 @@
|
|||
# completion style. For example '!f() { : git commit ; ... }; f' will
|
||||
# tell the completion to use commit completion. This also works with aliases
|
||||
# of form "!sh -c '...'". For example, "!sh -c ': git commit ; ... '".
|
||||
# Be sure to add a space between the command name and the ';'.
|
||||
# Note that "git" is optional --- '!f() { : commit; ...}; f' would complete
|
||||
# just like the 'git commit' command.
|
||||
#
|
||||
# If you have a command that is not part of git, but you would still
|
||||
# like completion, you can use __git_complete:
|
||||
|
@ -1183,7 +1184,7 @@ __git_aliased_command ()
|
|||
:) : skip null command ;;
|
||||
\'*) : skip opening quote after sh -c ;;
|
||||
*)
|
||||
cur="$word"
|
||||
cur="${word%;}"
|
||||
break
|
||||
esac
|
||||
done
|
||||
|
|
|
@ -2464,6 +2464,24 @@ test_expect_success 'completion used <cmd> completion for alias: !f() { : git <c
|
|||
EOF
|
||||
'
|
||||
|
||||
test_expect_success 'completion used <cmd> completion for alias: !f() { : <cmd> ; ... }' '
|
||||
test_config alias.co "!f() { : checkout ; if ... } f" &&
|
||||
test_completion "git co m" <<-\EOF
|
||||
main Z
|
||||
mybranch Z
|
||||
mytag Z
|
||||
EOF
|
||||
'
|
||||
|
||||
test_expect_success 'completion used <cmd> completion for alias: !f() { : <cmd>; ... }' '
|
||||
test_config alias.co "!f() { : checkout; if ... } f" &&
|
||||
test_completion "git co m" <<-\EOF
|
||||
main Z
|
||||
mybranch Z
|
||||
mytag Z
|
||||
EOF
|
||||
'
|
||||
|
||||
test_expect_success 'completion without explicit _git_xxx function' '
|
||||
test_completion "git version --" <<-\EOF
|
||||
--build-options Z
|
||||
|
|
Loading…
Reference in a new issue