diff options
Diffstat (limited to 'zshfunc/vcs-info/VCS_INFO_formats')
-rw-r--r-- | zshfunc/vcs-info/VCS_INFO_formats | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/zshfunc/vcs-info/VCS_INFO_formats b/zshfunc/vcs-info/VCS_INFO_formats new file mode 100644 index 0000000..b22d5aa --- /dev/null +++ b/zshfunc/vcs-info/VCS_INFO_formats @@ -0,0 +1,27 @@ +VCS_INFO_formats () { # {{{ + setopt localoptions noksharrays + local action=$1 branch=$2 base=$3 + local msg + local -i i + + if [[ -n ${action} ]] ; then + zstyle -a ":vcs_info:${vcs}:${usercontext}" actionformats msgs + (( ${#msgs} < 1 )) && msgs[1]=' (%s)-[%b|%a]-' + else + zstyle -a ":vcs_info:${vcs}:${usercontext}" formats msgs + (( ${#msgs} < 1 )) && msgs[1]=' (%s)-[%b]-' + fi + + (( ${#msgs} > maxexports )) && msgs[$(( maxexports + 1 )),-1]=() + for i in {1..${#msgs}} ; do + zformat -f msg ${msgs[$i]} \ + a:${action} \ + b:${branch} \ + r:${base:t} \ + s:${vcs} \ + R:${base} \ + S:"$(VCS_INFO_reposub ${base})" + msgs[$i]=${msg} + done + return 0 +} |