What do characters like !1 at the end of my Powerlevel10k prompt mean?
Asked Answered
T

1

12

I'm using Oh My Zsh with the Powerlevel10k theme.

I've installed the recommended fonts directly from the Powerlevel10k docs, updated the settings for fonts in Terminal, iTerm2, and VS Code according to the docs, and it mostly works, except that there is always some unexpected character at the end of the prompt (usually !1 or !2). I've found nothing in the docs, searches of forums, or internet searches that helps with this so far.

screenshot of prompt, end with develop !1 What does the !2 after the branch name (develop) in the git status part of the prompt mean?

Any hints that could help me resolve this, even just the right search term to help me find answers would be much appreciated.

Timbuktu answered 28/5, 2020 at 18:33 Comment(0)
G
47

From the Powerlevel10k FAQ:

Q: What do different symbols in Git status mean?

When using Lean, Classic or Rainbow style, Git status may look like this:

feature:master wip ⇣42⇡42 ⇠42⇢42 *42 merge ~42 +42 !42 ?42
Symbol Meaning Source
feature current branch; replaced with #tag or @commit if not on a branch git status --ignore-submodules=dirty
master remote tracking branch; only shown if different from local branch git rev-parse --abbrev-ref --symbolic-full-name @{u}
wip the latest commit's summary contains "wip" or "WIP" git show --pretty=%s --no-patch HEAD
= up to date with the remote (neither ahead nor behind) git rev-list --count HEAD...@{upstream}
⇣42 this many commits behind the remote git status --ignore-submodules=dirty
⇡42 this many commits ahead of the remote git status --ignore-submodules=dirty
⇠42 this many commits behind the push remote git rev-list --left-right --count HEAD...@{push}
⇢42 this many commits ahead of the push remote git rev-list --left-right --count HEAD...@{push}
*42 this many stashes git stash list
merge repository state git status --ignore-submodules=dirty
~42 this many merge conflicts git status --ignore-submodules=dirty
+42 this many staged changes git status --ignore-submodules=dirty
!42 this many unstaged changes git status --ignore-submodules=dirty
?42 this many untracked files git status --ignore-submodules=dirty
the number of staged, unstaged or untracked files is unknown echo $POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY or git config --get bash.showDirtyState

See also: How do I change the format of Git status?

Gig answered 29/5, 2020 at 10:42 Comment(2)
Thank you so much. This helps me understand what I'm looking at well enough to find answers.Timbuktu
I was looking for the meaning of * (stash) and found this. This deserves more votes. 👍Angellaangelle

© 2022 - 2024 — McMap. All rights reserved.