]> git.ipfire.org Git - thirdparty/git.git/commitdiff
contrib/completion: extract common diff/difftool options
authorDenton Liu <liu.denton@gmail.com>
Thu, 17 Sep 2020 07:44:08 +0000 (00:44 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 17 Sep 2020 16:38:47 +0000 (09:38 -0700)
difftool parses its own options and then passes the remaining options
onto diff. As a result, they share common command-line options. Instead
of duplicating the list, use a shared $__git_diff_difftool_options list.

The completion for diff is missing --relative and the completion for
difftool is missing --no-index. Add both of these to the common list.

Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-completion.bash

index 9147fba3d5c34e617f94129b02459d4579595da8..f68c8e06464624d0bc9d8a5b97cade346e3e3098 100644 (file)
@@ -1691,6 +1691,10 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
                        --textconv --no-textconv
 "
 
+__git_diff_difftool_options="--cached --staged --pickaxe-all --pickaxe-regex
+                       --base --ours --theirs --no-index --relative
+                       $__git_diff_common_options"
+
 _git_diff ()
 {
        __git_has_doubledash && return
@@ -1713,10 +1717,7 @@ _git_diff ()
                return
                ;;
        --*)
-               __gitcomp "--cached --staged --pickaxe-all --pickaxe-regex
-                       --base --ours --theirs --no-index
-                       $__git_diff_common_options
-                       "
+               __gitcomp "$__git_diff_difftool_options"
                return
                ;;
        esac
@@ -1738,11 +1739,7 @@ _git_difftool ()
                return
                ;;
        --*)
-               __gitcomp_builtin difftool "$__git_diff_common_options
-                                       --base --cached --ours --theirs
-                                       --pickaxe-all --pickaxe-regex
-                                       --relative --staged
-                                       "
+               __gitcomp_builtin difftool "$__git_diff_difftool_options"
                return
                ;;
        esac