Mark Szymanski | 2228826 | 2011-02-14 21:12:25 -0600 | [diff] [blame] | 1 | SCM_THEME_PROMPT_PREFIX="" |
| 2 | SCM_THEME_PROMPT_SUFFIX="" |
| 3 | |
JFSIII | 1b7c941 | 2011-06-17 19:45:21 -0400 | [diff] [blame] | 4 | SCM_THEME_PROMPT_DIRTY=" ${bold_red}✗${normal}" |
| 5 | SCM_THEME_PROMPT_CLEAN=" ${bold_green}✓${normal}" |
| 6 | SCM_GIT_CHAR="${bold_green}±${normal}" |
| 7 | SCM_SVN_CHAR="${bold_cyan}⑆${normal}" |
| 8 | SCM_HG_CHAR="${bold_red}☿${normal}" |
Mark Szymanski | 2228826 | 2011-02-14 21:12:25 -0600 | [diff] [blame] | 9 | |
| 10 | case $TERM in |
| 11 | xterm*) |
| 12 | TITLEBAR="\[\033]0;\w\007\]" |
| 13 | ;; |
| 14 | *) |
| 15 | TITLEBAR="" |
| 16 | ;; |
| 17 | esac |
| 18 | |
| 19 | PS3=">> " |
| 20 | |
| 21 | is_vim_shell() { |
| 22 | if [ ! -z "$VIMRUNTIME" ] |
| 23 | then |
| 24 | echo "[${cyan}vim shell${normal}]" |
| 25 | fi |
| 26 | } |
| 27 | |
| 28 | modern_scm_prompt() { |
| 29 | CHAR=$(scm_char) |
| 30 | if [ $CHAR = $SCM_NONE_CHAR ] |
| 31 | then |
| 32 | return |
| 33 | else |
| 34 | echo "[$(scm_char)][$(scm_prompt_info)]" |
| 35 | fi |
| 36 | } |
| 37 | |
| 38 | prompt() { |
| 39 | if [ $? -ne 0 ] |
| 40 | then |
| 41 | # Yes, the indenting on these is weird, but it has to be like |
| 42 | # this otherwise it won't display properly. |
| 43 | |
| 44 | PS1="${TITLEBAR}${bold_red}┌─[${cyan}$(t | wc -l | sed -e's/ *//')${reset_color}]${reset_color}$(modern_scm_prompt)[${cyan}\W${normal}]$(is_vim_shell) |
| 45 | ${bold_red}└─▪${normal} " |
| 46 | else |
| 47 | PS1="${TITLEBAR}┌─[${cyan}$(t | wc -l | sed -e's/ *//')${reset_color}]$(modern_scm_prompt)[${cyan}\W${normal}]$(is_vim_shell) |
| 48 | └─▪ " |
| 49 | fi |
| 50 | } |
| 51 | |
| 52 | PS2="└─▪ " |
| 53 | |
| 54 | |
| 55 | |
| 56 | PROMPT_COMMAND=prompt |