Mark Szymanski | 8a3d525 | 2010-12-05 15:40:46 -0600 | [diff] [blame] | 1 | SCM_THEME_PROMPT_PREFIX="" |
| 2 | SCM_THEME_PROMPT_SUFFIX="" |
| 3 | |
Mark Szymanski | e553638 | 2010-12-05 15:49:51 -0600 | [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}' |
| 9 | |
Mark Szymanski | 0479333 | 2011-02-05 11:49:47 -0600 | [diff] [blame] | 10 | case $TERM in |
| 11 | xterm*) |
| 12 | TITLEBAR="\[\033]0;\w\007\]" |
| 13 | ;; |
| 14 | *) |
| 15 | TITLEBAR="" |
| 16 | ;; |
| 17 | esac |
| 18 | |
Mark Szymanski | f3d19db | 2010-12-14 18:36:44 -0600 | [diff] [blame] | 19 | PS3=">> " |
| 20 | |
Mark Szymanski | 56d016a | 2010-12-19 09:40:52 -0600 | [diff] [blame] | 21 | is_vim_shell() { |
| 22 | if [ ! -z "$VIMRUNTIME" ] |
| 23 | then |
| 24 | echo "[${cyan}vim shell${normal}]" |
| 25 | fi |
| 26 | } |
| 27 | |
Mark Szymanski | 8a3d525 | 2010-12-05 15:40:46 -0600 | [diff] [blame] | 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 |
Mark Szymanski | 7c13d46 | 2010-12-17 17:56:43 -0600 | [diff] [blame] | 41 | # Yes, the indenting on these is weird, but it has to be like |
| 42 | # this otherwise it won't display properly. |
| 43 | |
Mark Szymanski | 0479333 | 2011-02-05 11:49:47 -0600 | [diff] [blame] | 44 | PS1="${TITLEBAR}${bold_red}┌─${reset_color}$(modern_scm_prompt)[${cyan}\W${normal}]$(is_vim_shell) |
Mark Szymanski | 8a3d525 | 2010-12-05 15:40:46 -0600 | [diff] [blame] | 45 | ${bold_red}└─▪${normal} " |
| 46 | else |
Mark Szymanski | 0479333 | 2011-02-05 11:49:47 -0600 | [diff] [blame] | 47 | PS1="${TITLEBAR}┌─$(modern_scm_prompt)[${cyan}\W${normal}]$(is_vim_shell) |
Mark Szymanski | 8a3d525 | 2010-12-05 15:40:46 -0600 | [diff] [blame] | 48 | └─▪ " |
| 49 | fi |
| 50 | } |
| 51 | |
Mark Szymanski | 668f8e6 | 2010-12-05 21:15:30 -0600 | [diff] [blame] | 52 | PS2="└─▪ " |
| 53 | |
Mark Szymanski | 8a3d525 | 2010-12-05 15:40:46 -0600 | [diff] [blame] | 54 | |
| 55 | |
| 56 | PROMPT_COMMAND=prompt |