blob: 12e5b0412d9f6a0bb08ccb59d9933ac1cb382dbc [file] [log] [blame]
Mark Szymanski22288262011-02-14 21:12:25 -06001SCM_THEME_PROMPT_PREFIX=""
2SCM_THEME_PROMPT_SUFFIX=""
3
JFSIII1b7c9412011-06-17 19:45:21 -04004SCM_THEME_PROMPT_DIRTY=" ${bold_red}✗${normal}"
5SCM_THEME_PROMPT_CLEAN=" ${bold_green}✓${normal}"
6SCM_GIT_CHAR="${bold_green}±${normal}"
7SCM_SVN_CHAR="${bold_cyan}⑆${normal}"
8SCM_HG_CHAR="${bold_red}☿${normal}"
Mark Szymanski22288262011-02-14 21:12:25 -06009
10case $TERM in
11 xterm*)
12 TITLEBAR="\[\033]0;\w\007\]"
13 ;;
14 *)
15 TITLEBAR=""
16 ;;
17esac
18
19PS3=">> "
20
21is_vim_shell() {
22 if [ ! -z "$VIMRUNTIME" ]
23 then
24 echo "[${cyan}vim shell${normal}]"
25 fi
26}
27
28modern_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
38prompt() {
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
52PS2="└─▪ "
53
54
55
56PROMPT_COMMAND=prompt