summaryrefslogtreecommitdiff
path: root/dot-oh-my-zsh/custom/themes/spaceship-prompt/sections/git_status.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'dot-oh-my-zsh/custom/themes/spaceship-prompt/sections/git_status.zsh')
m---------dot-oh-my-zsh0
-rw-r--r--dot-oh-my-zsh/custom/themes/spaceship-prompt/sections/git_status.zsh115
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
-}