summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Unix/Command/_git30
2 files changed, 17 insertions, 18 deletions
diff --git a/ChangeLog b/ChangeLog
index e34cc6136..816598e11 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-10-20 Clint Adams <clint@zsh.org>
+
+ * Mikael Magnusson: 23999: Completion/Unix/Command/_git:
+ improvements for git show, git rev-parse, et al.
+
2007-10-19 Clint Adams <clint@zsh.org>
* 23997: Src/Modules/curses.c: don't delete color pair hash
diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
index 95acdaf33..5f7184824 100644
--- a/Completion/Unix/Command/_git
+++ b/Completion/Unix/Command/_git
@@ -1016,20 +1016,7 @@ _git-show () {
_arguments -S \
$revision_arguments \
- '*:object:->object' && ret=0
-
- case $state in
- (object)
- compset -P '*:'
- if [[ -n $IPREFIX ]]; then
- __git_tree_files ${IPREFIX%:}
- else
- _alternative \
- 'revisions:revision:__git_revisions' \
- 'files:file:__git_files'
- fi
- ;;
- esac
+ '*:object:__git_objects' && ret=0
}
(( $+functions[_git-show-index] )) ||
@@ -2273,7 +2260,7 @@ _git-rev-parse () {
'--short=-[show only handful hexdigits prefix]:: :_guard "[[\:digit\:]]#" number' \
{--after=-,--since=-}'[show "--max-age=" parameter corresponding given date string]:datestring' \
{--berore=-,--until=-}'[show "--min-age=" parameter corresponding given date string]:datestring' \
- '*:args' && ret=0
+ '*:objects:__git_objects' && ret=0
}
(( $+functions[_git-runstatus] )) ||
@@ -2570,12 +2557,19 @@ __git_command_successful () {
(( $+functions[__git_objects] )) ||
__git_objects () {
- __git_guard $* "[[:xdigit:]]#" "object"
+ compset -P '*:'
+ if [[ -n $IPREFIX ]]; then
+ __git_tree_files ${IPREFIX%:}
+ else
+ _alternative \
+ 'revisions:revision:__git_revisions' \
+ 'files:file:__git_files'
+ fi
}
(( $+functions[__git_trees] )) ||
__git_trees () {
- __git_guard $* "[[:xdigit:]]#" "tree"
+ __git_objects
}
(( $+functions[__git_tree_ishs] )) ||
@@ -2585,7 +2579,7 @@ __git_tree_ishs () {
(( $+functions[__git_blobs] )) ||
__git_blobs () {
- __git_guard $* "[[:xdigit:]]#" 'blob id'
+ __git_objects
}
(( $+functions[__git_stages] )) ||