zsh completion: include guarded patches in qdelete
authorBrendan Cully <brendan@kublai.com>
Tue, 30 Jun 2009 14:31:16 -0700
changeset 8980 6d5dca8737b9
parent 8963 a4ceae3aa7be
child 8981 080612b80c95
zsh completion: include guarded patches in qdelete
contrib/zsh_completion
--- a/contrib/zsh_completion	Wed May 06 16:27:50 2009 -0400
+++ b/contrib/zsh_completion	Tue Jun 30 14:31:16 2009 -0700
@@ -14,7 +14,7 @@
 # compinit
 #
 # Copyright (C) 2005, 2006 Steve Borho <steve@borho.org>
-# Copyright (C) 2006, 2007, 2008 Brendan Cully <brendan@kublai.com>
+# Copyright (C) 2006-9 Brendan Cully <brendan@kublai.com>
 #
 # Permission is hereby granted, without written agreement and without
 # licence or royalty fees, to use, copy, modify, and distribute this
@@ -754,6 +754,18 @@
   (( $#patches )) && _describe -t hg-unapplied-patches 'unapplied patches' patches
 }
 
+# unapplied, including guarded patches
+_hg_qdeletable() {
+  typeset -a unapplied
+  unapplied=(${(f)"$(_hg_cmd qseries 2>/dev/null)"})
+  for p in $(_hg_cmd qapplied 2>/dev/null)
+  do
+    unapplied=(${unapplied:#$p})
+  done
+
+  (( $#unapplied )) && _describe -t hg-allunapplied-patches 'all unapplied patches' unapplied
+}
+
 _hg_qguards() {
   typeset -a guards
   local guard
@@ -776,7 +788,7 @@
   _arguments -s -w : $_hg_global_opts \
   '(--keep -k)'{-k,--keep}'[keep patch file]' \
   '*'{-r+,--rev}'[stop managing a revision]:applied patch:_hg_revrange' \
-  '*:unapplied patch:_hg_qunapplied'
+  '*:unapplied patch:_hg_qdeletable'
 }
 
 _hg_cmd_qdiff() {