summaryrefslogtreecommitdiff
path: root/11_Prompts.zsh
diff options
context:
space:
mode:
Diffstat (limited to '11_Prompts.zsh')
-rw-r--r--11_Prompts.zsh82
1 files changed, 82 insertions, 0 deletions
diff --git a/11_Prompts.zsh b/11_Prompts.zsh
new file mode 100644
index 0000000..aec9f66
--- /dev/null
+++ b/11_Prompts.zsh
@@ -0,0 +1,82 @@
+##
+## Part of configuration files for Zsh 4
+## by Hugues Hiegel <hugues@hiegel.fr>
+##
+## NO WARRANTY PROVIDED, USE AT YOUR OWN RISKS
+##
+## You are encouraged to use, modify, and redistribute
+## these files with or without this notice.
+##
+
+VOID=0
+BOLD=1
+UNDERLINE=4
+RED=31
+GREEN=32
+YELLOW=33
+BLUE=34
+MAGENTA=35
+CYAN=36
+WHITE=37
+
+# Pour personnaliser les couleurs du prompt, configurez ces variables :
+# - PS1_ROOT pour la couleur du prompt ROOT
+# - PS1_USER pour la couleur du prompt USER local
+# - PS1_USER_SSH pour la couleur du prompt USER distant
+
+PS1_ROOT=$RED
+PS1_USER=$BLUE
+PS1_USER_SSH=$MAGENTA
+
+if ( [ "$SSH_TTY" != "" ] )
+then
+ # Couleur par défaut pour les utilisateurs normaux loggués via SSH
+ # Ça permet de faire une distinction rapide entre les shells locaux
+ # et les shells distants. C'est trop bon, mangez-en !
+ PS1_USER=${PS1_USER_SSH:-$PS1_USER}
+fi
+
+## Les couleurs !! ##
+C_="%{["
+_C="m%}"
+COLOR_PATH="0;%(!.$PS1_ROOT.$BOLD;$PS1_USER)"
+COLOR_TERM="0;%(!.$PS1_ROOT.$PS1_USER)"
+COLOR_USER="0;%(!.$PS1_ROOT.$PS1_USER)"
+COLOR_HOST="0;%(!.$PS1_ROOT.$PS1_USER)"
+COLOR_HIST=$VOID
+COLOR_AROB="0;1;%(!.$BOLD;$PS1_ROOT.$PS1_USER)"
+COLOR_DIES="0;%(!.$BOLD;$PS1_ROOT.$PS1_USER)"
+
+COLOR_ERRR="$BOLD;$RED"
+COLOR_DATE="0;%(!.$PS1_ROOT.$PS1_USER)"
+
+## Prompts
+#
+# Pour plus d'infos sur les paramètres d'expansion du prompt:
+# man zshmisc(1)
+#
+# La définition des prompts est séparée de celles desvariables d'environnement
+# classiques pour permettre de configurer, par exemple, les couleurs par défaut
+# dans ces fichiers.
+
+## Le prompt le plus magnifique du monde, et c'est le mien !
+# Affiche l'user, l'host, le tty et le pwd. Rien que ça...
+# Note que pour le pwd, on n'affiche que les 4 derniers dossiers pour éviter
+# de pourrir le fenêtre de terminal avec un prompt à rallonge.
+PS1=""$C_$COLOR_USER$_C"%n"$C_$COLOR_AROB$_C"@"$C_$COLOR_HOST$_C"%m"$C_$VOID$_C" ("$C_$COLOR_TERM$_C"%y"$C_$VOID$_C") ["$C_$COLOR_PATH$_C"%(!.%d.%(5~:.../:)%4~)"$C_$VOID$_C"]"${LD_PRELOAD:t:s/lib//:r}" "$C_$COLOR_HIST$_C"%h"$C_$COLOR_DIES$_C"%#"$C_$VOID$_C" "
+
+# Prompt level 2
+PS2="%{%}%B%_%b%{%}%B>%b%{%} "
+
+# Prompt level 3
+PS3="?# "
+
+# Prompt level 4
+PS4="+%N:%i> "
+
+# Prompt de droite, pour l'heure et le code d'erreur de la dernière commande
+RPS1="%(?;;"$C_$COLOR_ERRR$_C"%?"$C_$VOID$_C") "$C_$COLOR_DATE$_C"%D{%H:%M:%S %d/%m/%Y}"$C_$VOID$_C""
+
+# Ultime : prompt de correction :-)
+SPROMPT="zsh: $C_$BLUE$_C%B'%R'%b$C_$VOID$_C ? Vous ne vouliez pas plutôt $C_$MAGENTA$_C%B'%r'%b$C_$VOID$_C ? [%BN%byae] "
+