summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hahler <git@thequod.de>2015-05-13 15:24:28 +0200
committerDaniel Hahler <git@thequod.de>2015-05-18 02:48:03 +0200
commit454f079852deb0c704870c7d5a462485f1e65bbf (patch)
tree562f4f1d278b5fd5e9badff1100b3c1f0ad02b30
parent1d5b2254988ceeca2a2a04db2e77733f265afbd2 (diff)
downloadzsh-454f079852deb0c704870c7d5a462485f1e65bbf.tar.gz
zsh-454f079852deb0c704870c7d5a462485f1e65bbf.zip
35101: completion: git: add __git_commit_objects_prefer_recent
This is used with __git_commits then, and is meant to only call __git_recent_commits, if there are matches.
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Unix/Command/_git7
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f96c27d2e..685575c05 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,11 @@
Handle " -> master, origin/master" in decorated git-log output, and
add it as separate entries.
+ * 35101: Completion/Unix/Command/_git: add
+ __git_commit_objects_prefer_recent. This is used with __git_commits
+ then, and is meant to only call __git_recent_commits, if there are
+ matches.
+
2015-05-16 Daniel Shahaf <d.s@daniel.shahaf.name>
* 35161: Completion/Unix/Command/_git: completion: git: Fix
diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
index 92835387d..d64e777e8 100644
--- a/Completion/Unix/Command/_git
+++ b/Completion/Unix/Command/_git
@@ -5600,6 +5600,11 @@ __git_remote_branch_names_noprefix () {
_wanted remote-branch-names-noprefix expl 'remote branch name' compadd "$@" -a - branch_names
}
+(( $+functions[__git_commit_objects_prefer_recent] )) ||
+__git_commit_objects_prefer_recent () {
+ __git_recent_commits || __git_commit_objects
+}
+
(( $+functions[__git_commits] )) ||
__git_commits () {
# TODO: deal with things that __git_heads and __git_tags has in common (i.e.,
@@ -5610,7 +5615,7 @@ __git_commits () {
_alternative \
"heads::__git_heads $sopts" \
"commit-tags::__git_commit_tags $sopts" \
- 'commit-objects::__git_commit_objects'
+ 'commit-objects::__git_commit_objects_prefer_recent'
}
(( $+functions[__git_heads] )) ||