commit
abb467bc29
|
|
@ -0,0 +1,47 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Two line prompt showing the following information:
|
||||
# (time) SCM [username@hostname] pwd (SCM branch SCM status)
|
||||
# →
|
||||
#
|
||||
# Example:
|
||||
# (14:00:26) ± [foo@bar] ~/.bash_it (master ✓)
|
||||
# →
|
||||
#
|
||||
# The arrow on the second line is showing the exit status of the last command:
|
||||
# * Green: 0 exit status
|
||||
# * Red: non-zero exit status
|
||||
#
|
||||
# The exit code functionality currently doesn't work if you are using the 'fasd' plugin,
|
||||
# since 'fasd' is messing with the $PROMPT_COMMAND
|
||||
|
||||
|
||||
PROMPT_END_CLEAN="${green}→${reset_color}"
|
||||
PROMPT_END_DIRTY="${red}→${reset_color}"
|
||||
|
||||
function prompt_end() {
|
||||
echo -e "$PROMPT_END"
|
||||
}
|
||||
|
||||
prompt_setter() {
|
||||
local exit_status=$?
|
||||
if [[ $exit_status -eq 0 ]]; then PROMPT_END=$PROMPT_END_CLEAN
|
||||
else PROMPT_END=$PROMPT_END_DIRTY
|
||||
fi
|
||||
# Save history
|
||||
history -a
|
||||
history -c
|
||||
history -r
|
||||
PS1="(\t) $(scm_char) [${blue}\u${reset_color}@${green}\H${reset_color}] ${yellow}\w${reset_color}$(scm_prompt_info) ${reset_color}\n$(prompt_end) "
|
||||
PS2='> '
|
||||
PS4='+ '
|
||||
}
|
||||
|
||||
PROMPT_COMMAND=prompt_setter
|
||||
|
||||
SCM_THEME_PROMPT_DIRTY=" ${bold_red}✗${normal}"
|
||||
SCM_THEME_PROMPT_CLEAN=" ${bold_green}✓${normal}"
|
||||
SCM_THEME_PROMPT_PREFIX=" ("
|
||||
SCM_THEME_PROMPT_SUFFIX=")"
|
||||
RVM_THEME_PROMPT_PREFIX=" ("
|
||||
RVM_THEME_PROMPT_SUFFIX=")"
|
||||
Loading…
Reference in New Issue