diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-08-27 14:04:49 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-08-27 14:04:49 -0700 |
commit | bd3ae9fb7d688e85cc5bbb9a8ed76e1d2813ed62 (patch) | |
tree | 600afb71230299145deb02d914664767cd907be4 /contrib | |
parent | 0d9a8e33f9fd07efa10072576df01a9cae5d89e6 (diff) | |
parent | c099f579b9876447cea36ebd1040507fedd3292a (diff) | |
download | git-bd3ae9fb7d688e85cc5bbb9a8ed76e1d2813ed62.tar.gz |
Merge branch 'rz/complete-more-options'
Command line completion (in contrib/) usually omits redundant,
deprecated and/or dangerous options from its output; it learned to
optionally include all of them.
* rz/complete-more-options:
completion: add GIT_COMPLETION_SHOW_ALL env var
parse-options: add --git-completion-helper-all
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/completion/git-completion.bash | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 700d44af5b..9147fba3d5 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -39,6 +39,11 @@ # When set to "1", do not include "DWIM" suggestions in git-checkout # and git-switch completion (e.g., completing "foo" when "origin/foo" # exists). +# +# GIT_COMPLETION_SHOW_ALL +# +# When set to "1" suggest all options, including options which are +# typically hidden (e.g. '--allow-empty' for 'git commit'). case "$COMP_WORDBREAKS" in *:*) : great ;; @@ -411,10 +416,17 @@ __gitcomp_builtin () local options eval "options=\${$var-}" + local completion_helper + if [ "$GIT_COMPLETION_SHOW_ALL" = "1" ]; then + completion_helper="--git-completion-helper-all" + else + completion_helper="--git-completion-helper" + fi + if [ -z "$options" ]; then # leading and trailing spaces are significant to make # option removal work correctly. - options=" $incl $(__git ${cmd/_/ } --git-completion-helper) " || return + options=" $incl $(__git ${cmd/_/ } $completion_helper) " || return for i in $excl; do options="${options/ $i / }" |