diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2009-02-11 12:48:21 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2009-02-11 12:48:21 +0000 |
commit | 76f05a9932c5f9aa1ea7ea7bd1cf08f65fd43e7c (patch) | |
tree | 3e78e9e3f8708c66bdc1bbef25e92e666b163c43 /Functions/VCS_Info/VCS_INFO_formats | |
parent | b0066bc2026553c41290bf709738bfaf3524216f (diff) | |
download | zsh-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_formats | 22 |
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 |