# SVN: magenta.
case $(tput colors) in
256)
+ PROMPT_BACKGROUND_COLOUR="0;48;5;26"
PROMPT_OK_COLOUR="1;38;5;34"
PROMPT_FAILED_COLOUR="1;38;5;160"
ROOT_OK_COLOUR="0"
;;
88)
+ PROMPT_BACKGROUND_COLOUR="0;48;5;18"
PROMPT_OK_COLOUR="1;38;5;24"
PROMPT_FAILED_COLOUR="1;38;5;48"
ROOT_OK_COLOUR="0"
;;
*)
+ PROMPT_BACKGROUND_COLOUR="0;44"
PROMPT_OK_COLOUR="1;32"
PROMPT_FAILED_COLOUR="1;31"
ROOT_OK_COLOUR="0"
# Default __ps1_user to 1.
[ -z "$__ps1_user" ] && __ps1_user=1
- PS1='\[\033[0m\]$(__ps1_user $? \u@)\[\033[$(__ps1_col $? 2>/dev/null)m\]$(__ps1_user $? \h)\[\033[$(__ps1_colour_escape $? $GIT_COLOUR)m\]$(__ps1_git $? 2>/dev/null)\[\033[0m\]\[\033[$(__ps1_colour_escape $? $P4_COLOUR)m\]$(__ps1_p4 $? 2>/dev/null)\[\033[0m\]\[\033[$(__ps1_colour_escape $? $SVN_COLOUR)m\]$(__ps1_svn $? 2>/dev/null)\[\033[0m\]$(__ps1_ret $? 2>/dev/null)$(__ps1_colon $?)\w\[\033[$(__ps1_root $? 2>/dev/null)m\]\$\[\033[0m\] '
+ PS1='\[\033[$(__ps1_background $?)m\]$(__ps1_user $? \u@)\[\033[$(__ps1_col $? 2>/dev/null)m\]$(__ps1_user $? \h)\[\033[$(__ps1_colour_escape $? $GIT_COLOUR $PROMPT_BACKGROUND_COLOUR)m\]$(__ps1_git $? 2>/dev/null)\[\033[0m\]\[\033[$(__ps1_colour_escape $? $P4_COLOUR $PROMPT_BACKGROUND_COLOUR)m\]$(__ps1_p4 $? 2>/dev/null)\[\033[0m\]\[\033[$(__ps1_colour_escape $? $SVN_COLOUR $PROMPT_BACKGROUND_COLOUR)m\]$(__ps1_svn $? 2>/dev/null)\[\033[$(__ps1_background $?)m\]$(__ps1_ret $? 2>/dev/null)$(__ps1_colon $?)\w\[\033[$(__ps1_root $? 2>/dev/null)m\]\$\[\033[0m\] '
return 0
}
local ret=$1; shift
local bold="${1%%;*}"
local colour="${1#*;}"
+ local bgcolour="${2#*;}"
echo -en "${bold}m\033[$colour"
+ [ "$__ps1_background" = 1 ] && echo -en "m\033[$bgcolour"
+ return $ret
+}
+
+function __ps1_background() {
+ local ret=$1; shift
+ echo -n "0"
+ [ "$__ps1_background" = 1 ] && echo -en "m\033[${PROMPT_BACKGROUND_COLOUR}"
return $ret
}
function __ps1_col() {
local ret=$1; shift
if [ $ret -gt 0 ]; then
- __ps1_colour_escape $ret "$PROMPT_FAILED_COLOUR"
+ __ps1_colour_escape $ret "$PROMPT_FAILED_COLOUR" "$PROMPT_BACKGROUND_COLOUR"
else
- __ps1_colour_escape $ret "$PROMPT_OK_COLOUR"
+ __ps1_colour_escape $ret "$PROMPT_OK_COLOUR" "$PROMPT_BACKGROUND_COLOUR"
fi
return $ret
}
function __ps1_root() {
local ret=$1; shift
if [ $ret -gt 0 ]; then
- __ps1_colour_escape $ret "$ROOT_FAILED_COLOUR"
+ __ps1_colour_escape $ret "$ROOT_FAILED_COLOUR" "$PROMPT_BACKGROUND_COLOUR"
else
- __ps1_colour_escape $ret "$ROOT_OK_COLOUR"
+ __ps1_colour_escape $ret "$ROOT_OK_COLOUR" "$PROMPT_BACKGROUND_COLOUR"
fi
return $ret
}