Browse Source

bash completion: refactor common log, shortlog and gitk options

Refactor options that are useful for more than one of them into a
variable used by the relevant completions.  This has the effect of
adding the following options to git-log:

  --branches --tags --remotes --first-parent --dense --sparse
  --simplify-merges --simplify-by-decoration --first-parent
  --no-merges

The following to git-shortlog:

  --branches --tags --remotes --first-parent

And the following to gitk:

  --branches --tags --remotes --first-parent --no-merges --max-count=
  --max-age= --since= --after= --min-age= --until= --before= --dense
  --sparse --full-history --simplify-merges --simplify-by-decoration
  --left-right

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Thomas Rast 16 years ago committed by Junio C Hamano
parent
commit
a393777ec9
  1. 49
      contrib/completion/git-completion.bash

49
contrib/completion/git-completion.bash

@ -975,6 +975,27 @@ _git_ls_tree () @@ -975,6 +975,27 @@ _git_ls_tree ()
__git_complete_file
}

# Options that go well for log, shortlog and gitk
__git_log_common_options="
--not --all
--branches --tags --remotes
--first-parent --no-merges
--max-count=
--max-age= --since= --after=
--min-age= --until= --before=
"
# Options that go well for log and gitk (not shortlog)
__git_log_gitk_options="
--dense --sparse --full-history
--simplify-merges --simplify-by-decoration
--left-right
"
# Options that go well for log and shortlog (not gitk)
__git_log_shortlog_options="
--author= --committer= --grep=
--all-match
"

__git_log_pretty_formats="oneline short medium full fuller email raw format:"

_git_log ()
@ -996,21 +1017,19 @@ _git_log () @@ -996,21 +1017,19 @@ _git_log ()
;;
--*)
__gitcomp "
--max-count= --max-age= --since= --after=
--min-age= --before= --until=
$__git_log_common_options
$__git_log_shortlog_options
$__git_log_gitk_options
--root --topo-order --date-order --reverse
--no-merges --follow
--follow
--abbrev-commit --abbrev=
--relative-date --date=
--author= --committer= --grep=
--all-match
--pretty=
--not --all
--left-right --cherry-pick
--cherry-pick
--graph
--decorate
--walk-reflogs
--parents --children --full-history
--parents --children
--merge
$__git_diff_common_options
--pickaxe-all --pickaxe-regex
@ -1496,12 +1515,8 @@ _git_shortlog () @@ -1496,12 +1515,8 @@ _git_shortlog ()
case "$cur" in
--*)
__gitcomp "
--max-count= --max-age= --since= --after=
--min-age= --before= --until=
--no-merges
--author= --committer= --grep=
--all-match
--not --all
$__git_log_common_options
$__git_log_shortlog_options
--numbered --summary
"
return
@ -1828,7 +1843,11 @@ _gitk () @@ -1828,7 +1843,11 @@ _gitk ()
fi
case "$cur" in
--*)
__gitcomp "--not --all $merge"
__gitcomp "
$__git_log_common_options
$__git_log_gitk_options
$merge
"
return
;;
esac

Loading…
Cancel
Save