No problem! Let me know if I've done something wrong with this patch, I'm new to git's contributor process. completion: add missing completions for log, diff, show * Add bash completion for the missing --no-* options on git log * Add bash completion for --textconv and --indent-heuristic families to git diff and all commands that use diff's options * Add bash completion for --no-abbrev-commit, --expand-tabs, and --no-expand-tabs to git show --- contrib/completion/git-completion.bash | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 0e16f017a4144..252a6c8c0c80c 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -1412,6 +1412,8 @@ __git_diff_common_options="--stat --numstat --shortstat --summary --dirstat-by-file= --cumulative --diff-algorithm= --submodule --submodule= + --indent-heuristic --no-indent-heuristic + --textconv --no-textconv " _git_diff () @@ -1752,6 +1754,10 @@ _git_log () __gitcomp "$__git_diff_submodule_formats" "" "${cur##--submodule=}" return ;; + --no-walk=*) + __gitcomp "sorted unsorted" "" "${cur##--no-walk=}" + return + ;; --*) __gitcomp " $__git_log_common_options @@ -1759,16 +1765,19 @@ _git_log () $__git_log_gitk_options --root --topo-order --date-order --reverse --follow --full-diff - --abbrev-commit --abbrev= + --abbrev-commit --no-abbrev-commit --abbrev= --relative-date --date= --pretty= --format= --oneline --show-signature --cherry-mark --cherry-pick --graph - --decorate --decorate= + --decorate --decorate= --no-decorate --walk-reflogs + --no-walk --no-walk= --do-walk --parents --children + --expand-tabs --expand-tabs= --no-expand-tabs + --patch $merge $__git_diff_common_options --pickaxe-all --pickaxe-regex @@ -2816,8 +2825,9 @@ _git_show () return ;; --*) - __gitcomp "--pretty= --format= --abbrev-commit --oneline - --show-signature + __gitcomp "--pretty= --format= --abbrev-commit --no-abbrev-commit + --oneline --show-signature --patch + --expand-tabs --expand-tabs= --no-expand-tabs $__git_diff_common_options " return On Tue, Oct 24, 2017 at 11:32 AM, Stefan Beller <sbeller@xxxxxxxxxx> wrote: > On Tue, Oct 24, 2017 at 8:15 AM, Max Rothman <max.r.rothman@xxxxxxxxx> wrote: >> Just re-discovered this in my inbox. So is this worth fixing? I could >> (probably) figure out a patch. >> >> Thanks, >> Max >> > > $ git log -- <TAB> > Display all 100 possibilities? (y or n) > > I guess adding one more option is no big deal, so go for it! > We also have a couple --no-options already (as you said earlier), > which I think makes it even more viable. > > Tangent: > I wonder if we can cascade the completion by common > prefixes, e.g. --no- or --ignore- occurs a couple of times, > such that we could only show these --no- once and only > if you try autocompleting thereafter you get all --no- options. > > Thanks for reviving this thread! > Stefan