N'avez-vous pas remarqué comme il est vite ennuyeux de devoir faire un git branch
ou un git status
pour savoir dans quelle branche on était et dans quel état était le dépôt ? Voilà une petite astuce pour ajouter ces deux informations directement dans votre prompt.
Ajoutez ceci à la fin de votre fichier ~/.bashrc
:
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
function parse_git_status {
noupdated=`git status --porcelain 2> /dev/null | grep -E "^ (M|D)" | wc -l`
nocommitted=`git status --porcelain 2> /dev/null | grep -E "^(M|A|D|R|C)" | wc -l`
if [[ $noupdated -gt 0 ]]; then echo -n "*"; fi
if [[ $nocommitted -gt 0 ]]; then echo -n "+"; fi
}
RED="\[\033[01;31m\]"
YELLOW="\[\033[01;33m\]"
GREEN="\[\033[01;32m\]"
BLUE="\[\033[01;34m\]"
NC="\[\033[0m\]"
case $TERM in
xterm*)
TITLEBAR='\[\e]0;\u@\h: \w\a\]';
;;
*)
TITLEBAR="";
;;
esac
PS1="${TITLEBAR}$RED\$(date +%H:%M) $GREEN\u@\h $BLUE\w$YELLOW\$(parse_git_branch)\$(parse_git_status) $BLUE\$ $NC"
Cette modification ajoute le nom de la branche en cours ainsi qu'un * si des fichiers trackés ont été modifiés mais pas ajoutés et + si des fichiers ont été modifiés mais le commit n'a pas encore été fait.
Le prompt est inspiré du prompt Gentoo. Quant à la barre des titres, elle est inspirée d'Ubuntu.
Enjoy it !
- Liste des couleurs Bash
- Source (en partie) : Show Your GIT Branch Name In Your Prompt