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 | f3d19db | 2010-12-14 18:36:44 -0600 | [diff] [blame] | 10 | PS3=">> " |
| 11 | |
Mark Szymanski | 56d016a | 2010-12-19 09:40:52 -0600 | [diff] [blame^] | 12 | is_vim_shell() { |
| 13 | if [ ! -z "$VIMRUNTIME" ] |
| 14 | then |
| 15 | echo "[${cyan}vim shell${normal}]" |
| 16 | fi |
| 17 | } |
| 18 | |
Mark Szymanski | 8a3d525 | 2010-12-05 15:40:46 -0600 | [diff] [blame] | 19 | modern_scm_prompt() { |
| 20 | CHAR=$(scm_char) |
| 21 | if [ $CHAR = $SCM_NONE_CHAR ] |
| 22 | then |
| 23 | return |
| 24 | else |
| 25 | echo "[$(scm_char)][$(scm_prompt_info)]" |
| 26 | fi |
| 27 | } |
| 28 | |
| 29 | prompt() { |
| 30 | if [ $? -ne 0 ] |
| 31 | then |
Mark Szymanski | 7c13d46 | 2010-12-17 17:56:43 -0600 | [diff] [blame] | 32 | # Yes, the indenting on these is weird, but it has to be like |
| 33 | # this otherwise it won't display properly. |
| 34 | |
Mark Szymanski | 56d016a | 2010-12-19 09:40:52 -0600 | [diff] [blame^] | 35 | PS1="${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] | 36 | ${bold_red}└─▪${normal} " |
| 37 | else |
Mark Szymanski | 56d016a | 2010-12-19 09:40:52 -0600 | [diff] [blame^] | 38 | PS1="┌─$(modern_scm_prompt)[${cyan}\W${normal}]$(is_vim_shell) |
Mark Szymanski | 8a3d525 | 2010-12-05 15:40:46 -0600 | [diff] [blame] | 39 | └─▪ " |
| 40 | fi |
| 41 | } |
| 42 | |
Mark Szymanski | 668f8e6 | 2010-12-05 21:15:30 -0600 | [diff] [blame] | 43 | PS2="└─▪ " |
| 44 | |
Mark Szymanski | 8a3d525 | 2010-12-05 15:40:46 -0600 | [diff] [blame] | 45 | |
| 46 | |
| 47 | PROMPT_COMMAND=prompt |