Include SVN prompt.
[profile.git] / .profile.d / ps1.bashrc
index 436cd8c..50dd723 100644 (file)
 # The third part of the prompt is taken from p4-completion.bashrc.
 # It is shown only if __ps1_p4 is 1.  By default it is 0.
 #
-# The fourth part of the prompt is the exit status of the last command.
+# The fourth part of the prompt is taken from svn-completion.bashrc.
+# It is shown only if __ps1_svn is 1.  By default it is 0.
+#
+# The fifth part of the prompt is the exit status of the last command.
 # This part will be shown only if __ps1_user is set and the exit status is 
 # non-zero.
 # 
@@ -44,6 +47,7 @@ case $(tput colors) in
     export PROMPT_OK_COLOUR="1;38;5;34"
     export PROMPT_FAILED_COLOUR="1;38;5;160"
     export GIT_COLOUR="0;38;5;33"
+    export SVN_COLOUR="0;38;5;127"
     export P4_COLOUR="0;38;5;142"
   ;;
 
@@ -51,6 +55,7 @@ case $(tput colors) in
     export PROMPT_OK_COLOUR="1;38;5;24"
     export PROMPT_FAILED_COLOUR="1;38;5;48"
     export GIT_COLOUR="0;38;5;23"
+    export SVN_COLOUR="0;38;5;49"
     export P4_COLOUR="0;38;5;56"
   ;;
 
@@ -58,6 +63,7 @@ case $(tput colors) in
     export PROMPT_OK_COLOUR="1;32"
     export PROMPT_FAILED_COLOUR="1;31"
     export GIT_COLOUR="0;36"
+    export SVN_COLOUR="0;35"
     export P4_COLOUR="0;33"
   ;;
 esac
@@ -66,7 +72,7 @@ function __ps1() {
   # Default __ps1_user to 1.
   [ -z "$__ps1_user" ] && __ps1_user=1
 
-  export PS1='$(__ps1_user $? \u@)\[\033[$(__ps1_col $? 2>/dev/null)m\]$(__ps1_user $? \h)\[\033[${GIT_COLOUR}m\]$(__ps1_git $? 2>/dev/null)\[\033[0m\]\[\033[${P4_COLOUR}m\]$(__ps1_p4 $? 2>/dev/null)\[\033[0m\]$(__ps1_ret $? 2>/dev/null):\w\$ '
+  export PS1='$(__ps1_user $? \u@)\[\033[$(__ps1_col $? 2>/dev/null)m\]$(__ps1_user $? \h)\[\033[${GIT_COLOUR}m\]$(__ps1_git $? 2>/dev/null)\[\033[0m\]\[\033[${P4_COLOUR}m\]$(__ps1_p4 $? 2>/dev/null)\[\033[0m\]\[\033[${SVN_COLOUR}m\]$(__ps1_svn $? 2>/dev/null)\[\033[0m\]$(__ps1_ret $? 2>/dev/null):\w\$ '
   return 0
 }
 
@@ -108,6 +114,16 @@ function __ps1_p4() {
   return $1
 }
 
+function __ps1_svn() {
+  [ "$__ps1_svn" = "1" ] || return $1
+  if [ "$__ps1_user" = "1" -o "$__ps1_git" = "1" -o "$__ps1_p4" = "1" ]; then
+    __svn_ps1 ' %s'
+  else
+    __svn_ps1 '%s'
+  fi
+  return $1
+}
+
 function prompt() {
   local blurb="Usage: prompt hide|show <what>"