diff options
Diffstat (limited to 'dot-oh-my-zsh/custom/themes/spaceship-prompt/sections/git_status.zsh')
| m--------- | dot-oh-my-zsh | 0 | ||||
| -rw-r--r-- | dot-oh-my-zsh/custom/themes/spaceship-prompt/sections/git_status.zsh | 115 |
2 files changed, 0 insertions, 115 deletions
diff --git a/dot-oh-my-zsh b/dot-oh-my-zsh new file mode 160000 +Subproject 6fe84bf5c82da7b1f6d7c5ec3e5c447721ac8ce diff --git a/dot-oh-my-zsh/custom/themes/spaceship-prompt/sections/git_status.zsh b/dot-oh-my-zsh/custom/themes/spaceship-prompt/sections/git_status.zsh deleted file mode 100644 index ff346337..00000000 --- a/dot-oh-my-zsh/custom/themes/spaceship-prompt/sections/git_status.zsh +++ /dev/null @@ -1,115 +0,0 @@ -# -# Git status -# - -# ------------------------------------------------------------------------------ -# Configuration -# ------------------------------------------------------------------------------ - -SPACESHIP_GIT_STATUS_SHOW="${SPACESHIP_GIT_STATUS_SHOW=true}" -SPACESHIP_GIT_STATUS_PREFIX="${SPACESHIP_GIT_STATUS_PREFIX=" ["}" -SPACESHIP_GIT_STATUS_SUFFIX="${SPACESHIP_GIT_STATUS_SUFFIX="]"}" -SPACESHIP_GIT_STATUS_COLOR="${SPACESHIP_GIT_STATUS_COLOR="red"}" -SPACESHIP_GIT_STATUS_UNTRACKED="${SPACESHIP_GIT_STATUS_UNTRACKED="?"}" -SPACESHIP_GIT_STATUS_ADDED="${SPACESHIP_GIT_STATUS_ADDED="+"}" -SPACESHIP_GIT_STATUS_MODIFIED="${SPACESHIP_GIT_STATUS_MODIFIED="!"}" -SPACESHIP_GIT_STATUS_RENAMED="${SPACESHIP_GIT_STATUS_RENAMED="»"}" -SPACESHIP_GIT_STATUS_DELETED="${SPACESHIP_GIT_STATUS_DELETED="✘"}" -SPACESHIP_GIT_STATUS_STASHED="${SPACESHIP_GIT_STATUS_STASHED="$"}" -SPACESHIP_GIT_STATUS_UNMERGED="${SPACESHIP_GIT_STATUS_UNMERGED="="}" -SPACESHIP_GIT_STATUS_AHEAD="${SPACESHIP_GIT_STATUS_AHEAD="⇡"}" -SPACESHIP_GIT_STATUS_BEHIND="${SPACESHIP_GIT_STATUS_BEHIND="⇣"}" -SPACESHIP_GIT_STATUS_DIVERGED="${SPACESHIP_GIT_STATUS_DIVERGED="⇕"}" - -# ------------------------------------------------------------------------------ -# Section -# ------------------------------------------------------------------------------ - -# We used to depend on OMZ git library, -# But it doesn't handle many of the status indicator combinations. -# Also, It's hard to maintain external dependency. -# See PR #147 at https://git.io/vQkkB -# See git help status to know more about status formats -spaceship_git_status() { - [[ $SPACESHIP_GIT_STATUS_SHOW == false ]] && return - - spaceship::is_git || return - - local INDEX git_status="" - - INDEX=$(command git status --porcelain -b 2> /dev/null) - - # Check for untracked files - if $(echo "$INDEX" | command grep -E '^\?\? ' &> /dev/null); then - git_status="$SPACESHIP_GIT_STATUS_UNTRACKED$git_status" - fi - - # Check for staged files - if $(echo "$INDEX" | command grep '^A[ MDAU] ' &> /dev/null); then - git_status="$SPACESHIP_GIT_STATUS_ADDED$git_status" - elif $(echo "$INDEX" | command grep '^M[ MD] ' &> /dev/null); then - git_status="$SPACESHIP_GIT_STATUS_ADDED$git_status" - elif $(echo "$INDEX" | command grep '^UA' &> /dev/null); then - git_status="$SPACESHIP_GIT_STATUS_ADDED$git_status" - fi - - # Check for modified files - if $(echo "$INDEX" | command grep '^[ MARC]M ' &> /dev/null); then - git_status="$SPACESHIP_GIT_STATUS_MODIFIED$git_status" - fi - - # Check for renamed files - if $(echo "$INDEX" | command grep '^R[ MD] ' &> /dev/null); then - git_status="$SPACESHIP_GIT_STATUS_RENAMED$git_status" - fi - - # Check for deleted files - if $(echo "$INDEX" | command grep '^[MARCDU ]D ' &> /dev/null); then - git_status="$SPACESHIP_GIT_STATUS_DELETED$git_status" - elif $(echo "$INDEX" | command grep '^D[ UM] ' &> /dev/null); then - git_status="$SPACESHIP_GIT_STATUS_DELETED$git_status" - fi - - # Check for stashes - if $(command git rev-parse --verify refs/stash >/dev/null 2>&1); then - git_status="$SPACESHIP_GIT_STATUS_STASHED$git_status" - fi - - # Check for unmerged files - if $(echo "$INDEX" | command grep '^U[UDA] ' &> /dev/null); then - git_status="$SPACESHIP_GIT_STATUS_UNMERGED$git_status" - elif $(echo "$INDEX" | command grep '^AA ' &> /dev/null); then - git_status="$SPACESHIP_GIT_STATUS_UNMERGED$git_status" - elif $(echo "$INDEX" | command grep '^DD ' &> /dev/null); then - git_status="$SPACESHIP_GIT_STATUS_UNMERGED$git_status" - elif $(echo "$INDEX" | command grep '^[DA]U ' &> /dev/null); then - git_status="$SPACESHIP_GIT_STATUS_UNMERGED$git_status" - fi - - # Check whether branch is ahead - local is_ahead=false - if $(echo "$INDEX" | command grep '^## [^ ]\+ .*ahead' &> /dev/null); then - is_ahead=true - fi - - # Check whether branch is behind - local is_behind=false - if $(echo "$INDEX" | command grep '^## [^ ]\+ .*behind' &> /dev/null); then - is_behind=true - fi - - # Check wheather branch has diverged - if [[ "$is_ahead" == true && "$is_behind" == true ]]; then - git_status="$SPACESHIP_GIT_STATUS_DIVERGED$git_status" - else - [[ "$is_ahead" == true ]] && git_status="$SPACESHIP_GIT_STATUS_AHEAD$git_status" - [[ "$is_behind" == true ]] && git_status="$SPACESHIP_GIT_STATUS_BEHIND$git_status" - fi - - if [[ -n $git_status ]]; then - # Status prefixes are colorized - spaceship::section \ - "$SPACESHIP_GIT_STATUS_COLOR" \ - "$SPACESHIP_GIT_STATUS_PREFIX$git_status$SPACESHIP_GIT_STATUS_SUFFIX" - fi -} |
