summaryrefslogtreecommitdiff
path: root/.config/bash/rc.d/99_ps1.sh
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2015-08-22 03:51:52 -0400
committerLuke Shumaker <lukeshu@sbcglobal.net>2015-09-22 15:27:18 -0400
commit1ae109d7abae11a327f362bfdfb623ac0ac770e0 (patch)
tree5bf25f17077d4477c4a18a401081493076a8c28a /.config/bash/rc.d/99_ps1.sh
parentef71eedb6bcc3889128af24df3aa668dde3e2c6f (diff)
Clean up bash configuration, and bash-emacs integration
Diffstat (limited to '.config/bash/rc.d/99_ps1.sh')
-rw-r--r--.config/bash/rc.d/99_ps1.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/.config/bash/rc.d/99_ps1.sh b/.config/bash/rc.d/99_ps1.sh
new file mode 100644
index 0000000..450e118
--- /dev/null
+++ b/.config/bash/rc.d/99_ps1.sh
@@ -0,0 +1,20 @@
+#!/hint/bash
+
+if tput setaf 1 &>/dev/null; then
+ # We have color support; assume it's compliant with Ecma-48
+ # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
+ # a case would tend to support setf rather than setaf.)
+ RESET="\\[$(tput sgr0)\\]"
+ BOLD="\\[$(tput bold)\\]"
+ RED="\\[$(tput setaf 1)\\]"
+ GREEN="\\[$(tput setaf 2)\\]"
+ BLUE="\\[$(tput setaf 4)\\]"
+
+ STATUS="${BOLD}["
+ STATUS+="\$(v=\$?; [[ \$v = 0 ]] && c='${GREEN}' || c='${RED}'; printf %s%03i \$c \$v)"
+ STATUS+="${RESET}${BOLD}]${RESET}"
+else
+ STATUS='[$(printf "%03i" $?)]'
+fi
+PS1="${STATUS} ${BOLD}${GREEN}\u@\h${BLUE}:\w${RESET}${PS1_EXTRA}\\n\\$ "
+unset RESET BOLD RED GREEN BLUE STATUS PS1_EXTRA