]> gitweb.pimeys.fr Git - config-20-100.git/commitdiff
On ne hardcode plus les couleurs. Ça permet de les changer dans le .bashrc.local
authorVincent Le Gallic <legallic@crans.org>
Thu, 25 Jul 2013 13:52:19 +0000 (15:52 +0200)
committerVincent Le Gallic <legallic@crans.org>
Thu, 25 Jul 2013 13:52:19 +0000 (15:52 +0200)
.bashrc

diff --git a/.bashrc b/.bashrc
index 409278c8378370500c078d1c8eb69966878f908d..041f2f9dd4e2009c77c3c90cd10d253f5bd8ad11 100644 (file)
--- a/.bashrc
+++ b/.bashrc
@@ -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\]'