Browse Source

completion: recognize more long-options

Command completion only recognizes a subset of the available options for
the various git commands. The set of recognized options needs to balance
between having all useful options and to not clutter the terminal.

This commit adds all long-options that are mentioned in the man-page
synopsis of the respective git command. Possibly dangerous options are
not included in this set, to avoid accidental data loss. The added
options are:

 - apply: --recount --directory=
 - archive: --output
 - branch: --column --no-column --sort= --points-at
 - clone: --no-single-branch --shallow-submodules
 - commit: --patch --short --date --allow-empty
 - describe: --first-parent
 - fetch, pull: --unshallow --update-shallow
 - fsck: --name-objects
 - grep: --break --heading --show-function --function-context
         --untracked --no-index
 - mergetool: --prompt --no-prompt
 - reset: --keep
 - revert: --strategy= --strategy-option=
 - shortlog: --email
 - tag: --merged --no-merged --create-reflog

Signed-off-by: Cornelius Weig <cornelius.weig@tngtech.com>
Helped-by: Johannes Sixt <j6t@kdbg.org>
Reviewed-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Cornelius Weig 8 years ago committed by Junio C Hamano
parent
commit
f483a0aa2a
  1. 29
      contrib/completion/git-completion.bash

29
contrib/completion/git-completion.bash

@ -936,6 +936,7 @@ _git_apply () @@ -936,6 +936,7 @@ _git_apply ()
--apply --no-add --exclude=
--ignore-whitespace --ignore-space-change
--whitespace= --inaccurate-eof --verbose
--recount --directory=
"
return
esac
@ -974,7 +975,7 @@ _git_archive () @@ -974,7 +975,7 @@ _git_archive ()
--*)
__gitcomp "
--format= --list --verbose
--prefix= --remote= --exec=
--prefix= --remote= --exec= --output
"
return
;;
@ -1029,6 +1030,7 @@ _git_branch () @@ -1029,6 +1030,7 @@ _git_branch ()
--track --no-track --contains --merged --no-merged
--set-upstream-to= --edit-description --list
--unset-upstream --delete --move --remotes
--column --no-column --sort= --points-at
"
;;
*)
@ -1142,6 +1144,8 @@ _git_clone () @@ -1142,6 +1144,8 @@ _git_clone ()
--single-branch
--branch
--recurse-submodules
--no-single-branch
--shallow-submodules
"
return
;;
@ -1183,6 +1187,7 @@ _git_commit () @@ -1183,6 +1187,7 @@ _git_commit ()
--reset-author --file= --message= --template=
--cleanup= --untracked-files --untracked-files=
--verbose --quiet --fixup= --squash=
--patch --short --date --allow-empty
"
return
esac
@ -1201,7 +1206,7 @@ _git_describe () @@ -1201,7 +1206,7 @@ _git_describe ()
--*)
__gitcomp "
--all --tags --contains --abbrev= --candidates=
--exact-match --debug --long --match --always
--exact-match --debug --long --match --always --first-parent
"
return
esac
@ -1284,6 +1289,7 @@ __git_fetch_recurse_submodules="yes on-demand no" @@ -1284,6 +1289,7 @@ __git_fetch_recurse_submodules="yes on-demand no"
__git_fetch_options="
--quiet --verbose --append --upload-pack --force --keep --depth=
--tags --no-tags --all --prune --dry-run --recurse-submodules=
--unshallow --update-shallow
"

_git_fetch ()
@ -1333,7 +1339,7 @@ _git_fsck () @@ -1333,7 +1339,7 @@ _git_fsck ()
--*)
__gitcomp "
--tags --root --unreachable --cache --no-reflogs --full
--strict --verbose --lost-found
--strict --verbose --lost-found --name-objects
"
return
;;
@ -1377,6 +1383,8 @@ _git_grep () @@ -1377,6 +1383,8 @@ _git_grep ()
--max-depth
--count
--and --or --not --all-match
--break --heading --show-function --function-context
--untracked --no-index
"
return
;;
@ -1576,7 +1584,7 @@ _git_mergetool () @@ -1576,7 +1584,7 @@ _git_mergetool ()
return
;;
--*)
__gitcomp "--tool="
__gitcomp "--tool= --prompt --no-prompt"
return
;;
esac
@ -2465,7 +2473,7 @@ _git_reset () @@ -2465,7 +2473,7 @@ _git_reset ()

case "$cur" in
--*)
__gitcomp "--merge --mixed --hard --soft --patch"
__gitcomp "--merge --mixed --hard --soft --patch --keep"
return
;;
esac
@ -2481,7 +2489,10 @@ _git_revert () @@ -2481,7 +2489,10 @@ _git_revert ()
fi
case "$cur" in
--*)
__gitcomp "--edit --mainline --no-edit --no-commit --signoff"
__gitcomp "
--edit --mainline --no-edit --no-commit --signoff
--strategy= --strategy-option=
"
return
;;
esac
@ -2509,7 +2520,7 @@ _git_shortlog () @@ -2509,7 +2520,7 @@ _git_shortlog ()
__gitcomp "
$__git_log_common_options
$__git_log_shortlog_options
--numbered --summary
--numbered --summary --email
"
return
;;
@ -2787,8 +2798,8 @@ _git_tag () @@ -2787,8 +2798,8 @@ _git_tag ()
--*)
__gitcomp "
--list --delete --verify --annotate --message --file
--sign --cleanup --local-user --force --column --sort
--contains --points-at
--sign --cleanup --local-user --force --column --sort=
--contains --points-at --merged --no-merged --create-reflog
"
;;
esac

Loading…
Cancel
Save