X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshrc;h=05c114a482e1653fa8b04efeac1657f98f84f36e;hb=66d7f9e8dc89e0bbf0631b5ba0e39b4d31378fa7;hp=bc2616f936b83027d358c1dee51fa116c2853387;hpb=938079fbcfc7f6b818911c714fcc84b3ce68666e;p=grml-etc-core.git diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index bc2616f..05c114a 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -1073,7 +1073,7 @@ fi # The default values for these in all contexts are: # promptformat " (%s)-[%b|%a]-" # promptactionformat " (%s)-[%b]-" -# branchformat "%b:%r" (for bzr and svn) +# branchformat "%b:%r" (for bzr, svn and svk) # enable true # disable (empty list) # use-simple false @@ -1282,10 +1282,9 @@ VCS_INFO_svk_get_data () { # {{{ local msg svkbranch svkbase svkbase=${vcs_comm[basedir]} - svkbranch=${svkbase##* - } - svkbase=${svkbase%% - *} + + zstyle -s ":vcs_info:${vcs}" branchformat svkbranch || svkbranch="%b:%r" + zformat -f svkbranch "${svkbranch}" "b:${vcs_comm[branch]}" "r:${vcs_comm[revision]}" msg=$(VCS_INFO_format) zformat -f msg "${msg}" "a:" "b:${svkbranch}" "s:${vcs}" "r:${svkbase:t}" "R:${svkbase}" @@ -1431,14 +1430,35 @@ VCS_INFO_mtn_detect() { } VCS_INFO_svk_detect() { - local basedir + setopt localoptions noksharrays + local -a info check_com -c svk || return 1 [[ -f ~/.svk/config ]] || return 1 - basedir=$(awk '/: *$/ { sub(/^ */,"",$0); sub(/: *$/,"",$0); if (match("'${PWD}'", $0"(/|$)")) { print $0; d=1; } } /depotpath/ && d == 1 { sub(".*/","",$0); r=$0 } /revision/ && d == 1 { print r ":" $2; exit 1 }' ~/.svk/config) && return 1 - - vcs_comm[basedir]=${basedir} + info=( + $(awk ' + /: *$/ { + sub(/^ */,"",$0); + sub(/: *$/,"",$0); + if (match("'${PWD}'", $0"(/|$)")) { + print $0; d=1; + } + } + /depotpath/ && d == 1 { + sub(".*/","",$0); + r=$0 + } + /revision/ && d == 1 { + print r "\n" $2; + exit 1 + }' ~/.svk/config + ) + ) && return 1 + + vcs_comm[basedir]=${info[1]} + vcs_comm[branch]=${info[2]} + vcs_comm[revision]=${info[3]} return 0 } @@ -1485,7 +1505,7 @@ else # these are the same, just with a lot of colours: zstyle ':vcs_info:*' promptactionformat "${MAGENTA}(${NO_COLOUR}%s${MAGENTA})${YELLOW}-${MAGENTA}[${GREEN}%b${YELLOW}|${RED}%a${MAGENTA}]${NO_COLOUR} " zstyle ':vcs_info:*' promptformat "${MAGENTA}(${NO_COLOUR}%s${MAGENTA})${YELLOW}-${MAGENTA}[${GREEN}%b${MAGENTA}]${NO_COLOUR}%} " - zstyle ':vcs_info:(svn|bzr)' branchformat "%b${YELLOW]}:%r" + zstyle ':vcs_info:(sv[nk]|bzr)' branchformat "%b${YELLOW}:%r" fi # }}}