git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] completion: commit: complete configured trailer tokens
@ 2023-09-07 17:42 Philippe Blain via GitGitGadget
  2023-09-07 20:20 ` Junio C Hamano
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-09-07 17:42 UTC (permalink / raw)
  To: git; +Cc: ZheNing Hu, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

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>
---
    completion: commit: complete configured trailer tokens
    
    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.

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1583%2Fphil-blain%2Fcompletion-commit-trailers-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1583/phil-blain/completion-commit-trailers-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1583

 contrib/completion/git-completion.bash | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 133ec92bfae..b5eb75aadc5 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -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

base-commit: 1fc548b2d6a3596f3e1c1f8b1930d8dbd1e30bf3
-- 
gitgitgadget

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-09-16 13:31 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-07 17:42 [PATCH] completion: commit: complete configured trailer tokens Philippe Blain via GitGitGadget
2023-09-07 20:20 ` Junio C Hamano
2023-09-11 10:20 ` Martin Ågren
2023-09-12 12:02   ` Philippe Blain
2023-09-12 17:30 ` [PATCH v2 0/2] " Philippe Blain via GitGitGadget
2023-09-12 17:30   ` [PATCH v2 1/2] " Philippe Blain via GitGitGadget
2023-09-12 17:30   ` [PATCH v2 2/2] completion: commit: complete trailers tokens more robustly Philippe Blain via GitGitGadget
2023-09-13  0:34     ` Junio C Hamano
2023-09-16 13:30 ` [PATCH] completion: commit: complete configured trailer tokens ZheNing Hu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).