summaryrefslogtreecommitdiff
path: root/.config/bash/rc.d/99_ps1.sh
diff options
context:
space:
mode:
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