blob: 1d4c261ea0de3f4f9a2c477bfb19bccefb4fb4d9 [file] [log] [blame]
rjorgensone8a4e352011-06-17 06:13:55 -07001# port of zork theme
2
rjorgenson2b4f94a2011-06-18 04:42:44 -07003# set colors for use throughout the prompt
4# i like things consistent
5BRACKET_COLOR=$blue
6STRING_COLOR=$green
7
rjorgensone8a4e352011-06-17 06:13:55 -07008SCM_THEME_PROMPT_PREFIX=""
9SCM_THEME_PROMPT_SUFFIX=""
10
11SCM_THEME_PROMPT_DIRTY=' ${bold_red}✗${normal}'
12SCM_THEME_PROMPT_CLEAN=' ${bold_green}✓${normal}'
rjorgenson2b4f94a2011-06-18 04:42:44 -070013SCM_GIT_CHAR='${STRING_COLOR}±${normal}'
rjorgensone8a4e352011-06-17 06:13:55 -070014SCM_SVN_CHAR='${bold_cyan}⑆${normal}'
15SCM_HG_CHAR='${bold_red}☿${normal}'
16
17#Mysql Prompt
18export MYSQL_PS1="(\u@\h) [\d]> "
19
20case $TERM in
21 xterm*)
22 TITLEBAR="\[\033]0;\w\007\]"
23 ;;
24 *)
25 TITLEBAR=""
26 ;;
27esac
28
29PS3=">> "
30
31__my_rvm_ruby_version() {
32 local gemset=$(echo $GEM_HOME | awk -F'@' '{print $2}')
33 [ "$gemset" != "" ] && gemset="@$gemset"
34 local version=$(echo $MY_RUBY_HOME | awk -F'-' '{print $2}')
35 local full="$version$gemset"
rjorgenson2b4f94a2011-06-18 04:42:44 -070036 [ "$full" != "" ] && echo "${BRACKET_COLOR}[${STRING_COLOR}$full${BRACKET_COLOR}]${normal}"
rjorgensone8a4e352011-06-17 06:13:55 -070037}
38
39is_vim_shell() {
40 if [ ! -z "$VIMRUNTIME" ]
41 then
rjorgenson2b4f94a2011-06-18 04:42:44 -070042 echo "$BRACKET_COLOR[${STRING_COLOR}vim shell$BRACKET_COLOR]$normal"
rjorgensone8a4e352011-06-17 06:13:55 -070043 fi
44}
45
rjorgensona59d7852011-06-17 23:28:57 -070046todo_txt_count() {
47 if `hash todo.sh 2>&-`; then
48 count=`todo.sh ls | egrep "TODO: [0-9]+ of ([0-9]+) tasks shown" | awk '{ print $4 }'`
rjorgenson2b4f94a2011-06-18 04:42:44 -070049 echo "$BRACKET_COLOR[${STRING_COLOR}T:$count$BRACKET_COLOR]$normal"
rjorgensona59d7852011-06-17 23:28:57 -070050 fi
51}
52
rjorgensone8a4e352011-06-17 06:13:55 -070053modern_scm_prompt() {
54 CHAR=$(scm_char)
55 if [ $CHAR = $SCM_NONE_CHAR ]
56 then
57 return
58 else
rjorgenson2b4f94a2011-06-18 04:42:44 -070059 echo "$BRACKET_COLOR[$(scm_char)$BRACKET_COLOR][$STRING_COLOR$(scm_prompt_info)$BRACKET_COLOR]$normal"
rjorgensone8a4e352011-06-17 06:13:55 -070060 fi
61}
62
rjorgenson2b4f94a2011-06-18 04:42:44 -070063my_prompt_char() {
64 if [[ $OSTYPE =~ "darwin" ]]; then
65 echo "${BRACKET_COLOR}➞ ${normal}"
66 else
67 echo "${BRACKET_COLOR}➞ ${normal}"
68 fi
69}
70
rjorgensone8a4e352011-06-17 06:13:55 -070071prompt() {
72
rjorgenson2b4f94a2011-06-18 04:42:44 -070073 my_ps_host="${STRING_COLOR}\h${normal}";
74 my_ps_user="${STRING_COLOR}\u${normal}";
rjorgensona59d7852011-06-17 23:28:57 -070075 my_ps_root="${bold_red}\u${normal}";
rjorgenson2b4f94a2011-06-18 04:42:44 -070076 my_ps_path="${STRING_COLOR}\w${normal}";
rjorgensone8a4e352011-06-17 06:13:55 -070077
78 # nice prompt
79 case "`id -u`" in
rjorgenson2b4f94a2011-06-18 04:42:44 -070080 0) PS1="${TITLEBAR}${BRACKET_COLOR}┌─[$my_ps_root${BRACKET_COLOR}][$my_ps_host${BRACKET_COLOR}]$(modern_scm_prompt)$(__my_rvm_ruby_version)${BRACKET_COLOR}[${STRING_COLOR}\w${BRACKET_COLOR}]$(is_vim_shell)
81${BRACKET_COLOR}└─$(my_prompt_char)${normal}"
rjorgensone8a4e352011-06-17 06:13:55 -070082 ;;
rjorgenson2b4f94a2011-06-18 04:42:44 -070083 *) PS1="${TITLEBAR}${BRACKET_COLOR}┌─[$my_ps_user${BRACKET_COLOR}][$my_ps_host${BRACKET_COLOR}]$(modern_scm_prompt)$(__my_rvm_ruby_version)${BRACKET_COLOR}[${STRING_COLOR}\w${BRACKET_COLOR}]$(is_vim_shell)
84└─$(todo_txt_count)$(my_prompt_char)"
rjorgensone8a4e352011-06-17 06:13:55 -070085 ;;
86 esac
87}
88
rjorgenson2b4f94a2011-06-18 04:42:44 -070089PS2="└─$(my_prompt_char)"
rjorgensone8a4e352011-06-17 06:13:55 -070090
91
92
93PROMPT_COMMAND=prompt