diff options
-rwxr-xr-x | files/prompt | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/files/prompt b/files/prompt index e4d4ddf..e580ded 100755 --- a/files/prompt +++ b/files/prompt @@ -5,33 +5,42 @@ # command_prompt() { + # Last command exit status exit_status="$?" - # colors + + # Colors COLOR_RED="\[\033[31m\]" COLOR_GREEN="\[\033[32m\]" COLOR_YELLOW="\[\033[33m\]" COLOR_BLUE="\[\033[34m\]" COLOR_MAGENTA="\[\033[35m\]" COLOR_CYAN="\[\033[36m\]" - COLOR_RED_BOLD="\[\033[31;1m\]" COLOR_GREEN_BOLD="\[\033[32;1m\]" COLOR_YELLOW_BOLD="\[\033[33;1m\]" COLOR_BLUE_BOLD="\[\033[34;1m\]" COLOR_MAGENTA_BOLD="\[\033[35;1m\]" COLOR_CYAN_BOLD="\[\033[36;1m\]" - COLOR_NONE="\[\033[0m\]" BOLD="\[\033[1m\]" + # Check status if [ "$exit_status" == "0" ]; then status_color="${COLOR_GREEN}" else status_color="${COLOR_RED_BOLD}" fi - # Yellow blue theme with git completion - PS1="${status_color}${exit_status}${COLOR_NONE} ${COLOR_CYAN}\D{%Y%m%d %H:%M:%S}${COLOR_NONE} ${COLOR_CYAN}${debian_chroot:+($debian_chroot) }${COLOR_NONE}${COLOR_YELLOW}\u@\h${COLOR_NONE}:${COLOR_CYAN}\w$(__git_ps1 " (%s)")${COLOR_NONE} \\$ " + # Yellow blue theme + local base_prompt="${status_color}${exit_status}${COLOR_NONE} ${COLOR_CYAN}\D{%Y%m%d %H:%M:%S}${COLOR_NONE} ${COLOR_CYAN}${debian_chroot:+($debian_chroot) }${COLOR_NONE}${COLOR_YELLOW}\u@\h${COLOR_NONE}:${COLOR_CYAN}\w" + + # Check if completion is available + if type __git_ps1 &> /dev/null; then + PS1="${base_prompt}$(__git_ps1 " (%s)")${COLOR_NONE} \\$ " + else + PS1="${base_prompt}${COLOR_NONE} \\$ " + fi + PS2="${BOLD}>${OFF} " } @@ -40,4 +49,5 @@ if ! type __git_ps1 &> /dev/null && [ -e "/etc/bash_completion.d/git" ]; then source /etc/bash_completion.d/git fi +# Set the command prompt function PROMPT_COMMAND="command_prompt" |