From 76f05a9932c5f9aa1ea7ea7bd1cf08f65fd43e7c Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Wed, 11 Feb 2009 12:48:21 +0000 Subject: Frank Terbeck: 26549: VCS_Info improvements: check for changes in git --- Functions/VCS_Info/VCS_INFO_formats | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'Functions/VCS_Info/VCS_INFO_formats') 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 -- cgit 1.4.1