summaryrefslogtreecommitdiff
path: root/.config/bash/rc.d/99_ps1.sh
diff options
context:
space:
mode:
authorLuke Shumaker <shumakl@purdue.edu>2015-09-22 15:29:32 -0400
committerLuke Shumaker <shumakl@purdue.edu>2015-09-22 15:29:32 -0400
commit8f8b4b4954c103aec63d836c99de01f31c887136 (patch)
tree4660e476de9b2fdee6374f8b51243355fcb65912 /.config/bash/rc.d/99_ps1.sh
parent5c22284424454bbb89372399bda4ca0aef2f1f7c (diff)
parent6fd75fa99cc547ed9b9aa3657d698ac9552cc7f9 (diff)
Merge branch 'master' into purdue-cs/master
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