diff mbox series

[v2,2/2] completion: add docs on how to add subcommand completions

Message ID 20240424215019.268208-2-rhi@pengutronix.de (mailing list archive)
State Superseded
Headers show
Series [v2,1/2] completion: add 'symbolic-ref' | expand

Commit Message

Roland Hieber April 24, 2024, 9:50 p.m. UTC
It took me more than a few tries and a good lecture of __git_main to
understand that the two paragraphs above really only refer to adding
completion functions for executables that are not called through git's
subcommand magic. Add a few sentences for that case.

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
PATCH v2:
 - fix typo and superfluous "-my"

PATCH v1: https://lore.kernel.org/git/20240424210549.256256-2-rhi@pengutronix.de/
---
 contrib/completion/git-completion.bash | 7 +++++++
 1 file changed, 7 insertions(+)
diff mbox series

Patch

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index ffcc55484bcd..603181d53a90 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -40,6 +40,13 @@ 
 #
 #   __git_complete gk gitk
 #
+# To add completion for git subcommands that live in external scripts,
+# define a function of the form '_git_${subcommand}' while replacing all dashes
+# with underscores, and the main git completion will make use of it.
+# For example, to add completion after 'git do-stuff' (which could e.g. live
+# in /usr/bin/git-do-stuff), name the completion function '_git_do_stuff'.
+# See _git_show, _git_bisect etc. below for more examples.
+#
 # Compatible with bash 3.2.57.
 #
 # You can set the following environment variables to influence the behavior of