Skip to content

Commit

Permalink
feat(ahead/behind, extended status): hide inactives by default
Browse files Browse the repository at this point in the history
  • Loading branch information
olets committed Jul 8, 2020
1 parent da5bbde commit 7f02618
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 14 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,15 +149,15 @@ Name | Type | Description | Default
`GIT_PROMPT_KIT_8_BIT_FALLBACKS_FOR_24_BIT_COLORS` | number | Load `zsh/nearcolor`? (YES if non-zero, NO if zero) | `1`
`GIT_PROMPT_KIT_CUSTOM_CONTENT` | string | The code for the custom component* | `%2~`**
`GIT_PROMPT_KIT_DEFAULT_REMOTE` | string | The default Git remote | `origin`
`GIT_PROMPT_KIT_HIDE_INACTIVE_EXTENDED_STATUS` | number | Hide Git stash, assumed-unchanged, and skip-worktree symbols (dimmed) when the count is zero? (YES if non-zero, NO if zero) | `1`
`GIT_PROMPT_KIT_HIDE_INACTIVE_STATUS` | number | Hide Git status symbols (dimmed) when the count is zero? (YES if non-zero, NO if zero) | `1`
`GIT_PROMPT_KIT_HIDE_TOOL_NAMES` | number | Do not show the word "Git" before the Git ref info? (YES if non-zero, NO if zero) | `1`
`GIT_PROMPT_KIT_HIDDEN_HOSTS` | array | The hosts that will not be included in the prompt | `()`
`GIT_PROMPT_KIT_HIDDEN_USERS` | array | The users that will not be included in the prompt | `()`
`GIT_PROMPT_KIT_LOCAL` | string | Shown if the checked-out branch has no upstream | `local`
`GIT_PROMPT_KIT_PROMPT_CHAR_NORMAL` | string | Character show at end of prompt for normal users | `%%` ***
`GIT_PROMPT_KIT_PROMPT_CHAR_ROOT` | string | Character show at end of prompt for root users | `#`
`GIT_PROMPT_KIT_SHOW_INACTIVE_AHEAD_BEHIND` | number | Show symbols for the commits behind/ahead of the upstream branch (dimmed) when the count is zero? (YES if non-zero, NO if zero) | `1`
`GIT_PROMPT_KIT_SHOW_INACTIVE_EXTENDED_STATUS` | number | Show Git stash, assumed-unchanged, and skip-worktree symbols (dimmed) when the count is zero? (YES if non-zero, NO if zero) | `1`
`GIT_PROMPT_KIT_SHOW_INACTIVE_STATUS` | number | Show Git status symbols (dimmed) when the count is zero? (YES if non-zero, NO if zero) | `1`
`GIT_PROMPT_KIT_USE_DEFAULT_PROMPT` | number | Use the default Git Prompt Kit prompt? (YES if non-zero, NO if zero) | `1`

