1
0
Fork 0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2024-11-25 15:20:08 +00:00

feat(git-prompt): show deleted files (#11245)

This commit is contained in:
Lennart Ochel 2022-11-12 11:46:06 +01:00 committed by GitHub
parent 62929263fa
commit fb66b67d68
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 3 deletions

View file

@ -47,6 +47,7 @@ function update_current_git_vars() {
GIT_UNTRACKED=$__CURRENT_GIT_STATUS[7] GIT_UNTRACKED=$__CURRENT_GIT_STATUS[7]
GIT_STASHED=$__CURRENT_GIT_STATUS[8] GIT_STASHED=$__CURRENT_GIT_STATUS[8]
GIT_CLEAN=$__CURRENT_GIT_STATUS[9] GIT_CLEAN=$__CURRENT_GIT_STATUS[9]
GIT_DELETED=$__CURRENT_GIT_STATUS[10]
} }
git_super_status() { git_super_status() {
@ -69,6 +70,9 @@ git_super_status() {
if [ "$GIT_CHANGED" -ne "0" ]; then if [ "$GIT_CHANGED" -ne "0" ]; then
STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_CHANGED$GIT_CHANGED%{${reset_color}%}" STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_CHANGED$GIT_CHANGED%{${reset_color}%}"
fi fi
if [ "$GIT_DELETED" -ne "0" ]; then
STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_DELETED$GIT_DELETED%{${reset_color}%}"
fi
if [ "$GIT_UNTRACKED" -ne "0" ]; then if [ "$GIT_UNTRACKED" -ne "0" ]; then
STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_UNTRACKED$GIT_UNTRACKED%{${reset_color}%}" STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_UNTRACKED$GIT_UNTRACKED%{${reset_color}%}"
fi fi
@ -91,6 +95,7 @@ ZSH_THEME_GIT_PROMPT_BRANCH="%{$fg_bold[magenta]%}"
ZSH_THEME_GIT_PROMPT_STAGED="%{$fg[red]%}%{●%G%}" ZSH_THEME_GIT_PROMPT_STAGED="%{$fg[red]%}%{●%G%}"
ZSH_THEME_GIT_PROMPT_CONFLICTS="%{$fg[red]%}%{✖%G%}" ZSH_THEME_GIT_PROMPT_CONFLICTS="%{$fg[red]%}%{✖%G%}"
ZSH_THEME_GIT_PROMPT_CHANGED="%{$fg[blue]%}%{✚%G%}" ZSH_THEME_GIT_PROMPT_CHANGED="%{$fg[blue]%}%{✚%G%}"
ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[blue]%}%{-%G%}"
ZSH_THEME_GIT_PROMPT_BEHIND="%{↓%G%}" ZSH_THEME_GIT_PROMPT_BEHIND="%{↓%G%}"
ZSH_THEME_GIT_PROMPT_AHEAD="%{↑%G%}" ZSH_THEME_GIT_PROMPT_AHEAD="%{↑%G%}"
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%}%{…%G%}" ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%}%{…%G%}"

View file

@ -44,7 +44,7 @@ if po.returncode != 0:
sys.exit(0) # Not a git repository sys.exit(0) # Not a git repository
# collect git status information # collect git status information
untracked, staged, changed, conflicts = [], [], [], [] untracked, staged, changed, deleted, conflicts = [], [], [], [], []
ahead, behind = 0, 0 ahead, behind = 0, 0
status = [(line[0], line[1], line[2:]) for line in stdout.decode('utf-8').splitlines()] status = [(line[0], line[1], line[2:]) for line in stdout.decode('utf-8').splitlines()]
for st in status: for st in status:
@ -75,13 +75,15 @@ for st in status:
else: else:
if st[1] == 'M': if st[1] == 'M':
changed.append(st) changed.append(st)
if st[1] == 'D':
deleted.append(st)
if st[0] == 'U': if st[0] == 'U':
conflicts.append(st) conflicts.append(st)
elif st[0] != ' ': elif st[0] != ' ':
staged.append(st) staged.append(st)
stashed = get_stash() stashed = get_stash()
if not changed and not staged and not conflicts and not untracked: if not changed and not deleted and not staged and not conflicts and not untracked:
clean = 1 clean = 1
else: else:
clean = 0 clean = 0
@ -95,6 +97,7 @@ out = ' '.join([
str(len(changed)), str(len(changed)),
str(len(untracked)), str(len(untracked)),
str(stashed), str(stashed),
str(clean) str(clean),
str(len(deleted))
]) ])
print(out, end='') print(out, end='')