-
-
Save yannk/52483 to your computer and use it in GitHub Desktop.
[plumbing] bash prompt integrating gist
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# add in your .bashrc | |
# http://henrik.nyh.se/2008/12/git-dirty-prompt | |
# http://www.simplisticcomplexity.com/2008/03/13/show-your-git-branch-name-in-your-prompt/ | |
# http://blog.cyberion.net/2009/01/improved-bash-prompt-for-git-usage.html | |
# username@Machine ~/dev/dir[master]$ # clean working directory | |
# username@Machine ~/dev/dir[master⚡]$ # dirty working directory | |
# | |
# I've made the following ajustements: | |
# - Use of plumbing, that should be faster than git status porcelain. | |
# - Don't show my repo as dirty if it has files unknown from the index (I always have). | |
# - Integrated to debian's PS1 (trivial to adapt) and uses standard __git_ps1 from bash_completion | |
# NOTE: if you notice bash weirdness, disable colors | |
function __git_dirty { | |
local dirty RED NO_COLOR | |
RED="\033[0;31m" | |
NO_COLOR="\e[0m" | |
dirty=$(git diff-index --cached --quiet HEAD 2>/dev/null || echo "⚡") | |
if [ ! -z "$dirty" ]; then | |
echo "${RED}${dirty}${NO_COLOR}"; | |
return; | |
fi | |
dirty=$(git diff-index --quiet HEAD 2>/dev/null || echo "⚡") | |
[ -z "$dirty" ] && return | |
echo "${RED}${dirty}${NO_COLOR}"; | |
} | |
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1 " [%s$(__git_dirty)]")\$ ' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment