Skip to content

Instantly share code, notes, and snippets.

@fabioyamate
Created March 2, 2011 01:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fabioyamate/850319 to your computer and use it in GitHub Desktop.
Save fabioyamate/850319 to your computer and use it in GitHub Desktop.
git and bash completion
# bash-completion
if [ -f `brew --prefix`/etc/bash_completion ]; then
. `brew --prefix`/etc/bash_completion
fi
rvm_status() {
rvm_info=$(~/.rvm/bin/rvm-prompt)
if [ -n "$rvm_info" ]; then
echo "($rvm_info)"
fi
}
function parse_git_deleted {
[[ $(git status 2> /dev/null | grep deleted:) != "" ]] && echo "-"
}
function parse_git_added {
[[ $(git status 2> /dev/null | grep "Untracked files:") != "" ]] && echo '+'
}
function parse_git_modified {
[[ $(git status 2> /dev/null | grep modified:) != "" ]] && echo "*"
}
function parse_git_dirty {
# [[ $(git status 2> /dev/null | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "☠"
echo "$(parse_git_added)$(parse_git_modified)$(parse_git_deleted)"
}
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/[\1$(parse_git_dirty)]/"
}
# bash PS1
export PS1='\n\w $(rvm_status) $(parse_git_branch)\n$ '
# coloring
export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment