Skip to content

Commit

Permalink
feat(symbols): add "verbose" alternate defaults
Browse files Browse the repository at this point in the history
  • Loading branch information
olets committed Jun 25, 2023
1 parent ace7ad8 commit 17ee687
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 40 deletions.
48 changes: 26 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,30 +163,34 @@ To print the configured values, run
git-prompt-kit-config
```

The default symbols should work well in any font. The default Git file status symbols are based on [Git's own short format](https://git-scm.com/docs/git-status#_short_format) (underscore `_` represents column placement in `git-status --short`'s output).
The default symbols should work well in any font.

Name | Type | Description | Default
The default Git file status symbols are based on [Git's own short format](https://git-scm.com/docs/git-status#_short_format) (underscore `_` represents empty columns in `git-status --short`'s output). The alternate "verbose" set of default symbols take up more space, but their meaning may be clearer.

Name | Type | Description | Default / verbose
---|---|---|---
`GIT_PROMPT_KIT_SYMBOL_AHEAD` | string | Precedes the Git commits-ahead segment | `+`
`GIT_PROMPT_KIT_SYMBOL_ASSUME_UNCHANGED` | string | Follows the Git assume-unchanged segment | ``
`GIT_PROMPT_KIT_SYMBOL_BEHIND` | string | Precedes the Git commits-behind segment | `-`
`GIT_PROMPT_KIT_SYMBOL_BRANCH` | string | Precedes the Git branch | none
`GIT_PROMPT_KIT_SYMBOL_CHAR_NORMAL` | string | Character shown at end of prompt for normal users | `%%` *
`GIT_PROMPT_KIT_SYMBOL_CHAR_ROOT` | string | Character shown at end of prompt for root users | `#`
`GIT_PROMPT_KIT_SYMBOL_COMMIT` | string | Precedes the Git commit | none
`GIT_PROMPT_KIT_SYMBOL_CONFLICTED` | string | Follows the Git conflicted files segment | `UU`
`GIT_PROMPT_KIT_SYMBOL_DELETED_STAGED` | string | Follows the Git unstaged deleted file segment | `D_`
`GIT_PROMPT_KIT_SYMBOL_DELETED` | string | Follows the Git unstaged deleted file segment | `_D`
`GIT_PROMPT_KIT_SYMBOL_HOST` | string | Precedes the host | `@`
`GIT_PROMPT_KIT_SYMBOL_MODIFIED_STAGED` | string | Follows the Git staged modified file segment | `M_`
`GIT_PROMPT_KIT_SYMBOL_MODIFIED` | string | Follows the Git unstaged modified file segment | `_M`
`GIT_PROMPT_KIT_SYMBOL_NEW` | string | Follows Git new file segment | `A_`
`GIT_PROMPT_KIT_SYMBOL_PUSH_REMOTE` | string | Precedes the Git push remote | `@{push}`
`GIT_PROMPT_KIT_SYMBOL_REMOTE` | string | Precedes the Git remote | `@{u}`
`GIT_PROMPT_KIT_SYMBOL_SKIP_WORKTREE` | string | Follows the Git skip-worktree file segment | ``
`GIT_PROMPT_KIT_SYMBOL_STASH` | string | Follows the Git stash segment | ``
`GIT_PROMPT_KIT_SYMBOL_TAG` | string | Precedes the Git tag | `@`
`GIT_PROMPT_KIT_SYMBOL_UNTRACKED` | string | Follows Git untracked file segment | `??`
`GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS` | string | Set to a non-empty string to enable the verbose default symbols | empty string
|||
`GIT_PROMPT_KIT_SYMBOL_AHEAD` | string | Precedes the Git commits-ahead segment | `+` / `ahead `
`GIT_PROMPT_KIT_SYMBOL_ASSUME_UNCHANGED` | string | Follows the Git assume-unchanged segment | `` / `assumed unchanged`
`GIT_PROMPT_KIT_SYMBOL_BEHIND` | string | Precedes the Git commits-behind segment | `-` / `behind `
`GIT_PROMPT_KIT_SYMBOL_BRANCH` | string | Precedes the Git branch | none / `branch: `
`GIT_PROMPT_KIT_SYMBOL_CHAR_NORMAL` | string | Character shown at end of prompt for normal users | `%%` * / `commit: `
`GIT_PROMPT_KIT_SYMBOL_CHAR_ROOT` | string | Character shown at end of prompt for root users | `#` /
`GIT_PROMPT_KIT_SYMBOL_COMMIT` | string | Precedes the Git commit | none / `commit: `
`GIT_PROMPT_KIT_SYMBOL_CONFLICTED` | string | Follows the Git conflicted files segment | `UU` / ` conflicted`
`GIT_PROMPT_KIT_SYMBOL_DELETED_STAGED` | string | Follows the Git unstaged deleted file segment | `D_` / ` staged deleted`
`GIT_PROMPT_KIT_SYMBOL_DELETED` | string | Follows the Git unstaged deleted file segment | `_D` / ` deleted`
`GIT_PROMPT_KIT_SYMBOL_HOST` | string | Precedes the host | `@` / ` host: `
`GIT_PROMPT_KIT_SYMBOL_MODIFIED_STAGED` | string | Follows the Git staged modified file segment | `M_` / ` modified staged`
`GIT_PROMPT_KIT_SYMBOL_MODIFIED` | string | Follows the Git unstaged modified file segment | `_M` / ` modified`
`GIT_PROMPT_KIT_SYMBOL_NEW` | string | Follows Git new file segment | `A_` / ` new`
`GIT_PROMPT_KIT_SYMBOL_PUSH_REMOTE` | string | Precedes the Git push remote | `@{push}` / `push remote: `
`GIT_PROMPT_KIT_SYMBOL_REMOTE` | string | Precedes the Git remote | `@{u}` / `remote: `
`GIT_PROMPT_KIT_SYMBOL_SKIP_WORKTREE` | string | Follows the Git skip-worktree file segment | `` / ` skip worktree`
`GIT_PROMPT_KIT_SYMBOL_STASH` | string | Follows the Git stash segment | `` / ` stashes`
`GIT_PROMPT_KIT_SYMBOL_TAG` | string | Precedes the Git tag | `@` / `tag: `
`GIT_PROMPT_KIT_SYMBOL_UNTRACKED` | string | Follows Git untracked file segment | `??` / ` untracked`

