scripts/bashrc.d/prompt.sh

73 lines
1.5 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() {
echo -ne "${bg_jaune} "
case $PWD in
$HOME/git*) echo -e "\uF418";;
$HOME/Sync*) echo -e "\uF021";;
$HOME/ZiK*|$HOME/Music*|$HOME/Musique*) echo -e "\uF001";;
$HOME/DL*|$HOME/Downloads*|$HOME/Téléchargements*) echo -e "\uF019";;
$HOME) echo -e "\uE617";;
/) echo -e "\uF013";;
*) echo -e "\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_rouge}\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"
PS1="$(p_start)$(p_user) \$(p_path) \w \$(p_date) \$(p_err)\$(p_end)\n$(p_input) "
PS2="$(p_input)"