summary refs log tree commit diff
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2015-10-25 18:35:20 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2015-10-25 18:47:35 +0000
commitb4f7482e44ec59bfe99c8d0f23503570eda0ca1b (patch)
tree520ab42a430e0885d118c7ebc19c745eb5b26fe3
parentf890d442e22fccb94997c400710a88f8415388cf (diff)
downloadzsh-b4f7482e44ec59bfe99c8d0f23503570eda0ca1b.tar.gz
zsh-b4f7482e44ec59bfe99c8d0f23503570eda0ca1b.tar.xz
zsh-b4f7482e44ec59bfe99c8d0f23503570eda0ca1b.zip
36960: _git: Enable slash matcher for more branch and tag completions, include 'git branch <TAB>' and 'git tag <TAB>'.
-rw-r--r--ChangeLog4
-rw-r--r--Completion/Unix/Command/_git6
2 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 67129de6e..c77e0a525 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2015-10-25  Daniel Shahaf  <d.s@daniel.shahaf.name>
 
+	* 36960: Completion/Unix/Command/_git: _git: Enable slash matcher
+	for more branch and tag completions, include 'git branch <TAB>'
+	and 'git tag <TAB>'.
+
 	* 36959: Completion/Unix/Command/_git: _git: Offer @~$n as
 	completion of recent commits.
 
diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
index 740aec4cd..e5005f1c3 100644
--- a/Completion/Unix/Command/_git
+++ b/Completion/Unix/Command/_git
@@ -5540,7 +5540,7 @@ __git_branch_names () {
   branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/heads 2>/dev/null)"}#refs/heads/})
   __git_command_successful $pipestatus || return 1
 
-  _wanted branch-names expl branch-name compadd "$@" -a - branch_names
+  _wanted branch-names expl branch-name compadd -M 'r:|/=**' "$@" -a - branch_names
 }
 
 (( $+functions[__git_remote_branch_names] )) ||
@@ -5848,7 +5848,7 @@ __git_tags () {
   tags=(${${(f)"$(_call_program tagrefs git for-each-ref --format='"%(refname)"' refs/tags 2>/dev/null)"}#refs/tags/})
   __git_command_successful $pipestatus || return 1
 
-  _wanted tags expl tag compadd "$@" -a - tags
+  _wanted tags expl tag compadd -M 'r:|/=**' "$@" -a - tags
 }
 
 (( $+functions[__git_commit_tags] )) ||
@@ -5871,7 +5871,7 @@ __git_tags_of_type () {
   tags=(${${(M)${(f)"$(_call_program $type-tag-refs "git for-each-ref --format='%(*objecttype)%(objecttype) %(refname)' refs/tags 2>/dev/null")"}:#$type(tag|) *}#$type(tag|) refs/tags/})
   __git_command_successful $pipestatus || return 1
 
-  _wanted $type-tags expl "$type tag" compadd "$@" -a - tags
+  _wanted $type-tags expl "$type tag" compadd -M 'r:|/=**' "$@" -a - tags
 }
 
 # Reference Argument Types