summaryrefslogtreecommitdiff
path: root/25_Prompts.zsh
diff options
context:
space:
mode:
authorhugues <hugues@a0e5b806-a6f9-0310-978d-cbce73f8a913>2006-06-14 22:04:51 +0000
committerHugues Hiegel <hugues@hiegel.fr>2008-03-07 14:15:07 +0100
commitfb8e6a413979695cf315b259d84f77abc5c629db (patch)
tree63508cf94e26931fe261713d7f258e019fdfa534 /25_Prompts.zsh
parent3dcbc2edb014013cc5af208c1a01c3d5f06bd0fb (diff)
Zsh power !!
git-svn-id: svn+ssh://hugues@maison/opt/svn/private/hugues@245 a0e5b806-a6f9-0310-978d-cbce73f8a913
Diffstat (limited to '25_Prompts.zsh')
-rw-r--r--25_Prompts.zsh56
1 files changed, 56 insertions, 0 deletions
diff --git a/25_Prompts.zsh b/25_Prompts.zsh
new file mode 100644
index 0000000..2dbf1e5
--- /dev/null
+++ b/25_Prompts.zsh
@@ -0,0 +1,56 @@
+#!/bin/zsh
+
+## 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.
+# 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
+
+#color_red=31
+#color_green=32
+#color_yellow=33
+#color_blue=34
+#color_magenta=35
+#color_cyan=36
+
+## Couleur par défaut pour le prompt ROOT (c'est super pour sudo, ça...)
+PS1_ROOT=${PS1_ROOT:-31}
+if ( [ "$SSH_TTY" = "" ] )
+then
+ # Couleur par défaut pour les utilisateurs normaux (moi, quoi)
+ PS1_USER=${PS1_USER:-34}
+else
+ # 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:-35}
+fi
+
+## 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="%{[%(!."$PS1_ROOT"."$PS1_USER")m%}%n%{[1;%(!."$PS1_ROOT"."$PS1_USER")m%}@%{[0;%(!."$PS1_ROOT"."$PS1_USER")m%}%m%{%} (%{%}%y%{%}) [%(!.%{["$PS1_ROOT"m%}%d%{%}.%{["$PS1_USER"m%}%(5~:.../:)%4~%{%})]"${LD_PRELOAD:t:s/lib//:r}" %h%{[%(!."$PS1_ROOT";1."$PS1_USER")m%}#%{%} "
+
+# 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="%(?;;%{%}%?%{%}) %{[0;%(!."$PS1_ROOT"."$PS1_USER")m%}%D{%a%d%b|%H:%M\'%S}%{%}"
+
+# Ultime : prompt de correction :-)
+SPROMPT="zsh: %{%}%B«%R»%b%{%} ? Vous ne vouliez pas plutôt %{%}%B«%r»%b%{%} ? [%BN%byae] "
+