Skip to content

Instantly share code, notes, and snippets.

@michaeldv
Created October 12, 2010 02:17
Show Gist options
  • Save michaeldv/621548 to your computer and use it in GitHub Desktop.
Save michaeldv/621548 to your computer and use it in GitHub Desktop.
function detect_rvm {
local gemset=$(echo $GEM_HOME | awk -F'@' '{print $2}')
[ "$gemset" != "" ] && gemset="@$gemset"
local version=$(echo $MY_RUBY_HOME | awk -F'-' '{print $2}')
[ "$version" != "" ] && version="$version"
local full="$version$gemset"
[ "$full" != "" ] && echo "$full"
}
function git_deleted {
[[ $(git status 2> /dev/null | grep deleted:) != "" ]] && echo "-"
}
function git_added {
[[ $(git status 2> /dev/null | grep "Untracked files:") != "" ]] && echo '+'
}
function git_modified {
[[ $(git status 2> /dev/null | grep modified:) != "" ]] && echo "*"
}
function git_dirty {
echo "$(git_added)$(git_modified)$(git_deleted)"
}
#function git_dirty {
# [[ $(git status 2> /dev/null | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "*"
#}
function git_branch {
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
echo " ("${ref#refs/heads/}$(git_dirty)")"
}
function last_cmd {
history | tail -1 | cut -c 8-
}
bash_prompt() {
local NONE='\[\033[0m\]' # unsets color to term's fg color
# regular colors
local K='\[\033[0;30m\]' # black
local R='\[\033[0;31m\]' # red
local G='\[\033[0;32m\]' # green
local Y='\[\033[0;33m\]' # yellow
local B='\[\033[0;34m\]' # blue
local M='\[\033[0;35m\]' # magenta
local C='\[\033[0;36m\]' # cyan
local W='\[\033[0;37m\]' # white
# empahsized (bolded) colors
local EMK='\[\033[1;30m\]'
local EMR='\[\033[1;31m\]'
local EMG='\[\033[1;32m\]'
local EMY='\[\033[1;33m\]'
local EMB='\[\033[1;34m\]'
local EMM='\[\033[1;35m\]'
local EMC='\[\033[1;36m\]'
local EMW='\[\033[1;37m\]'
# background colors
local BGK='\[\033[40m\]'
local BGR='\[\033[41m\]'
local BGG='\[\033[42m\]'
local BGY='\[\033[43m\]'
local BGB='\[\033[44m\]'
local BGM='\[\033[45m\]'
local BGC='\[\033[46m\]'
local BGW='\[\033[47m\]'
PS1="${G}\$(last_cmd)\n${M}\$(date +%H:%M) ${K}${BGW}\$(detect_rvm)${BGK} ${W}[\w]${C}\$(git_branch)${W}\\$ ${NONE}"
}
bash_prompt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment