This commit is contained in:
Jacob M Olson 2025-03-04 08:57:48 -05:00 committed by GitHub
commit a841a6f926
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 2 deletions

View File

@ -109,6 +109,8 @@ fi
# Checks if working tree is dirty
function parse_git_dirty() {
local STATUS
local STASH_STATUS
local STASH_VALID=false
local -a FLAGS
FLAGS=('--porcelain')
if [[ "$(__git_prompt_git config --get oh-my-zsh.hide-dirty)" != "1" ]]; then
@ -126,11 +128,23 @@ function parse_git_dirty() {
;;
esac
STATUS=$(__git_prompt_git status ${FLAGS} 2> /dev/null | tail -n 1)
STASH_STATUS="$(git stash list | wc -l)"
fi
if [[ ! -z ${ZSH_THEME_GIT_PROMPT_STASH} && ! -z ${ZSH_THEME_GIT_PROMPT_STASH_DIRTY} && ! -z ${ZSH_THEME_GIT_RESET_COLOR} ]]; then
STASH_VALID=true
fi
if [[ -n $STATUS ]]; then
echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
if [[ ! -z ${STASH_STATUS} && ${STASH_STATUS} != 0 && ${STASH_VALID} == true ]]; then
echo "${ZSH_THEME_GIT_PROMPT_STASH_DIRTY}${STASH_STATUS}${ZSH_THEME_GIT_RESET_COLOR}"
else
echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
fi
else
echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
if [[ ! -z ${STASH_STATUS} && ${STASH_STATUS} != 0 && ${STASH_VALID} ]]; then
echo "$ZSH_THEME_GIT_PROMPT_STASH${STASH_STATUS}${ZSH_THEME_GIT_RESET_COLOR}"
else
echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
fi
fi
}

View File

@ -36,6 +36,9 @@ RPS1+=" ${FG[237]}%n@%m%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_PREFIX=" ${FG[075]}(${FG[078]}"
ZSH_THEME_GIT_PROMPT_CLEAN=""
ZSH_THEME_GIT_PROMPT_DIRTY="${FG[214]}*%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_STASH="${FG[214]}↓"
ZSH_THEME_GIT_RESET_COLOR="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_STASH_DIRTY="${FG[214]}*↓"
ZSH_THEME_GIT_PROMPT_SUFFIX="${FG[075]})%{$reset_color%}"
# hg settings