diff --git a/README.md b/README.md index 424a19a..8fee2e0 100644 --- a/README.md +++ b/README.md @@ -95,12 +95,15 @@ BULLETTRAIN_PROMPT_CHAR="\$" BULLETTRAIN_PROMPT_ROOT=true ``` -The status segment backgound, foreground color and visibility: +The status segment background. Shows if the last command exited with error, and +if there is jobs on background running: ```bash BULLETTRAIN_STATUS_SHOW=true -BULLETTRAIN_STATUS_BG=black -BULLETTRAIN_STATUS_FG=default +BULLETTRAIN_EXIT_SHOW=false +BULLETTRAIN_STATUS_BG=green +BULLETTRAIN_STATUS_ERROR_BG=red +BULLETTRAIN_STATUS_FG=black ``` The time segment background, foreground color and visibility: diff --git a/bullet-train.zsh-theme b/bullet-train.zsh-theme index acf3953..c753110 100644 --- a/bullet-train.zsh-theme +++ b/bullet-train.zsh-theme @@ -25,13 +25,19 @@ fi # STATUS if [ ! -n "${BULLETTRAIN_STATUS_SHOW+1}" ]; then - BULLETTRAIN_STATUS_SHOW=false + BULLETTRAIN_STATUS_SHOW=true +fi +if [ ! -n "${BULLETTRAIN_EXIT_SHOW+1}" ]; then + BULLETTRAIN_EXIT_SHOW=false fi if [ ! -n "${BULLETTRAIN_STATUS_BG+1}" ]; then - BULLETTRAIN_STATUS_BG=black + BULLETTRAIN_STATUS_BG=green +fi +if [ ! -n "${BULLETTRAIN_STATUS_ERROR_BG+1}" ]; then + BULLETTRAIN_STATUS_ERROR_BG=red fi if [ ! -n "${BULLETTRAIN_STATUS_FG+1}" ]; then - BULLETTRAIN_STATUS_FG=default + BULLETTRAIN_STATUS_FG=black fi # TIME @@ -373,12 +379,17 @@ prompt_status() { local symbols symbols=() - [[ $RETVAL -ne 0 && $BULLETTRAIN_EXIT_SHOW != true ]] && symbols+="%{%F{red}%}✘ " - [[ $RETVAL -ne 0 && $BULLETTRAIN_EXIT_SHOW == true ]] && symbols+="%{%F{red}%}✘ $RETVAL" + [[ $RETVAL -ne 0 && $BULLETTRAIN_EXIT_SHOW != true ]] && symbols+="✘" + [[ $RETVAL -ne 0 && $BULLETTRAIN_EXIT_SHOW == true ]] && symbols+="✘ $RETVAL" [[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡" - [[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}⚙" + [[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="⚙" + + if [[ -n "$symbols" && $RETVAL -ne 0 ]] then + prompt_segment $BULLETTRAIN_STATUS_ERROR_BG $BULLETTRAIN_STATUS_FG "$symbols" + elif [[ -n "$symbols" ]] then + prompt_segment $BULLETTRAIN_STATUS_BG $BULLETTRAIN_STATUS_FG "$symbols" + fi - [[ -n "$symbols" ]] && prompt_segment $BULLETTRAIN_STATUS_BG $BULLETTRAIN_STATUS_FG "$symbols" } # Prompt Character @@ -403,8 +414,8 @@ prompt_char() { build_prompt() { RETVAL=$? - prompt_status prompt_time + prompt_status prompt_rvm prompt_virtualenv prompt_nvm