about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Unix/Command/_quilt22
2 files changed, 26 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ec3c76a49..c8a04d791 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-02-11  Clint Adams  <clint@zsh.org>
+
+	* 22234: Completion/Unix/Command/_quilt: Adeodato Simó's
+	quilt completion improvements.
+
 2006-02-09  Wayne Davison  <wayned@users.sourceforge.net>
 
 	* 22206: Src/Zle/zle.h, Src/Zle/zle_misc.c: fixed broken
diff --git a/Completion/Unix/Command/_quilt b/Completion/Unix/Command/_quilt
index 8c34c49b1..a2fd799a6 100644
--- a/Completion/Unix/Command/_quilt
+++ b/Completion/Unix/Command/_quilt
@@ -7,4 +7,24 @@ _arguments \
   ':quilt command:(add files import previous setup annotate fold mail push
     snapshot applied fork new refresh top delete graph next remove unapplied
     diff grep patches rename upgrade edit header pop series)' \
-  '*::file:_files'
+  '*::subcmd:->subcmd' && return 0
+
+case "$state" in
+    (subcmd)
+
+  case "$words[1]" in
+      (applied|delete|files|graph|header|next|previous|refresh|unapplied)
+      	_wanted -V 'patches' expl 'patch' compadd ${(f)"$(quilt series)"}
+	;;
+      (push)
+    	_wanted -V 'unapplied patches' expl 'patch' compadd ${(f)"$(quilt unapplied)"}
+    	;;
+      (pop)
+    	_wanted -V 'applied patches' expl 'patch' compadd ${(f)"$(quilt applied)"}
+    	;;
+      (*)
+    	_files
+    	;;
+  esac
+  ;;
+esac