[PATCH v2 4/6] completion: simplify completing 'git worktree' subcommands and options
From: SZEDER Gábor <hidden>
Date: 2019-12-19 15:09:44
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: SZEDER Gábor <hidden>
Date: 2019-12-19 15:09:44
Subsystem:
the rest · Maintainer:
Linus Torvalds
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 <redacted> --- contrib/completion/git-completion.bash | 30 +++++++------------------- 1 file changed, 8 insertions(+), 22 deletions(-)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 55a2d3e174..643272eb2f 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash@@ -2985,29 +2985,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 () {
--
2.24.1.982.ga4d4aba446