completion: improve docs for using __git_complete

It took me more than a few tries and a good lecture of __git_main to understand that the two paragraphs really only refer to adding completion functions for executables that are not called through git's subcommand magic. Improve the docs and be more specific. Signed-off-by: Roland Hieber <rhi@pengutronix.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Roland Hieber committed Apr 25, 2024 at 12:18 UTC d13a2950747214567f1685802da523d009c543d9
1 file changed +10 -3
contrib/completion/git-completion.bash
+10 -3
@@ -31,15 +31,22 @@
31 # Note that "git" is optional --- '!f() { : commit; ...}; f' would complete
32 # just like the 'git commit' command.
33 #
34 -# If you have a command that is not part of git, but you would still
35 -# like completion, you can use __git_complete:
34 +# If you have a shell command that is not part of git (and is not called as a
35 +# git subcommand), but you would still like git-style completion for it, use
36 +# __git_complete. For example, to use the same completion as for 'git log' also
37 +# for the 'gl' command:
38 #
39 # __git_complete gl git_log
40 #
39 -# Or if it's a main command (i.e. git or gitk):
41 +# Or if the 'gk' command should be completed the same as 'gitk':
42 #
43 # __git_complete gk gitk
44 #
45 +# The second parameter of __git_complete gives the completion function; it is
46 +# resolved as a function named "$2", or "__$2_main", or "_$2" in that order.
47 +# In the examples above, the actual functions used for completion will be
48 +# _git_log and __gitk_main.
49 +#
50 # Compatible with bash 3.2.57.
51 #
52 # You can set the following environment variables to influence the behavior of