2022-01-15 19:00:35 +09:00
|
|
|
#! bash oh-my-bash.module
|
2017-10-10 18:07:01 +07:00
|
|
|
|
|
|
|
|
# Two line prompt showing the following information:
|
|
|
|
|
# (time) SCM [username@hostname] pwd (SCM branch SCM status)
|
|
|
|
|
# →
|
|
|
|
|
#
|
|
|
|
|
# Example:
|
|
|
|
|
# (14:00:26) ± [foo@bar] ~/.oh-my-bash (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
|
|
|
|
|
|
|
|
|
|
|
lib, themes: Resolve conflicting variables
"lib" has used the variables "red", "green", "yellow", "blue", and
"purple" for outputting logs to stdout/stderr. On the other hand,
"themes" has used the same variables for including escape sequences in
PS1. These two sets of variables have different values, i.e., the
latter is enclosed by '\[' and '\]' and contains escaped '\e', which
means that there have been variable conflicts. In this commit, more
specific variables are used in these places to resolve the conflicts.
2022-01-19 17:23:35 +09:00
|
|
|
PROMPT_END_CLEAN="${_omb_prompt_green}→${_omb_prompt_reset_color}"
|
2022-01-24 14:55:36 +09:00
|
|
|
PROMPT_END_DIRTY="${_omb_prompt_brown}→${_omb_prompt_reset_color}"
|
2017-10-10 18:07:01 +07:00
|
|
|
|
|
|
|
|
function prompt_end() {
|
|
|
|
|
echo -e "$PROMPT_END"
|
|
|
|
|
}
|
|
|
|
|
|
2022-01-11 12:40:43 +09:00
|
|
|
_omb_theme_PROMPT_COMMAND() {
|
2017-10-10 18:07:01 +07:00
|
|
|
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
|
2022-01-24 14:55:36 +09:00
|
|
|
PS1="($(clock_prompt)) $(scm_char) [${_omb_prompt_navy}\u${_omb_prompt_reset_color}@${_omb_prompt_green}\H${_omb_prompt_reset_color}] ${_omb_prompt_olive}\w${_omb_prompt_reset_color}$(scm_prompt_info) ${_omb_prompt_reset_color}\n$(prompt_end) "
|
2017-10-10 18:07:01 +07:00
|
|
|
PS2='> '
|
|
|
|
|
PS4='+ '
|
|
|
|
|
}
|
|
|
|
|
|
2022-01-11 12:40:43 +09:00
|
|
|
_omb_util_add_prompt_command _omb_theme_PROMPT_COMMAND
|
2017-10-10 18:07:01 +07:00
|
|
|
|
2022-01-24 14:55:36 +09:00
|
|
|
SCM_THEME_PROMPT_DIRTY=" ${_omb_prompt_bold_brown}✗${_omb_prompt_normal}"
|
2022-01-19 16:52:15 +09:00
|
|
|
SCM_THEME_PROMPT_CLEAN=" ${_omb_prompt_bold_green}✓${_omb_prompt_normal}"
|
2017-10-10 18:07:01 +07:00
|
|
|
SCM_THEME_PROMPT_PREFIX=" ("
|
|
|
|
|
SCM_THEME_PROMPT_SUFFIX=")"
|
|
|
|
|
RVM_THEME_PROMPT_PREFIX=" ("
|
|
|
|
|
RVM_THEME_PROMPT_SUFFIX=")"
|