2022-02-03
This commit is contained in:
parent
f86b8496ec
commit
db393215ce
55 changed files with 1907 additions and 0 deletions
61
home/dot-local/share/bash/prompt.sh
Normal file
61
home/dot-local/share/bash/prompt.sh
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
# shellcheck shell=bash
|
||||
|
||||
PSBIN="${HOME}/.local/share/bash"
|
||||
|
||||
prompt() {
|
||||
local status="$?" file
|
||||
PS1="${PSFIX}"
|
||||
PSSCM="$(source "${PSBIN}/prompt/prompt-scm.sh" 2>/dev/null )"
|
||||
PSPIP="$(source "${PSBIN}/prompt/prompt-pip.sh" 2>/dev/null )"
|
||||
|
||||
# done refreshing, starting to assemble it.
|
||||
PS1="${PS1}\\[\\e[0m\\]${PSSCM%% }${PSSCM:+" "}"
|
||||
PS1="${PS1}\\[\\e[0m\\]${PSPIP%% }${PSPIP:+" "}"
|
||||
# change prompt if last execution was not successful
|
||||
if [[ "${status}" -gt 0 ]]; then
|
||||
PS1="${PS1}\\[\\e[0;31m\\]\\$"
|
||||
else
|
||||
PS1="${PS1}\\[\\e[0;32m\\]\\$"
|
||||
fi
|
||||
# back to default
|
||||
PS1="${PS1}\\[\\e[0m\\] "
|
||||
}
|
||||
|
||||
# Use window titles only in known X terminals.
|
||||
case ${TERM} in
|
||||
xterm*|rxvt*|Eterm|aterm|kterm|gnome|screen)
|
||||
PSTITLE='\[\e]0;\u@\h:\w\a\]'
|
||||
;;
|
||||
*)
|
||||
PSTITLE=''
|
||||
;;
|
||||
esac
|
||||
|
||||
: "${PSUSERCOLOR:="1;33"}" # yellow by default
|
||||
: "${PSHOSTCOLOR:="1;33"}" # yellow by default
|
||||
|
||||
typeset -A PSHOSTCOLORS
|
||||
PSHOSTCOLORS[louis@desktop-louis]="38;5;164@1;30"
|
||||
|
||||
if [[ -n ${PSHOSTCOLORS[${USER}@${HOSTNAME}]} ]]; then
|
||||
PSUSERCOLOR="${PSHOSTCOLORS["${USER}@${HOSTNAME}"]%@*}"
|
||||
PSHOSTCOLOR="${PSHOSTCOLORS["${USER}@${HOSTNAME}"]##*@}"
|
||||
fi
|
||||
|
||||
if [[ ${EUID} -eq 0 ]]; then
|
||||
PSUSERCOLOR="38;5;160"
|
||||
fi
|
||||
|
||||
# window title if the terminal can interpret this
|
||||
PSFIX="${PSTITLE}"
|
||||
# user, with color according to preference
|
||||
PSFIX="${PSFIX}\\[\\e[${PSUSERCOLOR}m\\]\\u\\[\\e[0m\\]"
|
||||
# @
|
||||
PSFIX="${PSFIX}\\[\\e[0m\\]@"
|
||||
# host, with color according to preference
|
||||
PSFIX="${PSFIX}\\[\\e[${PSHOSTCOLOR}m\\]\\h\\[\\e[0m\\]"
|
||||
# current working directory.
|
||||
PSFIX="${PSFIX}\\[\\e[38;5;111m\\] \\W "
|
||||
|
||||
PROMPT_DIRTRIM=1
|
||||
PROMPT_COMMAND+=('prompt')
|
||||
Loading…
Add table
Add a link
Reference in a new issue