aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2016-09-26 16:09:36 -0300
committerSilvio Rhatto <rhatto@riseup.net>2016-09-26 16:09:36 -0300
commitab40c427c08395d9380652405fd41e3dfab2d188 (patch)
treeb4b2940314a7fcea24ed15588869e99aa14e9b40
parent6cee323418bce8774ba5b1256ca52e3e483b1ad4 (diff)
downloadshellprompt-ab40c427c08395d9380652405fd41e3dfab2d188.tar.gz
shellprompt-ab40c427c08395d9380652405fd41e3dfab2d188.tar.bz2
Check for git completion availability
-rwxr-xr-xfiles/prompt20
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"