Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Boudy
fichiers_configuration
Commits
30b1fd7c
Commit
30b1fd7c
authored
Jul 25, 2013
by
Vincent Le gallic
Browse files
Fin du déshardcodage des couleurs.
On garde une version de la couleur sans les \[ \] et une version _prompt avec.
parent
399c89c0
Changes
1
Hide whitespace changes
Inline
Side-by-side
.bashrc
View file @
30b1fd7c
...
...
@@ -79,7 +79,7 @@ get_vcs_info () {
LBRANCH
=
$(
eval
"
${
BRANCH
[
$DIR
]
}
"
)
LTYPE
=
"
${
TYPE
[
$DIR
]
}
"
if
[
"
$color_prompt
"
=
yes
]
;
then
VCS_info
=
"
${
nocolor
}${
vcs_symbols_color
}
(
${
no
color
}
$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
...
...
@@ -111,33 +111,52 @@ 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\]'
# 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
...
...
@@ -183,14 +202,14 @@ function prompt_command
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
...
...
@@ -221,9 +240,9 @@ if [[ $(uname) == Linux && ( $(locale charmap) == UTF-8 && $TERM != screen ) ]];
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\
└─
${
redate
//?/─
}
─
─
┘
\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\
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment