44 lines
		
	
	
	
		
			968 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			968 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/bin/sh
 | 
						|
# Came from here: https://raw.githubusercontent.com/PlatyPew/dotfiles/master/configs/git/git-st
 | 
						|
IFS=
 | 
						|
status="$(git -c color.status=always status -sb)"
 | 
						|
if [ $? -ne 0 ]
 | 
						|
then
 | 
						|
    exit 1
 | 
						|
fi
 | 
						|
 | 
						|
diff="$(git diff --color --stat HEAD 2> /dev/null | sed '$d; s/^ //' | cut -d '|' -f 2)"
 | 
						|
 | 
						|
IFS=$'\n' status=($status)
 | 
						|
IFS=$'\n' diff=($diff)
 | 
						|
 | 
						|
len=-1
 | 
						|
for i in $(seq 1 $(( ${#status[@]} - 1)))
 | 
						|
do
 | 
						|
    if [ ${#status[i]} -gt $len ]
 | 
						|
    then
 | 
						|
        len=${#status[i]}
 | 
						|
    fi
 | 
						|
done
 | 
						|
(( len *= -1 ))
 | 
						|
 | 
						|
for i in $(seq 0 $(( ${#status[@]} - 1)))
 | 
						|
do
 | 
						|
    currStatus=${status[i]}
 | 
						|
    if [ $i -eq 0 ]
 | 
						|
    then
 | 
						|
        echo "${status[0]}" | cut -d ' ' -f 2-
 | 
						|
    else
 | 
						|
        if [ ! -z ${diff[i - 1]} ]
 | 
						|
        then
 | 
						|
            currDiff="|${diff[i - 1]}"
 | 
						|
        else
 | 
						|
            currDiff=""
 | 
						|
        fi
 | 
						|
        printf "%*s  %s\n" $len "${currStatus}" "${currDiff}"
 | 
						|
    fi
 | 
						|
done
 | 
						|
if [ $(( ${#status[@]} - 1)) -eq 0 ]
 | 
						|
then
 | 
						|
    printf "\033[93mNothing to commit, working tree clean\033[0m\n"
 | 
						|
fi
 |