Mark Szymanski | 2228826 | 2011-02-14 21:12:25 -0600 | [diff] [blame^] | 1 | SCM_THEME_PROMPT_PREFIX="" |
| 2 | SCM_THEME_PROMPT_SUFFIX="" |
| 3 | |
| 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 | |
| 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 |