about summary refs log tree commit diff
path: root/Functions/VCS_Info/VCS_INFO_formats
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2009-02-11 12:48:21 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2009-02-11 12:48:21 +0000
commit76f05a9932c5f9aa1ea7ea7bd1cf08f65fd43e7c (patch)
tree3e78e9e3f8708c66bdc1bbef25e92e666b163c43 /Functions/VCS_Info/VCS_INFO_formats
parentb0066bc2026553c41290bf709738bfaf3524216f (diff)
downloadzsh-76f05a9932c5f9aa1ea7ea7bd1cf08f65fd43e7c.tar.gz
zsh-76f05a9932c5f9aa1ea7ea7bd1cf08f65fd43e7c.tar.xz
zsh-76f05a9932c5f9aa1ea7ea7bd1cf08f65fd43e7c.zip
Frank Terbeck: 26549: VCS_Info improvements: check for changes in git
Diffstat (limited to 'Functions/VCS_Info/VCS_INFO_formats')
-rw-r--r--Functions/VCS_Info/VCS_INFO_formats22
1 files changed, 20 insertions, 2 deletions
diff --git a/Functions/VCS_Info/VCS_INFO_formats b/Functions/VCS_Info/VCS_INFO_formats
index 346833539..72030ccdc 100644
--- a/Functions/VCS_Info/VCS_INFO_formats
+++ b/Functions/VCS_Info/VCS_INFO_formats
@@ -3,7 +3,7 @@
 ## Distributed under the same BSD-ish license as zsh itself.
 
 setopt localoptions noksharrays NO_shwordsplit
-local action=$1 branch=$2 base=$3
+local action=$1 branch=$2 base=$3 staged=$4 unstaged=$5
 local msg
 local -i i j
 
@@ -15,9 +15,27 @@ else
     (( ${#msgs} < 1 )) && msgs[1]=' (%s)-[%b]-'
 fi
 
+if [[ -n ${staged} ]] ; then
+    zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" stagedstr staged
+    [[ -z ${staged} ]] && staged='S'
+fi
+
+if [[ -n ${unstaged} ]] ; then
+    zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" unstagedstr unstaged
+    [[ -z ${unstaged} ]] && unstaged='U'
+fi
+
 (( ${#msgs} > maxexports )) && msgs[$(( maxexports + 1 )),-1]=()
 for i in {1..${#msgs}} ; do
-    zformat -f msg ${msgs[$i]} a:${action} b:${branch} s:${vcs} r:${base:t} R:${base} S:"$(VCS_INFO_reposub ${base})"
+    zformat -f msg ${msgs[$i]}                      \
+                    a:${action}                     \
+                    b:${branch}                     \
+                    c:${staged}                     \
+                    r:${base:t}                     \
+                    s:${vcs}                        \
+                    u:${unstaged}                   \
+                    R:${base}                       \
+                    S:"$(VCS_INFO_reposub ${base})"
     msgs[$i]=${msg}
 done
 return 0