Skip to content

Instantly share code, notes, and snippets.

@mauricesvay
Created October 19, 2011 13:54
Show Gist options
  • Save mauricesvay/1298340 to your computer and use it in GitHub Desktop.
Save mauricesvay/1298340 to your computer and use it in GitHub Desktop.
.bash_profile
source "$HOME/.git-completion.bash" &&
export GIT_PS1_SHOWDIRTYSTATE=1 GIT_PS1_SHOWSTASHSTATE=1 GIT_PS1_SHOWUNTRACKEDFILES=1 &&
export PS1='\e[35m\u@\h:\e[36m\W\e[0m\e[33m$(__git_ps1 " (%s)")\e[0m\$'
@sgruhier
Copy link

les codes zarbos c pour avoir de belle couleurs

@mauricesvay
Copy link
Author

Pour moi tout est zarbi :)

@tdd
Copy link

tdd commented Oct 19, 2011

Petit commentaire de texte :

source "$HOME/.git-completion.bash" &&

Ça, ça exécute le script de définition des fonctions de complétion et de prompt de Git (si tu l'as mis à cet endroit)

export GIT_PS1_SHOWDIRTYSTATE=1 GIT_PS1_SHOWSTASHSTATE=1 GIT_PS1_SHOWUNTRACKEDFILES=1 &&

Configuration du script à coup de variables (y'en a même davantage sur les versions récentes) : afficher l'état dirty (marqueurs + et *), la présence de trucs dans le stash (marqueur $), la présence de fichiers non versionnés (marqueur %).

export PS1='\e[35m\u@\h:\e[36m\W\e[0m\e[33m$(__git_ps1 " (%s)")\e[0m\$'

PS1 est la variable qui définit la structure du prompt dans Bash. On a ici les segments suivants :

  1. \e[35m : Echap-crochet ouvre une demande de code couleur ANSI. 35 est le code couleur (magenta, comme indiqué ici). m ferme la demande, et active la couleur demandée.
  2. \u est une variable PS1 pour le login de l'utilisateur actuel
  3. @ est ici littéral
  4. \h est une variable PS1 pour le nom de la machine locale
  5. : est ici littéral
  6. \e[36m bascule sur la couleur de code 36 (cyan)
  7. \W est une variable PS1 pour le répertoire courant, relatif au HOME si possible
  8. \e[0m désactive la couleur ; c'est superflu vu que juste après…
  9. \e[33m passe en jaune :-)
  10. $(…) exécute une commande et exploite son affichage. La commande __git_ps1 est fournie par le script sourcé plus haut. On lui passe le format comme argument : " (%s)", qui lui dit d'ajouter le nom de la branche en cours entre parenthèses précédées d'une espace
  11. \e[0m désactive les codes couleurs spéciaux
  12. \$ est une variable PS1 qui vaudra $ en userland et # en root.

Plus clair ? Si ce prompt chie chez toi, vire tous les \e[…m pour commencer, et reteste :-)

@sgruhier
Copy link

Perso j'ai même ajouté la version de ruby/gemset de rbenv mais bon c'est uniquement pour les rubyiste

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment