mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2025-12-26 02:12:33 +01:00
Display various git states (dirty, staged and untracked)
This commit is contained in:
parent
548c23e5f3
commit
3fc27000d7
2 changed files with 24 additions and 4 deletions
20
lib/git.zsh
20
lib/git.zsh
|
|
@ -5,9 +5,23 @@ function git_prompt_info() {
|
|||
}
|
||||
|
||||
parse_git_dirty () {
|
||||
if [[ -n $(git status -s 2> /dev/null) ]]; then
|
||||
echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
|
||||
gitstat=$(git status -s 2>/dev/null | grep -v '\(^A|^M|^.M|??\)')
|
||||
|
||||
if [[ $(echo ${gitstat} | grep -v '^$' | wc -l | tr -d ' ') == 0 ]]; then
|
||||
echo -n "$ZSH_THEME_GIT_PROMPT_CLEAN"
|
||||
else
|
||||
echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
|
||||
echo -n "$ZSH_THEME_GIT_PROMPT_UNCLEAN_SPACER"
|
||||
fi
|
||||
|
||||
if [[ $(echo ${gitstat} | grep -c "^.M") > 0 ]]; then
|
||||
echo -n "$ZSH_THEME_GIT_PROMPT_DIRTY"
|
||||
fi
|
||||
|
||||
if [[ $(echo ${gitstat} | grep -c "^[MA]") > 0 ]]; then
|
||||
echo -n "$ZSH_THEME_GIT_PROMPT_STAGED"
|
||||
fi
|
||||
|
||||
if [[ $(echo ${gitstat} | grep -c '^??') > 0 ]]; then
|
||||
echo -n "$ZSH_THEME_GIT_PROMPT_UNTRACKED"
|
||||
fi
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,3 +8,9 @@ RPS1="${return_code}"
|
|||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}("
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX=") %{$reset_color%}"
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="*"
|
||||
ZSH_THEME_GIT_PROMPT_STAGED="+"
|
||||
ZSH_THEME_GIT_PROMPT_UNTRACKED="%%"
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_UNCLEAN_SPACER=" "
|
||||
Loading…
Add table
Add a link
Reference in a new issue