summaryrefslogtreecommitdiff
path: root/plugins/svn
diff options
context:
space:
mode:
authorBob Williams <bobwilliams.ii@gmail.com>2014-03-17 09:32:57 -0400
committerBob Williams <bobwilliams.ii@gmail.com>2014-03-17 09:32:57 -0400
commit5a586670d73dbbda97d124e33398aabf21597659 (patch)
tree770a29ab869a831afdeb2fd0096e9af0b4af6c61 /plugins/svn
parent223fd60ba597b8c23569c65878d766c3c933fa70 (diff)
parentca900216302aa1138c793971cf877b5d4e88fb06 (diff)
downloadzsh-5a586670d73dbbda97d124e33398aabf21597659.tar.gz
zsh-5a586670d73dbbda97d124e33398aabf21597659.tar.bz2
zsh-5a586670d73dbbda97d124e33398aabf21597659.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'plugins/svn')
-rw-r--r--plugins/svn/svn.plugin.zsh21
1 files changed, 20 insertions, 1 deletions
diff --git a/plugins/svn/svn.plugin.zsh b/plugins/svn/svn.plugin.zsh
index 4f008ba4e..ef6da5bd3 100644
--- a/plugins/svn/svn.plugin.zsh
+++ b/plugins/svn/svn.plugin.zsh
@@ -9,7 +9,7 @@ function svn_prompt_info() {
_DISPLAY=$(svn_get_repo_name)
fi
echo "$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_PREFIX\
-$ZSH_THEME_REPO_NAME_COLOR$_DISPLAY$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR$(svn_dirty)$ZSH_PROMPT_BASE_COLOR"
+$ZSH_THEME_REPO_NAME_COLOR$_DISPLAY$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR$(svn_dirty)$(svn_dirty_pwd)$ZSH_PROMPT_BASE_COLOR"
unset _DISPLAY
fi
}
@@ -74,3 +74,22 @@ function svn_dirty_choose() {
function svn_dirty() {
svn_dirty_choose $ZSH_THEME_SVN_PROMPT_DIRTY $ZSH_THEME_SVN_PROMPT_CLEAN
}
+
+function svn_dirty_choose_pwd () {
+ if in_svn; then
+ root=`pwd`
+ if $(svn status $root 2> /dev/null | grep -Eq '^\s*[ACDIM!?L]'); then
+ # Grep exits with 0 when "One or more lines were selected", return "dirty".
+ echo $1
+ else
+ # Otherwise, no lines were found, or an error occurred. Return clean.
+ echo $2
+ fi
+ fi
+}
+
+function svn_dirty_pwd () {
+ svn_dirty_choose_pwd $ZSH_THEME_SVN_PROMPT_DIRTY_PWD $ZSH_THEME_SVN_PROMPT_CLEAN_PWD
+}
+
+