Quite a convenient little snippet. Thought I would share it with all my dear readers and git lovers.
(Thanks to the original author, whom I cannot remember right now. I’ll gladly post the link to the original source if someone reminds me)
Add the snippet below to your .bash_profile
(Don’t forget to “source” the file if need be).
And now your bash will look something like:
$ /usr/home/teknoid/some-git-project(master)
Where, “(master)” is of course the git branch name you are currently working with. (Hey, picking of colors is up to you ;))
Enjoy.
#showing git branches in bash prompt
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
function proml {
local RED="\[\033[0;31m\]"
local LIGHT_RED="\[\033[1;31m\]"
local YELLOW="\[\033[0;33m\]"
local LIGHT_GREEN="\[\033[1;32m\]"
local WHITE="\[\033[1;37m\]"
local LIGHT_GRAY="\[\033[0;37m\]"
local LIGHT_PURPLE="\[\033[1;34m\]"
case $TERM in
xterm*)
TITLEBAR='\[\033]0;\u@\h:\w\007\]'
;;
*)
TITLEBAR=""
;;
esac
PS1="${TITLEBAR}\
$LIGHT_PURPLE\w$YELLOW\$(parse_git_branch)\
\n$LIGHT_GRAY\$ "
PS2='> '
PS4='+ '
}
proml
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
function proml {
local RED="\[\033[0;31m\]"
local LIGHT_RED="\[\033[1;31m\]"
local YELLOW="\[\033[0;33m\]"
local LIGHT_GREEN="\[\033[1;32m\]"
local WHITE="\[\033[1;37m\]"
local LIGHT_GRAY="\[\033[0;37m\]"
local LIGHT_PURPLE="\[\033[1;34m\]"
case $TERM in
xterm*)
TITLEBAR='\[\033]0;\u@\h:\w\007\]'
;;
*)
TITLEBAR=""
;;
esac
PS1="${TITLEBAR}\
$LIGHT_PURPLE\w$YELLOW\$(parse_git_branch)\
\n$LIGHT_GRAY\$ "
PS2='> '
PS4='+ '
}
proml