giti color adaption + content adaption for prompt version

This commit is contained in:
Dirk Alders 2025-06-22 00:26:09 +02:00
parent cd6d66aade
commit 71937c6fb9

23
giti
View File

@ -1,6 +1,9 @@
#!/bin/bash #!/bin/bash
# #
# TODO: color change, if brach(dark magenta) or fix version (dark cyan) instead of green
# DEFINITIONS ##################################################################################### # DEFINITIONS #####################################################################################
COLOR_WHITE="\033[00m" COLOR_WHITE="\033[00m"
COLOR_CYAN="\033[1;36m" COLOR_CYAN="\033[1;36m"
@ -22,10 +25,10 @@ SYMBOL_COMMITED="●"
SYMBOL_STASH="⚑" SYMBOL_STASH="⚑"
COLOR_BRANCH="$COLOR_GREEN" COLOR_BRANCH="$COLOR_GREEN"
COLOR_NEW="$COLOR_DARKYELLOW" COLOR_NEW="$COLOR_RED"
COLOR_AHEAD="$COLOR_WHITE" COLOR_AHEAD="$COLOR_WHITE"
COLOR_BEHIND="$COLOR_WHITE" COLOR_BEHIND="$COLOR_WHITE"
COLOR_CHANGED="$COLOR_RED" COLOR_CHANGED="$COLOR_DARKYELLOW"
COLOR_COMMITED="$COLOR_GREEN" COLOR_COMMITED="$COLOR_GREEN"
COLOR_STASH="$COLOR_BLUE" COLOR_STASH="$COLOR_BLUE"
@ -53,11 +56,11 @@ while getopts "hps" options; do
done done
# GIT COMMANDS #################################################################################### # GIT COMMANDS ####################################################################################
GIT_URL="$(git config --get remote.origin.url 2> /dev/null)" GIT_URL="$(LANGUAGE='en_US.UTF-8 git' git config --get remote.origin.url 2> /dev/null)"
GIT_STATUS="$(LANGUAGE='en_US.UTF-8 git' git status -sb 2> /dev/null)" GIT_STATUS="$(LANGUAGE='en_US.UTF-8 git' git status -sb 2> /dev/null)"
GIT_FILES="$(git status -s 2> /dev/null)" GIT_FILES="$(LANGUAGE='en_US.UTF-8 git' git status -s 2> /dev/null)"
BRANCH_VAL="$(git branch 2> /dev/null | sed --quiet 's/* \(.*\)/\1/p')" BRANCH_VAL="$(LANGUAGE='en_US.UTF-8 git' git branch 2> /dev/null | sed --quiet 's/* \(.*\)/\1/p')"
STASH_VAL=$(git stash list 2> /dev/null | wc -l) STASH_VAL=$(LANGUAGE='en_US.UTF-8 git' git stash list 2> /dev/null | wc -l)
# decision for git output (path is repository) # decision for git output (path is repository)
if [ -z "$GIT_STATUS" ]; then if [ -z "$GIT_STATUS" ]; then
@ -98,9 +101,9 @@ fi
# GIT STATUS COLOR ################################################################################ # GIT STATUS COLOR ################################################################################
if [[ $COMMITED_VAL > 0 || $CHANGED_VAL > 0 || $NEW_VAL > 0 ]]; then if [[ $COMMITED_VAL > 0 || $CHANGED_VAL > 0 || $NEW_VAL > 0 ]]; then
COLOR_BRANCH="$COLOR_YELLOW" COLOR_BRANCH="$COLOR_WHITE"
elif [[ $BEHIND_VAL > 0 || $AHEAD_VAL > 0 ]]; then elif [[ $BEHIND_VAL > 0 || $AHEAD_VAL > 0 ]]; then
COLOR_BRANCH="$COLOR_YELLOW" COLOR_BRANCH="$COLOR_DARKGREEN"
fi fi
# GIT GATHERING ################################################################################### # GIT GATHERING ###################################################################################
@ -140,7 +143,9 @@ if [[ $PROMPT == "True" ]]; then
echo -e "$COLOR_DARKGREEN├──($GIT_STATUS_SUMMARY$COLOR_DARKGREEN) - $COLOR_CYAN$GIT_URL" echo -e "$COLOR_DARKGREEN├──($GIT_STATUS_SUMMARY$COLOR_DARKGREEN) - $COLOR_CYAN$GIT_URL"
if [[ $GIT_PROMPT_DETAILS == "on" && ! -z "$GIT_FILES" ]]; then if [[ $GIT_PROMPT_DETAILS == "on" && ! -z "$GIT_FILES" ]]; then
while IFS= read -r line ;do while IFS= read -r line ;do
if [[ $line != "??"* ]]; then FILES_STATUS=${line:0:2}
FILES_STATUS_CHANGED=${FILES_STATUS:1:1}
if [[ $FILES_STATUS_CHANGED != "?" && $FILES_STATUS_CHANGED != " " ]]; then
echo -e "$COLOR_DARKGREEN│ $COLOR_BRANCH$line" echo -e "$COLOR_DARKGREEN│ $COLOR_BRANCH$line"
fi fi
done <<< "$GIT_FILES" done <<< "$GIT_FILES"