]> git.ipfire.org Git - thirdparty/git.git/commitdiff
completion: clean up the __git_find_on_cmdline() helper function
authorSZEDER Gábor <szeder.dev@gmail.com>
Thu, 19 Dec 2019 15:09:17 +0000 (16:09 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 15 Jan 2020 22:06:12 +0000 (14:06 -0800)
The __git_find_on_cmdline() helper function started its life as
__git_find_subcommand() [1], but it served a more general purpose than
looking for subcommands, so later it was renamed accordingly [2].
However, that rename didn't touch the body of the function, and left
the $subcommand local variable behind, still reminiscent of the
function's original purpose.

Let's clean up the names of __git_find_on_cmdline()'s local variables
and get rid of that $subcommand variable name.

While at it, add a short comment describing the function's purpose.

[1] 3ff1320d4b (bash: refactor searching for subcommands on the
    command line, 2008-03-10),
[2] 918c03c2a7 (bash: rename __git_find_subcommand() to
    __git_find_on_cmdline(), 2009-09-15)

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-completion.bash

index 67705da6416b82a6a6170c849dd714229e90df33..84ce84d65cb2f254ce4977314acbab7bb0ebb7a0 100644 (file)
@@ -1070,14 +1070,17 @@ __git_aliased_command ()
 }
 
 # __git_find_on_cmdline requires 1 argument
+# Check whether one of the given words is present on the command line,
+# and print the first word found.
 __git_find_on_cmdline ()
 {
-       local word subcommand c=1
+       local word c=1
+       local wordlist="$1"
+
        while [ $c -lt $cword ]; do
-               word="${words[c]}"
-               for subcommand in $1; do
-                       if [ "$subcommand" = "$word" ]; then
-                               echo "$subcommand"
+               for word in $wordlist; do
+                       if [ "$word" = "${words[c]}" ]; then
+                               echo "$word"
                                return
                        fi
                done