Jesus de Mula Cano | a38012f | 2011-03-04 11:44:56 +0100 | [diff] [blame^] | 1 | # ------------------------------------------------------------------ COLOR CONF |
| 2 | D_DEFAULT_COLOR='${gray}' |
| 3 | D_USER_COLOR='${purple}' |
| 4 | D_SUPERUSER_COLOR='${red}' |
| 5 | D_MACHINE_COLOR='${cyan}' |
| 6 | D_DIR_COLOR='${green}' |
| 7 | D_SCM_COLOR='${yellow}' |
| 8 | D_BRANCH_COLOR='${yellow}' |
| 9 | D_CHANGES_COLOR='${white}' |
| 10 | D_CMDFAIL_COLOR='${red}' |
| 11 | |
| 12 | case $TERM in |
| 13 | xterm*) |
| 14 | TITLEBAR="\[\033]0;\w\007\]" |
| 15 | ;; |
| 16 | *) |
| 17 | TITLEBAR="" |
| 18 | ;; |
| 19 | esac |
| 20 | |
| 21 | PS3=">> " |
| 22 | |
| 23 | is_vim_shell() { |
| 24 | if [ ! -z "$VIMRUNTIME" ] |
| 25 | then |
| 26 | echo "on ${cyan}vim shell${white} " |
| 27 | fi |
| 28 | } |
| 29 | |
| 30 | mitsuhikos_lastcommandfailed() { |
| 31 | code=$? |
| 32 | if [ $code != 0 ]; then |
| 33 | echo -n '\[${white}\]exited \[${red}\]' |
| 34 | echo -n $code |
| 35 | echo -n '\[${white}\] ' |
| 36 | fi |
| 37 | } |
| 38 | |
| 39 | D_VCPROMPT_EXECUTABLE=~/.vcprompt/bin/vcprompt |
| 40 | D_VCPROMPT_FORMAT="on ${D_SCM_COLOR}%s${white}:${D_BRANCH_COLOR}%b %r ${D_CHANGES_COLOR}%m%u ${white}" |
| 41 | demula_vcprompt() { |
| 42 | $D_VCPROMPT_EXECUTABLE -f "$D_VCPROMPT_FORMAT" |
| 43 | } |
| 44 | |
| 45 | prompt() { |
| 46 | # Yes, the indenting on these is weird, but it has to be like |
| 47 | # this otherwise it won't display properly. |
| 48 | |
| 49 | PS1="\n${TITLEBAR}\[${D_USER_COLOR}\]\u ${white}\ |
| 50 | at \[${D_MACHINE_COLOR}\]\h ${white}\ |
| 51 | in \[${D_DIR_COLOR}\]\w ${white}\ |
| 52 | $(mitsuhikos_lastcommandfailed)\ |
| 53 | $(demula_vcprompt)\ |
| 54 | $(is_vim_shell) |
| 55 | $ ${normal}" |
| 56 | } |
| 57 | |
| 58 | PS2="$ " |
| 59 | |
| 60 | PROMPT_COMMAND=prompt |