Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- function branch_name(){
- git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'
- }
- function added(){
- c=$(git status -s 2>&1 | awk 'BEGIN{a=0}{if($1=="A")a+=1}END{print a}')
- [ "$c" == "" ] && c=0
- echo $c
- }
- function topush(){
- c=$(git status | grep 'Your branch is ahead' | sed 's/.*by \([0-9]*\) commit.*/\1/')
- [ "$c" == "" ] && c=0
- echo $c
- }
- function modified(){
- git status -s 2>&1 | awk 'BEGIN{a=0}{if($1=="M")a+=1}END{print a}'
- }
- function untracked(){
- git status -s 2>&1 | awk 'BEGIN{a=0}{if($1=="??")a+=1}END{print a}'
- }
- function __git_ps1(){
- printf "%s,%d/%d\n" $(branch_name) $(modified) $(untracked)
- }
- function __git_ps1(){
- ylw='\033[33m'
- cya='\033[36m'
- red='\033[31m'
- grn='\033[32m'
- blk='\033[30m'
- rst='\033[0m'
- if [ "$(branch_name)" != "" ]; then
- def=${cya}
- [ $(modified) -gt 0 ] && mod="${red}+$(modified)" || mod="${def}0"
- [ $(untracked) -gt 0 ] && unt="${red}+$(untracked)" || unt="${def}0"
- [ $(added) -gt 0 ] && add="${grn}+$(added)" || add="${def}0"
- [ $(topush) -gt 0 ] && psh="${grn}+$(topush)" || psh="${def}0"
- printf " ${ylw}[$(branch_name):${mod}${ylw}:${unt}${ylw}:${add}${ylw}:${psh}${ylw}]\n"
- else
- printf ""
- fi
- }
- export PS1='\[\033[0;32m\]\u\[\033[0m\] \w$(__git_ps1)\[\033[0m\] \$ '
Add Comment
Please, Sign In to add comment