]> git.ipfire.org Git - thirdparty/git.git/commitdiff
completion: commit: complete configured trailer tokens
authorPhilippe Blain <levraiphilippeblain@gmail.com>
Thu, 7 Sep 2023 17:42:31 +0000 (17:42 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 7 Sep 2023 19:37:07 +0000 (12:37 -0700)
Since 2daae3d1d1 (commit: add --trailer option, 2021-03-23), 'git
commit' can add trailers to commit messages. To make that feature more
pleasant to use at the command line, update the Bash completion code to
offer configured trailer tokens.

Add a __git_trailer_tokens function to list the configured trailers
tokens, and use it in _git_commit to suggest the configured tokens,
suffixing the completion words with ':' so that the user only has to add
the trailer value.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-completion.bash

index 133ec92bfae72186721b4a51c50922f6d542be80..b5eb75aadc525286cce5b74557df569e55a3d2f4 100644 (file)
@@ -1677,6 +1677,11 @@ _git_clone ()
 
 __git_untracked_file_modes="all no normal"
 
+__git_trailer_tokens ()
+{
+       git config --name-only --get-regexp trailer.\*.key | awk -F. '{print $2}'
+}
+
 _git_commit ()
 {
        case "$prev" in
@@ -1701,6 +1706,10 @@ _git_commit ()
                __gitcomp "$__git_untracked_file_modes" "" "${cur##--untracked-files=}"
                return
                ;;
+       --trailer=*)
+               __gitcomp_nl "$(__git_trailer_tokens)" "" "${cur##--trailer=}" ":"
+               return
+               ;;
        --*)
                __gitcomp_builtin commit
                return