]> git.ipfire.org Git - thirdparty/git.git/commitdiff
completion: use "prev" variable instead of introducing "prevword"
authorÁkos Uzonyi <uzonyi.akos@gmail.com>
Fri, 25 Sep 2020 21:11:23 +0000 (23:11 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sat, 26 Sep 2020 22:30:03 +0000 (15:30 -0700)
In both _git_checkout and _git_switch a new "prevword" variable were
introduced, however the "prev" variable already contains the last word.

The "prevword" variable is replaced with "prev", and the case is moved
to the beginning of the function, like it's done in many other places
(e.g. _git_commit). Also the indentaion of the case is fixed.

Signed-off-by: Ákos Uzonyi <uzonyi.akos@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-completion.bash

index 8be4a0316e603f759580960144a163aa80d9332b..3d02bd4de7ee303724a97d1a71113bba4f13f4aa 100644 (file)
@@ -1508,6 +1508,22 @@ _git_checkout ()
 {
        __git_has_doubledash && return
 
+       local dwim_opt="$(__git_checkout_default_dwim_mode)"
+
+       case "$prev" in
+       -b|-B|--orphan)
+               # Complete local branches (and DWIM branch
+               # remote branch names) for an option argument
+               # specifying a new branch name. This is for
+               # convenience, assuming new branches are
+               # possibly based on pre-existing branch names.
+               __git_complete_refs $dwim_opt --mode="heads"
+               return
+               ;;
+       *)
+               ;;
+       esac
+
        case "$cur" in
        --conflict=*)
                __gitcomp "diff3 merge" "" "${cur##--conflict=}"
@@ -1516,23 +1532,6 @@ _git_checkout ()
                __gitcomp_builtin checkout
                ;;
        *)
-               local dwim_opt="$(__git_checkout_default_dwim_mode)"
-               local prevword prevword="${words[cword-1]}"
-
-               case "$prevword" in
-                       -b|-B|--orphan)
-                               # Complete local branches (and DWIM branch
-                               # remote branch names) for an option argument
-                               # specifying a new branch name. This is for
-                               # convenience, assuming new branches are
-                               # possibly based on pre-existing branch names.
-                               __git_complete_refs $dwim_opt --mode="heads"
-                               return
-                               ;;
-                       *)
-                               ;;
-               esac
-
                # At this point, we've already handled special completion for
                # the arguments to -b/-B, and --orphan. There are 3 main
                # things left we can possibly complete:
@@ -2392,6 +2391,22 @@ _git_status ()
 
 _git_switch ()
 {
+       local dwim_opt="$(__git_checkout_default_dwim_mode)"
+
+       case "$prev" in
+       -c|-C|--orphan)
+               # Complete local branches (and DWIM branch
+               # remote branch names) for an option argument
+               # specifying a new branch name. This is for
+               # convenience, assuming new branches are
+               # possibly based on pre-existing branch names.
+               __git_complete_refs $dwim_opt --mode="heads"
+               return
+               ;;
+       *)
+               ;;
+       esac
+
        case "$cur" in
        --conflict=*)
                __gitcomp "diff3 merge" "" "${cur##--conflict=}"
@@ -2400,23 +2415,6 @@ _git_switch ()
                __gitcomp_builtin switch
                ;;
        *)
-               local dwim_opt="$(__git_checkout_default_dwim_mode)"
-               local prevword prevword="${words[cword-1]}"
-
-               case "$prevword" in
-                       -c|-C|--orphan)
-                               # Complete local branches (and DWIM branch
-                               # remote branch names) for an option argument
-                               # specifying a new branch name. This is for
-                               # convenience, assuming new branches are
-                               # possibly based on pre-existing branch names.
-                               __git_complete_refs $dwim_opt --mode="heads"
-                               return
-                               ;;
-                       *)
-                               ;;
-               esac
-
                # Unlike in git checkout, git switch --orphan does not take
                # a start point. Thus we really have nothing to complete after
                # the branch name.