summaryrefslogtreecommitdiff
path: root/plugins/svn/svn.plugin.zsh
diff options
context:
space:
mode:
authorRobin Ramael <robin.ramael@gmail.com>2011-01-10 18:18:31 +0100
committerRobin Ramael <robin.ramael@gmail.com>2011-01-10 18:18:31 +0100
commit664b97a3c8fc167bda2c64e48b18b27de8dce4cd (patch)
tree060d857d2773fa466d4eada07fa047674b9c0319 /plugins/svn/svn.plugin.zsh
parent77d05fe8ab0f1b35af9332e889e384f935ce08f9 (diff)
downloadzsh-664b97a3c8fc167bda2c64e48b18b27de8dce4cd.tar.gz
zsh-664b97a3c8fc167bda2c64e48b18b27de8dce4cd.tar.bz2
zsh-664b97a3c8fc167bda2c64e48b18b27de8dce4cd.zip
Added svn info in prompt with plugin.
If the svn plugin is used, svn info (repo name and wether the repo is dirty) is displayed in the prompt like with git. Just lke with git, the colors can be manipulated with variables (see awesomepanda theme for example).
Diffstat (limited to 'plugins/svn/svn.plugin.zsh')
-rw-r--r--plugins/svn/svn.plugin.zsh42
1 files changed, 42 insertions, 0 deletions
diff --git a/plugins/svn/svn.plugin.zsh b/plugins/svn/svn.plugin.zsh
new file mode 100644
index 000000000..45d461306
--- /dev/null
+++ b/plugins/svn/svn.plugin.zsh
@@ -0,0 +1,42 @@
+function svn_prompt_info {
+ if [[ -d .svn ]]; then
+ echo "$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_PREFIX\
+$ZSH_THEME_REPO_NAME_COLOR$(svn_get_repo_name)$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR$(svn_dirty)$ZSH_PROMPT_BASE_COLOR"
+ fi
+}
+
+
+function in_svn() {
+ if [[ -d .svn ]]; then
+ echo 1
+ fi
+}
+
+function svn_get_repo_name {
+ if [ is_svn ]; then
+ svn info | sed -n 's/Repository\ Root:\ .*\///p' | read SVN_ROOT
+
+ svn info | sed -n "s/URL:\ .*$SVN_ROOT\///p" | sed "s/\/.*$//"
+ fi
+}
+
+function svn_get_rev_nr {
+ if [ is_svn ]; then
+ svn info 2> /dev/null | sed -n s/Revision:\ //p
+ fi
+}
+
+function svn_dirty_choose {
+ if [ is_svn ]; then
+ s=$(svn status 2>/dev/null)
+ if [ $s ]; then
+ echo $1
+ else
+ echo $2
+ fi
+ fi
+}
+
+function svn_dirty {
+ svn_dirty_choose $ZSH_THEME_SVN_PROMPT_DIRTY $ZSH_THEME_SVN_PROMPT_CLEAN
+} \ No newline at end of file