put this in your .bashrc/.bash_profile... works with both git and svn
parse_git_branch() { | |
ref=$(git symbolic-ref -q HEAD 2> /dev/null) || return | |
printf "${1:-(%s)}" "${ref#refs/heads/}" | |
} | |
parse_svn_revision() { | |
local DIRTY REV=$(svn info 2>/dev/null | grep Revision | sed -e 's/Revision: //') | |
[ "$REV" ] || return | |
[ "$(svn st)" ] && DIRTY=' *' | |
echo "(r$REV$DIRTY)" | |
} | |
pimp_prompt() { | |
local BLUE="\[\033[0;34m\]" | |
local BLUE_BOLD="\[\033[1;34m\]" | |
local RED="\[\033[0;31m\]" | |
local LIGHT_RED="\[\033[1;31m\]" | |
local GREEN="\[\033[0;32m\]" | |
local LIGHT_GREEN="\[\033[1;32m\]" | |
local WHITE="\[\033[0;37m\]" | |
local WHITE_BOLD="\[\033[1;37m\]" | |
local LIGHT_GRAY="\[\033[0;37m\]" | |
case $TERM in | |
xterm*) | |
TITLEBAR='\[\033]0;\u@\h:\w\007\]' | |
;; | |
*) | |
TITLEBAR="" | |
;; | |
esac | |
#PS1="${TITLEBAR}[$WHITE\u@$BLUE_BOLD\h$WHITE \w$GREEN\$(parse_git_branch)\$(parse_svn_revision) $RED\$(~/.rvm/bin/rvm-prompt v g)$WHITE]\$ " | |
PS1="${TITLEBAR}[$WHITE\u@$BLUE_BOLD\h$WHITE \w$GREEN\$(parse_git_branch)\$(parse_svn_revision)$WHITE]\$ " | |
PS2='> ' | |
PS4='+ ' | |
} | |
pimp_prompt |
This comment has been minimized.
This comment has been minimized.
Cactus, thanks for the notes. Do you have a gist of all your code somewhere? |
This comment has been minimized.
This comment has been minimized.
I am putting this here from my own use as well as others... not entirely sure what the small differences are here: http://en.newinstance.it/2010/05/23/git-autocompletion-and-enhanced-bash-prompt/ |
This comment has been minimized.
This comment has been minimized.
autocompletion? This is relevant to my interests... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This comment has been minimized.
two things.
then I use __git_ps1 in my PS1. This has the added benefit that if I use git-bashcompletion, it provides __git_ps1 which will override my declaration, and gives a more robust ps1 (handles some edge cases).