Set variables in `.zshrc` before loading Git Prompt Kit. For example, to only show the user if _not_ `me`, only show the host if _not_ `my-computer` or `my-other-computer`, and use symbols to distinguish between branches and commits:
Expand Down
5 changes: 0 additions & 5 deletions Recipes.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ SPACESHIP_PROMPT_ORDER=(
GIT_PROMPT_KIT_USE_DEFAULT_PROMPT=0
# and any git-prompt-kit config options
# For example, a compact prompt to fit nicely with other sections:
GIT_PROMPT_KIT_SHOW_INACTIVE_AHEAD_BEHIND=0
GIT_PROMPT_KIT_SHOW_INACTIVE_EXTENDED_STATUS=0
GIT_PROMPT_KIT_SHOW_INACTIVE_STATUS=0
GIT_PROMPT_KIT_USE_DEFAULT_PROMPT=0

Expand All @@ -50,8 +48,6 @@ You can use Git Prompt Kit with [Starship](https://starship.rs/) (tested with zs
GIT_PROMPT_KIT_LINEBREAK_BEFORE_GIT_FILES=0
# and any git-prompt-kit config options.
# For example, a compact prompt to fit nicely with other modules:
GIT_PROMPT_KIT_SHOW_INACTIVE_AHEAD_BEHIND=0
GIT_PROMPT_KIT_SHOW_INACTIVE_EXTENDED_STATUS=0
GIT_PROMPT_KIT_SHOW_INACTIVE_STATUS=0
GIT_PROMPT_KIT_USE_DEFAULT_PROMPT=0

Expand Down Expand Up @@ -253,7 +249,6 @@ GIT_PROMPT_KIT_COLOR_USER=242
GIT_PROMPT_KIT_CUSTOM_CONTENT=%~
GIT_PROMPT_KIT_GIT_STATUS_ON_OWN_LINE=0
GIT_PROMPT_KIT_PROMPT_CHAR_NORMAL=❯
GIT_PROMPT_KIT_SHOW_INACTIVE_CONTEXT=0
GIT_PROMPT_KIT_SHOW_INACTIVE_STATUS=0
GIT_PROMPT_KIT_SYMBOL_AHEAD=⇡
GIT_PROMPT_KIT_SYMBOL_BEHIND=⇣
Expand Down
14 changes: 7 additions & 7 deletions git-prompt-kit.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
# Configurable options
GIT_PROMPT_KIT_CUSTOM_CONTENT=${GIT_PROMPT_KIT_CUSTOM_CONTENT-%2~} # see http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Shell-state
GIT_PROMPT_KIT_DEFAULT_REMOTE=${GIT_PROMPT_KIT_DEFAULT_REMOTE-origin}
GIT_PROMPT_KIT_HIDE_INACTIVE_AHEAD_BEHIND=${GIT_PROMPT_KIT_HIDE_INACTIVE_AHEAD_BEHIND:-1}
GIT_PROMPT_KIT_HIDE_INACTIVE_EXTENDED_STATUS=${GIT_PROMPT_KIT_HIDE_INACTIVE_EXTENDED_STATUS:-1}
GIT_PROMPT_KIT_HIDE_TOOL_NAMES=${GIT_PROMPT_KIT_HIDE_TOOL_NAMES:-1}
GIT_PROMPT_KIT_LINEBREAK_BEFORE_GIT_FILES=${GIT_PROMPT_KIT_LINEBREAK_BEFORE_GIT_FILES:-1}
GIT_PROMPT_KIT_LOCAL=${GIT_PROMPT_KIT_LOCAL-local}
Expand All @@ -17,8 +19,6 @@ GIT_PROMPT_KIT_PROMPT_CHAR_ROOT=${GIT_PROMPT_KIT_PROMPT_CHAR_ROOT-#}
GIT_PROMPT_KIT_SHOW_EXTENDED_STATUS=${GIT_PROMPT_KIT_SHOW_EXTENDED_STATUS:-1}
! [[ -v GIT_PROMPT_KIT_HIDDEN_HOSTS ]] && typeset -a GIT_PROMPT_KIT_HIDDEN_HOSTS=()
! [[ -v GIT_PROMPT_KIT_HIDDEN_USERS ]] && typeset -a GIT_PROMPT_KIT_HIDDEN_USERS=()
GIT_PROMPT_KIT_SHOW_INACTIVE_AHEAD_BEHIND=${GIT_PROMPT_KIT_SHOW_INACTIVE_AHEAD_BEHIND:-1}
GIT_PROMPT_KIT_SHOW_INACTIVE_EXTENDED_STATUS=${GIT_PROMPT_KIT_SHOW_INACTIVE_EXTENDED_STATUS:-1}
GIT_PROMPT_KIT_SHOW_INACTIVE_STATUS=${GIT_PROMPT_KIT_SHOW_INACTIVE_STATUS:-1}
GIT_PROMPT_KIT_USE_DEFAULT_PROMPT=${GIT_PROMPT_KIT_USE_DEFAULT_PROMPT:-1}

Expand Down Expand Up @@ -106,23 +106,23 @@ function _git_prompt_kit_update_git() {

# Git tree status: stashes

if (( GIT_PROMPT_KIT_SHOW_INACTIVE_EXTENDED_STATUS || VCS_STATUS_STASHES )); then
if (( ! GIT_PROMPT_KIT_HIDE_INACTIVE_EXTENDED_STATUS || VCS_STATUS_STASHES )); then
GIT_PROMPT_KIT_STASHES+="%F{$GIT_PROMPT_KIT_COLOR_INACTIVE}"
(( VCS_STATUS_STASHES )) && GIT_PROMPT_KIT_STASHES+="%F{$GIT_PROMPT_KIT_COLOR_STASH}$VCS_STATUS_STASHES"
GIT_PROMPT_KIT_STASHES+="$GIT_PROMPT_KIT_SYMBOL_STASH%F{$GIT_PROMPT_KIT_COLOR_INACTIVE}"
fi

# Git tree status: files with the assume-unchanged bit set

if (( GIT_PROMPT_KIT_SHOW_INACTIVE_EXTENDED_STATUS || VCS_STATUS_NUM_ASSUME_UNCHANGED )); then
if (( ! GIT_PROMPT_KIT_HIDE_INACTIVE_EXTENDED_STATUS || VCS_STATUS_NUM_ASSUME_UNCHANGED )); then
GIT_PROMPT_KIT_ASSUMED_UNCHANGED+="%F{$GIT_PROMPT_KIT_COLOR_INACTIVE}"
(( VCS_STATUS_NUM_ASSUME_UNCHANGED )) && GIT_PROMPT_KIT_ASSUMED_UNCHANGED+="%F{$GIT_PROMPT_KIT_COLOR_ASSUME_UNCHANGED}$VCS_STATUS_NUM_ASSUME_UNCHANGED"
GIT_PROMPT_KIT_ASSUMED_UNCHANGED+="$GIT_PROMPT_KIT_SYMBOL_ASSUME_UNCHANGED%F{$GIT_PROMPT_KIT_COLOR_INACTIVE}"
fi

# Git tree status: files with the skip-worktree bit set

if (( GIT_PROMPT_KIT_SHOW_INACTIVE_EXTENDED_STATUS || VCS_STATUS_NUM_SKIP_WORKTREE )); then
if (( ! GIT_PROMPT_KIT_HIDE_INACTIVE_EXTENDED_STATUS || VCS_STATUS_NUM_SKIP_WORKTREE )); then
GIT_PROMPT_KIT_SKIP_WORKTREE+="%F{$GIT_PROMPT_KIT_COLOR_INACTIVE}"
(( VCS_STATUS_NUM_SKIP_WORKTREE )) && GIT_PROMPT_KIT_SKIP_WORKTREE+="%F{$GIT_PROMPT_KIT_COLOR_SKIP_WORKTREE}$VCS_STATUS_NUM_SKIP_WORKTREE"
GIT_PROMPT_KIT_SKIP_WORKTREE+="$GIT_PROMPT_KIT_SYMBOL_SKIP_WORKTREE%F{$GIT_PROMPT_KIT_COLOR_INACTIVE}"
Expand Down Expand Up @@ -214,14 +214,14 @@ function _git_prompt_kit_update_git() {
GIT_PROMPT_KIT_UPSTREAM+="%F{$GIT_PROMPT_KIT_COLOR_REMOTE}${GIT_PROMPT_KIT_SYMBOL_BRANCH}${VCS_STATUS_REMOTE_BRANCH}%F{$GIT_PROMPT_KIT_COLOR_INACTIVE}"
fi

if (( GIT_PROMPT_KIT_SHOW_INACTIVE_AHEAD_BEHIND || VCS_STATUS_COMMITS_AHEAD )); then
if (( ! GIT_PROMPT_KIT_HIDE_INACTIVE_AHEAD_BEHIND || VCS_STATUS_COMMITS_AHEAD )); then
(( VCS_STATUS_COMMITS_AHEAD )) && GIT_PROMPT_KIT_AHEAD+="%F{$GIT_PROMPT_KIT_COLOR_REMOTE}"
GIT_PROMPT_KIT_AHEAD+="$GIT_PROMPT_KIT_SYMBOL_AHEAD"
(( VCS_STATUS_COMMITS_AHEAD )) && GIT_PROMPT_KIT_AHEAD+="$VCS_STATUS_COMMITS_AHEAD"
GIT_PROMPT_KIT_AHEAD+="%F{$GIT_PROMPT_KIT_COLOR_INACTIVE}"
fi

if (( GIT_PROMPT_KIT_SHOW_INACTIVE_AHEAD_BEHIND || VCS_STATUS_COMMITS_BEHIND )); then
if (( ! GIT_PROMPT_KIT_HIDE_INACTIVE_AHEAD_BEHIND || VCS_STATUS_COMMITS_BEHIND )); then
(( VCS_STATUS_COMMITS_BEHIND )) && GIT_PROMPT_KIT_BEHIND+="%F{$GIT_PROMPT_KIT_COLOR_REMOTE}"
GIT_PROMPT_KIT_BEHIND+="$GIT_PROMPT_KIT_SYMBOL_BEHIND"
(( VCS_STATUS_COMMITS_BEHIND )) && GIT_PROMPT_KIT_BEHIND+="$VCS_STATUS_COMMITS_BEHIND"
Expand Down

0 comments on commit 7f02618

Please sign in to comment.