]> git.ipfire.org Git - thirdparty/git.git/commitdiff
completion: simplify completing 'git worktree' subcommands and options
authorSZEDER Gábor <szeder.dev@gmail.com>
Thu, 19 Dec 2019 15:09:19 +0000 (16:09 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 15 Jan 2020 22:06:13 +0000 (14:06 -0800)
The completion function for 'git worktree' uses separate but very
similar case arms to complete --options for each subcommand.

Combine these into a single case arm to avoid repetition.

Note that after this change we won't complete 'git worktree remove's
'--force' option, but that is consistent with our general stance on
not offering '--force', as it should be used with care.

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 340d8defce2e3176188afa3c8360c8dc7234c33e..d06715996d5236e34ad7013325365d90057cd1e9 100644 (file)
@@ -2990,29 +2990,15 @@ _git_worktree ()
 {
        local subcommands="add list lock move prune remove unlock"
        local subcommand="$(__git_find_on_cmdline "$subcommands")"
-       if [ -z "$subcommand" ]; then
+
+       case "$subcommand,$cur" in
+       ,*)
                __gitcomp "$subcommands"
-       else
-               case "$subcommand,$cur" in
-               add,--*)
-                       __gitcomp_builtin worktree_add
-                       ;;
-               list,--*)
-                       __gitcomp_builtin worktree_list
-                       ;;
-               lock,--*)
-                       __gitcomp_builtin worktree_lock
-                       ;;
-               prune,--*)
-                       __gitcomp_builtin worktree_prune
-                       ;;
-               remove,--*)
-                       __gitcomp "--force"
-                       ;;
-               *)
-                       ;;
-               esac
-       fi
+               ;;
+       *,--*)
+               __gitcomp_builtin worktree_$subcommand
+               ;;
+       esac
 }
 
 __git_complete_common () {