Commit ccbce1e7 authored by Vincent Le gallic's avatar Vincent Le gallic

On ne hardcode plus les couleurs. Ça permet de les changer dans le .bashrc.local

parent 3014da5d
......@@ -56,12 +56,7 @@ fi
#~#
#~# get_vcs_info () {
#~# # Donne les infos sur le dépôt VCS courant.
#~# # priorité à git, puis darcs
#~# local LBRANCH LTYPE BRANCH TYPE DIR violet orange vert
#~# violet="\[\e[35m\]"
#~# orange="\[\e[33m\]"
#~# vert="\[\e[32m\]"
#~# nocolor="\[\e[0m\]"
#~# local LBRANCH LTYPE BRANCH TYPE DIR
#~# declare -a DIR
#~# declare -A TYPE
#~# declare -A BRANCH
......@@ -84,7 +79,7 @@ fi
#~# LBRANCH=$(eval "${BRANCH[$DIR]}")
#~# LTYPE="${TYPE[$DIR]}"
#~# if [ "$color_prompt" = yes ]; then
#~# VCS_info="${nocolor}${violet}(${nocolor}$LTYPE${violet})-${violet}[${vert}$LBRANCH${violet}]${nocolor}"
#~# VCS_info="${nocolor}${vcs_symbols_color}(${nocolor}$LTYPE${vcs_symbols_color})-${vcs_symbols_color}[${vcs_branch_color}$LBRANCH${vcs_symbols_color}]${nocolor}"
#~# else
#~# VCS_info="($LTYPE)-[$LBRANCH]"
#~# fi
......@@ -116,6 +111,38 @@ function cd {
# | 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\]'
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
# Couleur de la ligne séparatrice de prompt
line_color=$cyan
# Couleur du path actuel
pwd_color=$jaune
# Couleur de la date
date_color=$violet
# Couleur d'affichage de vcs_info
vcs_symbols_color=$violet_thin
vcs_type_color=
vcs_branch_color=$vert_thin
else
# pas de support de la couleur
color_prompt=no
fi
# Génération de la ligne de "-"
function gen_minus_line
......@@ -135,19 +162,11 @@ function prompt_command
{
# Attention aux hacks pour que la couleur (et sa taille)
# soient évaluées au moment de l'affichage du prompt
local pwd cyan violet jaune rouge vert bleu ERR DATE PROMPT DIR POST_DIR
local pwd ERR DATE PROMPT DIR POST_DIR
(( SAVE_COLUMNS == COLUMNS )) || gen_minus_line
#~# #dépend de la section VCS
#~# get_vcs_info
cyan='\[\e[1;36m\]'
violet='\[\e[1;35m\]'
jaune='\[\e[1;33m\]'
rouge='\[\e[1;31m\]'
vert='\[\e[1;32m\]'
bleu='\[\e[1;34m\]'
nocolor='\[\e[0m\]'
#~# #dépend de la section VCS
#~# get_vcs_info
pwd=${PWD/#$HOME/'~'}
if (( ${#pwd} + ${VCS_size} + 27 > COLUMNS )); then
......@@ -163,11 +182,14 @@ function prompt_command
POST_DIR='${MINUS_LINE:'${#pwd}+${VCS_size}+1'+${#?}}'
fi
if [ "$color_prompt" = yes ]; then
DIR="< ${jaune}"$DIR"${cyan} >"
ERR='[ \[\e[1;$((31+($?==0)*6))m\]$?'${cyan}' ]'$MINUS_CHAR
DATE="( ${violet}\D{%H:%M:%S}${cyan} )"
PROMPT="${rouge}\u${vert}@${bleu}\h ${vert}\$ ${nocolor}"
PS1=$TITLE${cyan}$MINUS_CHAR$DATE$MINUS_CHAR$DIR$MINUS_CHAR$VCS_info${cyan}$POST_DIR$ERR'\n'$PROMPT
DIR="< ${pwd_color}"$DIR"${line_color} >"
# 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} )"
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
else
DIR="< "$DIR" >"
ERR='[ $? ]'$MINUS_CHAR
......@@ -177,14 +199,6 @@ function prompt_command
fi
}
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# support de la couleur
color_prompt=yes
else
# pas de support de la couleur
color_prompt=no
fi
# On change le titre de la fenêtre dynamiquement si on est sous X
if [[ $TERM = "xterm" ]]; then
TITLE='\[\e];\u@\h:\w\a\]'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment