3 info="$(LANG= svn info 2>/dev/null)" || return 1
5 if [[ "$SVN_SHOW_BRANCH" = true ]]; then
6 display="$(svn_get_branch_name "$info")"
8 display="$(svn_get_repo_name "$info")"
11 printf '%s%s%s%s%s%s%s%s%s%s' \
12 "$ZSH_PROMPT_BASE_COLOR" \
13 "$ZSH_THEME_SVN_PROMPT_PREFIX" \
14 "$ZSH_THEME_REPO_NAME_COLOR" \
15 "${display:gs/%/%%}" \
16 "$ZSH_PROMPT_BASE_COLOR" \
17 "$ZSH_THEME_SVN_PROMPT_SUFFIX" \
18 "$ZSH_PROMPT_BASE_COLOR" \
19 "$(svn_dirty $info)" \
21 "$ZSH_PROMPT_BASE_COLOR"
30 info="${1:-$(LANG= svn info 2>/dev/null)}"
31 name="$(sed -n 's/^Repository\ Root:\ .*\///p' <<< "$info")"
35 svn_get_branch_name() {
37 info="${1:-$(LANG= svn info 2>/dev/null)}"
40 for (i=0; i<=NF; i++) {
41 if ($i == "branches" || $i == "tags" ) {
52 branch="$(omz_urldecode "$branch")"
54 echo "${branch:-$(svn_get_repo_name "$info")}"
58 sed -n 's/Revision:\ //p' <<<"${1:-$(LANG= svn info 2>/dev/null)}"
62 svn_dirty_choose "${1:-$(LANG= svn info 2>/dev/null)}" $ZSH_THEME_SVN_PROMPT_DIRTY $ZSH_THEME_SVN_PROMPT_CLEAN
67 root=$(sed -n 's/^Working Copy Root Path: //p' <<< "${1:-$(LANG= svn info 2>/dev/null)}")
68 if LANG= svn status "$root" 2>/dev/null | command grep -Eq '^\s*[ACDIM!?L]'; then
69 # Grep exits with 0 when "One or more lines were selected", return "dirty".
72 # Otherwise, no lines were found, or an error occurred. Return clean.
78 svn_dirty_choose_pwd $ZSH_THEME_SVN_PROMPT_DIRTY_PWD $ZSH_THEME_SVN_PROMPT_CLEAN_PWD
81 svn_dirty_choose_pwd () {
82 if LANG= svn status "$PWD" 2>/dev/null | command grep -Eq '^\s*[ACDIM!?L]'; then
83 # Grep exits with 0 when "One or more lines were selected", return "dirty".
86 # Otherwise, no lines were found, or an error occurred. Return clean.