UNPKG

1.97 kBapplication/x-shView Raw
1function getGit () {
2 local branch_name=`git branch 2>/dev/null | grep -e '\*' --color=never | sed 's/\* //'`
3 local status=0
4 local timelineSymbol=""
5 local COUNTER=0
6
7 if [[ $branch_name =~ .+ ]]; then
8
9 case "$(git status 2>/dev/null | grep -E -o 'nothing|Untracked|Changes|to be committed|Unmerged' | paste -s -d"," -)" in
10 "nothing")
11 # if [[ $(git status 2>/dev/null | grep -E "behind|ahead|diverged" 2>/dev/null) ]]; then
12 case "$(git status 2>/dev/null | grep -E -o 'behind|ahead|diverged' | paste -s -d"," -)" in
13 "behind")
14 timelineSymbol="-"
15 status=-1
16 ;;
17 "ahead")
18 timelineSymbol="+"
19 status=1 #"$COMMITS_AHEAD_OR_BEHIND"
20 ;;
21 "diverged")
22 timelineSymbol="!"
23 status=-2
24 ;;
25 *)
26 timelineSymbol=""
27 status=0 #"$NO_CHANGES_COLOR"
28 ;;
29 esac
30 # fi
31 ;;
32 'Untracked' | 'Untracked,nothing' | 'Unmerged' | 'Unmerged,Untracked')
33 status=2 #"$UNTRACKED_CHANGES_COLOR"
34 timelineSymbol+="*"
35 ;;
36 'Changes,to be committed')
37 status=3 #"[38;5;228m"
38 ;;
39 'Changes,Untracked' | 'Changes,to be committed,Changes,Untracked' | 'Changes,to be committed,Untracked')
40 status=4 #"$LOCAL_AND_UNTRACKED_CHANGES_COLOR"
41 timelineSymbol+="*"
42 ;;
43 *)
44 COUNTER=-5
45 status=5 #"$LOCAL_CHANGES_COLOR"
46 ;;
47 esac
48
49 echo -ne "$branch_name@@@$status@@@$timelineSymbol"
50 else
51 echo -ne "@@@"
52 fi
53}