X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=.profile.d%2Fps1.bashrc;h=5f023f8617c6b1ddcb6129f20d7d50510ad88b0d;hb=6a4d7771ef379836593080fd303b647ed5a853cb;hp=f5fcb6a4df81fcf80703f3cbdb54d8c715ee605b;hpb=7ff1edff9e3b22a1fd1f7798a634538d7ed94c54;p=profile.git diff --git a/.profile.d/ps1.bashrc b/.profile.d/ps1.bashrc index f5fcb6a..5f023f8 100644 --- a/.profile.d/ps1.bashrc +++ b/.profile.d/ps1.bashrc @@ -1,17 +1,38 @@ -# VERSION 1.2 (2001-10-31) +# $Id$ # -# coloured prompts for bash +# Coloured prompts for bash. # -# prompt is user@host:/dir$ where host is highlighted in green if the last -# command exited 0 or in red (followed by the error code) otherwise +# Prompt is user@host:/dir$ where host is highlighted in green if the last +# command exited 0 or in red (followed by the error code) otherwise. # -# to use, add a call to __ps1 in your .bash_profile +# Colouring is performed by the __ps1_col() and __ps1_ret() functions. +# We redirect stderr to /dev/null when calling these functions to prevent +# bash complaining about not knowing them when you su to another user, +# retaining PS1 but not the function definitions. +# +# To use, add a call to __ps1 in your .bash_profile file. +# + +case $(tput colors) in + 256) + export PROMPT_OK_COLOUR="1;38;5;34" + export PROMPT_FAILED_COLOUR="1;38;5;160" + ;; + + 88) + export PROMPT_OK_COLOUR="1;38;5;24" + export PROMPT_FAILED_COLOUR="1;38;5;48" + ;; -export PROMPT_OK_COLOUR=32 -export PROMPT_FAILED_COLOUR=31 + *) + export PROMPT_OK_COLOUR="1;32" + export PROMPT_FAILED_COLOUR="1;31" + ;; +esac function __ps1() { - export PS1='\u@\[\033[1;$(__ps1_col $?)m\]\h\[\033[0m\]$(__ps1_ret $?):\w\$ ' + export PS1='\u@\[\033[$(__ps1_col $?)m\]\h\[\033[0m\]$(__ps1_ret $?):\w\$ ' + export PS1='\u@\[\033[$(__ps1_col $? 2>/dev/null)m\]\h\[\033[0m\]$(__ps1_ret $? 2>/dev/null):\w\$ ' return 0 }