The theme "strug" demonstrates this new funtionality. There are some new variables:
ZSH_THEME_GIT_PROMPT_REMOTE_STATUS_DETAILED : allows you to switch between the current and the new display option.
ZSH_THEME_GIT_PROMPT_REMOTE_STATUS_PREFIX : prefix for the remote status information
ZSH_THEME_GIT_PROMPT_REMOTE_STATUS_SUFFIX : suffix for the remote status information
ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE_COLOR : color for displaying the ahead information (currently only used for the detailed mode)
ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE_COLOR : color for displaying the behind information (currently only used for the detailed mode)
This patch makes git_prompt_status support three new status variables:
- ZSH_THEME_GIT_PROMPT_AHEAD
- ZSH_THEME_GIT_PROMPT_BEHIND
- ZSH_THEME_GIT_PROMPT_DIVERGED
With these extra variables it's easy to see (1) if you have commits in
your local branch that weren't pushed to the remote (AHEAD), (2) if
there are commits in the remote that you haven't merged/rebased yet
(BEHIND) or (3) if you have local unpushed commits AND the remote has
some commits you haven't merged yet (DIVERGED).
Refer to the first line displayed on `git status -b --porcelain`.
An example setup in a .zsh-theme file would be:
ZSH_THEME_GIT_PROMPT_AHEAD="↑"
ZSH_THEME_GIT_PROMPT_BEHIND="↓"
ZSH_THEME_GIT_PROMPT_DIVERGED="↕"
Changes method git_parse_ahead() on git.zsh lib file. Before this
change it checked directly against origin/master branch. Now it
uses $(current_branch) to check for not pushed changes against
the current remote branch.
Modifies the Git lib file (lib/git.zsh), adding three new prompt
methods:
- git_prompt_ahead(): Shows the content of the custom var
$ZSH_THEME_GIT_PROMPT_AHEAD if the local repository has
commits ahead from the remote origin repository
- git_prompt_short_sha(): Shows last commit SHA hash in short
mode wrapped between the content of the custom vars
$ZSH_THEME_GIT_PROMPT_SHA_BEFORE and
$ZSH_THEME_GIT_PROMPT_SHA_AFTER
- git_prompt_long_sha(): Shows last commit SHA hash in long
mode wrapped between the content of the custom vars
$ZSH_THEME_GIT_PROMPT_SHA_BEFORE and
$ZSH_THEME_GIT_PROMPT_SHA_AFTER