scripts/bashrc.d/prompt.sh

70 lines
1.3 KiB
Bash

# VARIABLES
declare -r fg_bleu='\001\e[38;5;39m\002'
declare -r fg_jaune='\001\e[38;5;214m\002'
declare -r fg_noir='\001\e[38;5;16m\002'
declare -r fg_orange='\001\e[38;5;208m\002'
declare -r fg_rouge='\001\e[38;5;124m\002'
declare -r bg_bleu='\001\e[48;5;39m\002'
declare -r bg_jaune='\001\e[48;5;214m\002'
declare -r bg_orange='\001\e[48;5;208m\002'
declare -r bg_rouge='\001\e[48;5;124m\002'
declare -r reset='\001\e[0m\002'
# FONCTIONS
p_geterr() {
err=$?
}
p_start() {
echo -e "\n${reset}${fg_orange}\uE0B6"
}
p_user() {
if [ -z $TERMUX_VERSION ]
then
user=$(grep $USER /etc/passwd | cut -d: -f5)
fi
if [ -z $user ]
then
echo -e "${bg_orange}${fg_noir}\u"
else
echo -e "${bg_orange}${fg_noir}$user"
fi
}
p_path() {
case $PWD in
$HOME) echo -e "${bg_jaune} \uE617";;
/) echo -e "${bg_jaune} \uF013";;
*) echo -e "${bg_jaune} \uEA83";;
esac
}
p_date() {
echo -e "${bg_bleu} $(date +%H:%M:%S)"
}
p_err() {
case $err in
0) echo -e "${bg_bleu}\uF00C${reset}";;
*) echo -e "${bg_bleu}${fg_jaune}\uF00D ${err}${reset}";;
esac
}
p_end() {
case $err in
0) echo -e "${fg_bleu}\uE0B4${reset}";;
*) echo -e "${fg_bleu}\uE0B4${reset}";;
esac
}
p_input() {
echo -e "${fg_orange}\u25B6${reset}"
}
PROMPT_COMMAND="p_geterr"
echo debug
PS1="$(p_start)$(p_user) \$(p_path) \w \$(p_date) \$(p_err)\$(p_end)\n$(p_input) "
PS2="$(p_input)"