rjorgenson | e8a4e35 | 2011-06-17 06:13:55 -0700 | [diff] [blame] | 1 | # port of zork theme |
| 2 | |
| 3 | SCM_THEME_PROMPT_PREFIX="" |
| 4 | SCM_THEME_PROMPT_SUFFIX="" |
| 5 | |
| 6 | SCM_THEME_PROMPT_DIRTY=' ${bold_red}✗${normal}' |
| 7 | SCM_THEME_PROMPT_CLEAN=' ${bold_green}✓${normal}' |
| 8 | SCM_GIT_CHAR='${bold_green}±${normal}' |
| 9 | SCM_SVN_CHAR='${bold_cyan}⑆${normal}' |
| 10 | SCM_HG_CHAR='${bold_red}☿${normal}' |
| 11 | |
| 12 | #Mysql Prompt |
| 13 | export MYSQL_PS1="(\u@\h) [\d]> " |
| 14 | |
| 15 | case $TERM in |
| 16 | xterm*) |
| 17 | TITLEBAR="\[\033]0;\w\007\]" |
| 18 | ;; |
| 19 | *) |
| 20 | TITLEBAR="" |
| 21 | ;; |
| 22 | esac |
| 23 | |
| 24 | PS3=">> " |
| 25 | |
| 26 | __my_rvm_ruby_version() { |
| 27 | local gemset=$(echo $GEM_HOME | awk -F'@' '{print $2}') |
| 28 | [ "$gemset" != "" ] && gemset="@$gemset" |
| 29 | local version=$(echo $MY_RUBY_HOME | awk -F'-' '{print $2}') |
| 30 | local full="$version$gemset" |
| 31 | [ "$full" != "" ] && echo "[$full]" |
| 32 | } |
| 33 | |
| 34 | is_vim_shell() { |
| 35 | if [ ! -z "$VIMRUNTIME" ] |
| 36 | then |
| 37 | echo "[${cyan}vim shell${normal}]" |
| 38 | fi |
| 39 | } |
| 40 | |
rjorgenson | a59d785 | 2011-06-17 23:28:57 -0700 | [diff] [blame^] | 41 | todo_txt_count() { |
| 42 | if `hash todo.sh 2>&-`; then |
| 43 | count=`todo.sh ls | egrep "TODO: [0-9]+ of ([0-9]+) tasks shown" | awk '{ print $4 }'` |
| 44 | echo "[T:$count]" |
| 45 | fi |
| 46 | } |
| 47 | |
rjorgenson | e8a4e35 | 2011-06-17 06:13:55 -0700 | [diff] [blame] | 48 | modern_scm_prompt() { |
| 49 | CHAR=$(scm_char) |
| 50 | if [ $CHAR = $SCM_NONE_CHAR ] |
| 51 | then |
| 52 | return |
| 53 | else |
| 54 | echo "[$(scm_char)][$(scm_prompt_info)]" |
| 55 | fi |
| 56 | } |
| 57 | |
| 58 | prompt() { |
| 59 | |
| 60 | my_ps_host="${bold_green}\h${normal}"; |
rjorgenson | a59d785 | 2011-06-17 23:28:57 -0700 | [diff] [blame^] | 61 | my_ps_user="${bold_green}\u${normal}"; |
| 62 | my_ps_root="${bold_red}\u${normal}"; |
| 63 | my_ps_path="${bold_cyan}\w${normal}"; |
rjorgenson | e8a4e35 | 2011-06-17 06:13:55 -0700 | [diff] [blame] | 64 | |
| 65 | # nice prompt |
| 66 | case "`id -u`" in |
| 67 | 0) PS1="${TITLEBAR}┌─[$my_ps_root][$my_ps_host]$(modern_scm_prompt)$(__my_rvm_ruby_version)[${cyan}\w${normal}]$(is_vim_shell) |
| 68 | └─▪ " |
| 69 | ;; |
| 70 | *) PS1="${TITLEBAR}┌─[$my_ps_user][$my_ps_host]$(modern_scm_prompt)$(__my_rvm_ruby_version)[${cyan}\w${normal}]$(is_vim_shell) |
rjorgenson | a59d785 | 2011-06-17 23:28:57 -0700 | [diff] [blame^] | 71 | └─▪$(todo_txt_count) " |
rjorgenson | e8a4e35 | 2011-06-17 06:13:55 -0700 | [diff] [blame] | 72 | ;; |
| 73 | esac |
| 74 | } |
| 75 | |
| 76 | PS2="└─▪ " |
| 77 | |
| 78 | |
| 79 | |
| 80 | PROMPT_COMMAND=prompt |