Skip to content

Instantly share code, notes, and snippets.

@junkdog
Created January 10, 2014 10:43
Show Gist options
  • Save junkdog/8349897 to your computer and use it in GitHub Desktop.
Save junkdog/8349897 to your computer and use it in GitHub Desktop.
.bash_prompt
#!/bin/bash
function parse_git_dirty {
[[ $(git status 2> /dev/null | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "*"
}
function parse_git_branch {
local C="\[\033[0;36m\]" # cyan
local EMC="\[\033[1;36m\]"
local branch=`git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/\1$(parse_git_dirty)/"`
if [[ $branch ]]; then
echo -en "(git:$branch)"
fi
}
bash_prompt() {
case $TERM in
xterm*|rxvt*)
local TITLEBAR='\[\033]0;\u:${NEW_PWD}\007\]'
;;
*)
local TITLEBAR=""
;;
esac
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
# emphasized (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\]"
local UC=$W # user's color
[ $UID -eq "0" ] && UC=$R # root's color
local h=`date +%H`
local m=`date +%M`
local s=`date +%S`
PS1="${EMC}[${C}\$(date +%H)${EMC}:${C}\$(date +%M)${EMC}:${C}\$(date +%S) \u${EMC}@${C}\h ${EMW}\w${EMC}]${C} \$(parse_git_branch) \n${UC}${EMC}\\$ ${NONE}"
}
bash_prompt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment