LBRANCH=$(eval "${BRANCH[$DIR]}")
LTYPE="${TYPE[$DIR]}"
if [ "$color_prompt" = yes ]; then
- VCS_info="${nocolor}${vcs_symbols_color}(${nocolor}$LTYPE${vcs_symbols_color})-${vcs_symbols_color}[${vcs_branch_color}$LBRANCH${vcs_symbols_color}]${nocolor}"
+ VCS_info="${nocolor}${vcs_symbols_color}(${vcs_type_color}$LTYPE${vcs_symbols_color})-${vcs_symbols_color}[${vcs_branch_color}$LBRANCH${vcs_symbols_color}]${nocolor}"
else
VCS_info="($LTYPE)-[$LBRANCH]"
fi
# | Génération du prompt |
# +----------------------+
- cyan='\[\e[1;36m\]'
- violet='\[\e[1;35m\]'
- violet_thin='\[\e[0;35m\]'
- jaune='\[\e[1;33m\]'
- rouge='\[\e[1;31m\]'
- vert='\[\e[1;32m\]'
- vert_thin='\[\e[0;32m\]'
- bleu='\[\e[1;34m\]'
- nocolor='\[\e[0m\]'
+ # Définition des couleurs
+ # Pour les utiliser dans le prompt,
+ # les couleurs doivent être entourés de \[ et \] pour délimiter les caractères
+ # invisibles
+ cyan='\e[1;36m'
+ violet='\e[1;35m'
+ violet_thin='\e[0;35m'
+ jaune='\e[1;33m'
+ jaune_thin='\e[0;33m'
+ rouge='\e[1;31m'
+ vert='\e[1;32m'
+ vert_thin='\e[0;32m'
+ bleu='\e[1;34m'
+ blanc='\e[1;37m'
+ nocolor='\e[0m'
+ cyan_prompt="\[${cyan}\]"
+ violet_prompt="\[${violet}\]"
+ violet_thin_prompt="\[${violet_thin}\]"
+ jaune_prompt="\[${jaune}\]"
+ jaune_thin_prompt="\[${jaune_thin}\]"
+ rouge_prompt="\[${rouge}\]"
+ vert_prompt="\[${vert}\]"
+ vert_thin_prompt="\[${vert_thin}\]"
+ bleu_prompt="\[${bleu}\]"
+ nocolor_prompt="\[${nocolor}\]"
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# support de la couleur
color_prompt=yes
# Couleurs dans "user@host $"
- username_color=$rouge
- host_color=$bleu
- symbols_color=$vert
+ username_color=${rouge_prompt}
+ host_color=${bleu_prompt}
+ symbols_color=${vert_prompt}
# Couleur de la ligne séparatrice de prompt
- line_color=$cyan
+ line_color=${cyan}
+ line_color_prompt=${cyan_prompt}
# Couleur du path actuel
- pwd_color=$jaune
- # Couleur de la date
- date_color=$violet
+ pwd_color=${jaune_prompt}
+ # Couleur de la date (à chaque affichage du prompt)
+ date_color=${violet_prompt}
+ # Couleur de la date au premier affichage (à l'ouverture du terminal)
+ announce_date_color=${blanc}
# Couleur d'affichage de vcs_info
- vcs_symbols_color=$violet_thin
- vcs_type_color=
- vcs_branch_color=$vert_thin
+ vcs_symbols_color=${violet_thin_prompt}
+ vcs_type_color=${jaune_thin_prompt}
+ vcs_branch_color=${vert_thin_prompt}
else
# pas de support de la couleur
color_prompt=no
local pwd ERR DATE PROMPT DIR POST_DIR
(( SAVE_COLUMNS == COLUMNS )) || gen_minus_line
- #~# # À décommenter si on veut des infos
- #~# # quand on se trouve dans un dépôt versionné
- #~# get_vcs_info
+ # À décommenter si on veut des infos
+ # quand on se trouve dans un dépôt versionné
+ get_vcs_info
pwd=${PWD/#$HOME/'~'}
if (( ${#pwd} + ${VCS_size} + 27 > COLUMNS )); then
POST_DIR='${MINUS_LINE:'${#pwd}+${VCS_size}+1'+${#?}}'
fi
if [ "$color_prompt" = yes ]; then
- DIR="< ${pwd_color}"$DIR"${line_color} >"
+ DIR="< ${pwd_color}"$DIR"${line_color_prompt} >"
# On affiche le code de retour en "no color" si c'est 0, en rouge sinon
# Ceci n'est pas customizable à coup de variable,
# il faut changer $((31+($?==0)*6)) si vous y tenez vraiment et que vous comprenez ce que vous faites
- ERR='[ \[\e[1;$((31+($?==0)*6))m\]$?'${line_color}' ]'$MINUS_CHAR
- DATE="( ${date_color}\D{%H:%M:%S}${line_color} )"
+ ERR='[ \[\e[1;$((31+($?==0)*6))m\]$?'${line_color_prompt}' ]'$MINUS_CHAR
+ DATE="( ${date_color}\D{%H:%M:%S}${line_color_prompt} )"
PROMPT="${username_color}\u${symbols_color}@${host_color}\h ${symbols_color}\$ ${nocolor}"
- PS1=$TITLE${line_color}$MINUS_CHAR$DATE$MINUS_CHAR$DIR$MINUS_CHAR$VCS_info${line_color}$POST_DIR$ERR'\n'$PROMPT
+ PS1=$TITLE${line_color_prompt}$MINUS_CHAR$DATE$MINUS_CHAR$DIR$MINUS_CHAR$VCS_info${line_color_prompt}$POST_DIR$ERR'\n'$PROMPT
else
DIR="< "$DIR" >"
ERR='[ $? ]'$MINUS_CHAR
redate=${date//é/e}
redate=${redate//û/u}
if [ "$color_prompt" = yes ]; then
- echo -e "\e[1;36m┬─${redate//?/─}──┬${MINUS_LINE:${#date}-18}\n\
- │ \e[1;37m$date\e[1;31m \e[1;36m │\n\
- â\94\94â\94\80${redate//?/â\94\80}â\94\80â\94\80â\94\98\e[0m\n"
+ echo -e "${line_color}┬─${redate//?/─}─┬${MINUS_LINE:${#date}-18}\n\
+ │ ${announce_date_color}$date ${line_color}│\n\
+ └─${redate//?/─}─┘\e[0m\n"
else
echo -e "┬─${redate//?/─}──┬${MINUS_LINE:${#date}-18}\n\
│ $date │\n\
### ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ###
### Attention à ce que vous avez édité dans cette section ###
-
# +---------------------------------------+
# | Gestion de l'historique des commandes |
# +---------------------------------------+
export HISTCONTROL=ignoreboth
# Nombre de lignes d'historique à garder
-export HISTSIZE=5000
+export HISTSIZE=
# la même chose dans le fichier d'historique
-export HISTFILESIZE=5000
+export HISTFILESIZE=
# Mémoriser le timestamp d'exécution de la commande
export HISTTIMEFORMAT='%F %T - '
# Pour éviter un troll, aucune ligne de cette section n'est décommentée.
# Choisissez la vôtre.
-#~# export EDITOR='/usr/bin/nano'
+export EDITOR='/usr/bin/nano'
#~# export EDITOR='/usr/bin/vim'
#~# export EDITOR='/usr/bin/emacs'
#~# export EDITOR='/usr/bin/jed'