\* `%%` expands as `%` in the zsh prompt.

Expand Down
39 changes: 21 additions & 18 deletions git-prompt-kit.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -49,26 +49,28 @@ GIT_PROMPT_KIT_ROOT_TRAILING_COUNT=${GIT_PROMPT_KIT_ROOT_TRAILING_COUNT-1}
GIT_PROMPT_KIT_LOCAL=${GIT_PROMPT_KIT_LOCAL-local}

# Symbols options
GIT_PROMPT_KIT_SYMBOL_AHEAD=${GIT_PROMPT_KIT_SYMBOL_AHEAD-+}
GIT_PROMPT_KIT_SYMBOL_ASSUME_UNCHANGED=${GIT_PROMPT_KIT_SYMBOL_ASSUME_UNCHANGED-⥱ }
GIT_PROMPT_KIT_SYMBOL_BEHIND=${GIT_PROMPT_KIT_SYMBOL_BEHIND--}
GIT_PROMPT_KIT_SYMBOL_BRANCH=${GIT_PROMPT_KIT_SYMBOL_BRANCH-}
GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS=${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS-}
GIT_PROMPT_KIT_SYMBOL_CHAR_NORMAL=${GIT_PROMPT_KIT_SYMBOL_CHAR_NORMAL-%%}
GIT_PROMPT_KIT_SYMBOL_CHAR_ROOT=${GIT_PROMPT_KIT_SYMBOL_CHAR_ROOT-#}
GIT_PROMPT_KIT_SYMBOL_COMMIT=${GIT_PROMPT_KIT_SYMBOL_COMMIT-}
GIT_PROMPT_KIT_SYMBOL_CONFLICTED=${GIT_PROMPT_KIT_SYMBOL_CONFLICTED-UU}
GIT_PROMPT_KIT_SYMBOL_DELETED=${GIT_PROMPT_KIT_SYMBOL_DELETED-_D}
GIT_PROMPT_KIT_SYMBOL_DELETED_STAGED=${GIT_PROMPT_KIT_SYMBOL_DELETED_STAGED-D_}
GIT_PROMPT_KIT_SYMBOL_HOST=${GIT_PROMPT_KIT_SYMBOL_HOST-@}
GIT_PROMPT_KIT_SYMBOL_MODIFIED=${GIT_PROMPT_KIT_SYMBOL_MODIFIED-_M}
GIT_PROMPT_KIT_SYMBOL_MODIFIED_STAGED=${GIT_PROMPT_KIT_SYMBOL_MODIFIED_STAGED-M_}
GIT_PROMPT_KIT_SYMBOL_NEW=${GIT_PROMPT_KIT_SYMBOL_NEW-A_}
GIT_PROMPT_KIT_SYMBOL_PUSH_REMOTE=${GIT_PROMPT_KIT_SYMBOL_PUSH_REMOTE-@{push}}
GIT_PROMPT_KIT_SYMBOL_REMOTE=${GIT_PROMPT_KIT_SYMBOL_REMOTE-@{u}}
GIT_PROMPT_KIT_SYMBOL_SKIP_WORKTREE=${GIT_PROMPT_KIT_SYMBOL_SKIP_WORKTREE-⤳}
GIT_PROMPT_KIT_SYMBOL_STASH=${GIT_PROMPT_KIT_SYMBOL_STASH-⇲}
GIT_PROMPT_KIT_SYMBOL_TAG=${GIT_PROMPT_KIT_SYMBOL_TAG-@}
GIT_PROMPT_KIT_SYMBOL_UNTRACKED=${GIT_PROMPT_KIT_SYMBOL_UNTRACKED-??}
# Symbols which have porcelain default variants
GIT_PROMPT_KIT_SYMBOL_AHEAD=${GIT_PROMPT_KIT_SYMBOL_AHEAD-${${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS:+"ahead "}:-+}}
GIT_PROMPT_KIT_SYMBOL_ASSUME_UNCHANGED=${GIT_PROMPT_KIT_SYMBOL_ASSUME_UNCHANGED-${${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS:+"assumed unchanged"}:-⥱ }}
GIT_PROMPT_KIT_SYMBOL_BEHIND=${GIT_PROMPT_KIT_SYMBOL_BEHIND-${${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS:+"behind "}:--}}
GIT_PROMPT_KIT_SYMBOL_BRANCH=${GIT_PROMPT_KIT_SYMBOL_BRANCH-${${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS:+"branch: "}:-}}
GIT_PROMPT_KIT_SYMBOL_COMMIT=${GIT_PROMPT_KIT_SYMBOL_COMMIT-${${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS:+"commit: "}:-}}
GIT_PROMPT_KIT_SYMBOL_CONFLICTED=${GIT_PROMPT_KIT_SYMBOL_CONFLICTED-${${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS:+" conflicted"}:-UU}}
GIT_PROMPT_KIT_SYMBOL_DELETED=${GIT_PROMPT_KIT_SYMBOL_DELETED-${${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS:+" deleted"}:-_D}}
GIT_PROMPT_KIT_SYMBOL_DELETED_STAGED=${GIT_PROMPT_KIT_SYMBOL_DELETED_STAGED-${${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS:+" staged deleted"}:-D_}}
GIT_PROMPT_KIT_SYMBOL_HOST=${GIT_PROMPT_KIT_SYMBOL_HOST-${${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS:+" host: "}:-@}}
GIT_PROMPT_KIT_SYMBOL_MODIFIED=${GIT_PROMPT_KIT_SYMBOL_MODIFIED-${${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS:+" modified"}:-_M}}
GIT_PROMPT_KIT_SYMBOL_MODIFIED_STAGED=${GIT_PROMPT_KIT_SYMBOL_MODIFIED_STAGED-${${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS:+" modified staged"}:-M_}}
GIT_PROMPT_KIT_SYMBOL_NEW=${GIT_PROMPT_KIT_SYMBOL_NEW-${${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS:+" new"}:-A_}}
GIT_PROMPT_KIT_SYMBOL_PUSH_REMOTE=${GIT_PROMPT_KIT_SYMBOL_PUSH_REMOTE-${${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS:+"push remote: "}:-@{push}}}
GIT_PROMPT_KIT_SYMBOL_REMOTE=${GIT_PROMPT_KIT_SYMBOL_REMOTE-${${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS:+"remote: "}:-@{u}}}
GIT_PROMPT_KIT_SYMBOL_SKIP_WORKTREE=${GIT_PROMPT_KIT_SYMBOL_SKIP_WORKTREE-${${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS:+" skip worktree"}:-⤳}}
GIT_PROMPT_KIT_SYMBOL_STASH=${GIT_PROMPT_KIT_SYMBOL_STASH-${${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS:+" stashes"}:-⇲}}
GIT_PROMPT_KIT_SYMBOL_TAG=${GIT_PROMPT_KIT_SYMBOL_TAG-${${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS:+"tag: "}:-@}}
GIT_PROMPT_KIT_SYMBOL_UNTRACKED=${GIT_PROMPT_KIT_SYMBOL_UNTRACKED-${${GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS:+" untracked"}:-??}}

# END OF CONFIG VARIABLES

Expand Down Expand Up @@ -123,6 +125,7 @@ _git_prompt_kit_configs+=(
GIT_PROMPT_KIT_SYMBOL_STASH
GIT_PROMPT_KIT_SYMBOL_TAG
GIT_PROMPT_KIT_SYMBOL_UNTRACKED
GIT_PROMPT_KIT_VERBOSE_DEFAULT_SYMBOLS
)

git-prompt-kit-colors() {
Expand Down

0 comments on commit 17ee687

Please sign in to comment.