about summary refs log tree commit diff
path: root/Functions
diff options
context:
space:
mode:
authorFrank Terbeck <bewater@users.sourceforge.net>2012-08-17 08:22:52 +0000
committerFrank Terbeck <bewater@users.sourceforge.net>2012-08-17 08:22:52 +0000
commit3aae0ef8fecd69c983e6452a6b4f9c641cac9ab1 (patch)
treefc49a99a35e9f5d34cacd36151e3e535490ec1aa /Functions
parent402e5fb2ab2250cbef67b623e5777791ac37d855 (diff)
downloadzsh-3aae0ef8fecd69c983e6452a6b4f9c641cac9ab1.tar.gz
zsh-3aae0ef8fecd69c983e6452a6b4f9c641cac9ab1.tar.xz
zsh-3aae0ef8fecd69c983e6452a6b4f9c641cac9ab1.zip
Stepan Koltsov: vcs_info: %a to output number of all patches in (no)?patch-format styles
Diffstat (limited to 'Functions')
-rw-r--r--Functions/VCS_Info/Backends/VCS_INFO_get_data_git7
-rw-r--r--Functions/VCS_Info/Backends/VCS_INFO_get_data_hg4
-rw-r--r--Functions/VCS_Info/VCS_INFO_quilt8
3 files changed, 11 insertions, 8 deletions
diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
index 9364fd021..e40571a0e 100644
--- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
+++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
@@ -129,12 +129,13 @@ rrn=${gitbase:t}
 
 local patchdir=${gitdir}/patches/${gitbranch}
 if [[ -d $patchdir ]] ; then
-    local -a stgit_applied stgit_unapplied
+    local -a stgit_applied stgit_unapplied stgit_all
 
     stgit_applied=(${(f)"$(< "${patchdir}/applied")"})
     stgit_applied=( ${(Oa)stgit_applied} )
     stgit_unapplied=(${(f)"$(< "${patchdir}/unapplied")"})
     stgit_unapplied=( ${(oa)stgit_unapplied} )
+    stgit_all=( ${(Oa)stgit_applied} ${stgit_unapplied} )
 
     if VCS_INFO_hook 'gen-applied-string' "${stgit_applied[@]}"; then
         if (( ${#stgit_applied} )); then
@@ -158,10 +159,10 @@ if [[ -d $patchdir ]] ; then
         zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" nopatch-format stgitmsg || stgitmsg="no patch applied"
     fi
     hook_com=( applied "${stgitpatch}"     unapplied "${stgitunapplied}"
-               applied-n ${#stgit_applied} unapplied-n ${#stgit_unapplied} )
+               applied-n ${#stgit_applied} unapplied-n ${#stgit_unapplied} all-n ${#stgit_all} )
     if VCS_INFO_hook 'set-patch-format' "${stgitmsg}"; then
         zformat -f stgitmsg "${stgitmsg}" "p:${hook_com[applied]}" "u:${hook_com[unapplied]}" \
-                                          "n:${#stgit_applied}" "c:${#stgit_unapplied}"
+                                          "n:${#stgit_applied}" "c:${#stgit_unapplied}" "a:${#stgit_all}"
     else
         stgitmsg=${hook_com[patch-replace]}
     fi
diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg b/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg
index a1b87f59e..48e385c97 100644
--- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg
+++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg
@@ -213,13 +213,13 @@ if zstyle -T ":vcs_info:${vcs}:${usercontext}:${rrn}" get-mq \
     fi
 
     hook_com=( applied "${applied_string}" unapplied "${unapplied_string}"
-               applied-n ${#mqpatches}     unapplied-n ${#mqunapplied}
+               applied-n ${#mqpatches}     unapplied-n ${#mqunapplied}     all-n ${#mqseries}
                guards "${guards_string}"   guards-n ${#mqguards} )
 
     if VCS_INFO_hook 'set-patch-format' ${qstring}; then
         zformat -f hgmqstring "${hgmqstring}" \
             "p:${hook_com[applied]}" "u:${hook_com[unapplied]}" \
-            "n:${#mqpatches}" "c:${#mqunapplied}" \
+            "n:${#mqpatches}" "c:${#mqunapplied}" "a:${#mqseries}" \
             "g:${hook_com[guards]}" "G:${#mqguards}"
     else
         hgmqstring=${hook_com[patch-replace]}
diff --git a/Functions/VCS_Info/VCS_INFO_quilt b/Functions/VCS_Info/VCS_INFO_quilt
index fc127c23b..7001eca07 100644
--- a/Functions/VCS_Info/VCS_INFO_quilt
+++ b/Functions/VCS_Info/VCS_INFO_quilt
@@ -89,7 +89,7 @@ function VCS_INFO_quilt() {
     local patches pc tmp qstring root
     local -i ret
     local -x context
-    local -a applied unapplied applied_string unapplied_string quiltcommand
+    local -a applied unapplied all applied_string unapplied_string quiltcommand
     local -Ax hook_com
 
     context=":vcs_info:${vcs}.quilt-${mode}:${usercontext}:${rrn}"
@@ -142,6 +142,8 @@ function VCS_INFO_quilt() {
         unapplied=()
     fi
 
+    all=( ${(Oa)applied} ${unapplied} )
+
     if VCS_INFO_hook 'gen-applied-string' "${applied[@]}"; then
         if (( ${#applied} )); then
             applied_string=${applied[1]}
@@ -164,10 +166,10 @@ function VCS_INFO_quilt() {
         zstyle -s "${context}" nopatch-format qstring || qstring="no patch applied"
     fi
     hook_com=( applied "${applied_string}" unapplied "${unapplied_string}"
-               applied-n ${#applied}       unapplied-n ${#unapplied} )
+               applied-n ${#applied}       unapplied-n ${#unapplied}       all-n ${#all} )
     if VCS_INFO_hook 'set-patch-format' ${qstring}; then
         zformat -f qstring "${qstring}" "p:${hook_com[applied]}" "u:${hook_com[unapplied]}" \
-                                        "n:${#applied}" "c:${#unapplied}"
+                                        "n:${#applied}" "c:${#unapplied}" "a:${#all}"
     else
         qstring=${hook_com[patch-replace]}
     fi