## vim:ft=zsh ## Written by Frank Terbeck ## Distributed under the same BSD-ish license as zsh itself. setopt localoptions noksharrays NO_shwordsplit local action=$1 branch=$2 base=$3 staged=$4 unstaged=$5 local msg local -i i j if [[ -n ${action} ]] ; then zstyle -a ":vcs_info:${vcs}:${usercontext}:${rrn}" actionformats msgs (( ${#msgs} < 1 )) && msgs[1]=' (%s)-[%b|%a]-' else zstyle -a ":vcs_info:${vcs}:${usercontext}:${rrn}" formats msgs (( ${#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} \ c:${staged} \ r:${base:t} \ s:${vcs} \ u:${unstaged} \ R:${base} \ S:"$(VCS_INFO_reposub ${base})" msgs[$i]=${msg} done return 0