move all existing stuff to old/
This commit is contained in:
parent
c215878777
commit
35f5e8472b
49 changed files with 0 additions and 0 deletions
77
old/_config/zsh/configs/default/git-status.zsh
Normal file
77
old/_config/zsh/configs/default/git-status.zsh
Normal file
|
@ -0,0 +1,77 @@
|
|||
GIT_PROMPT_PREFIX=""
|
||||
GIT_PROMPT_SUFFIX="%f%k"
|
||||
GIT_PROMPT_AHEAD="%F{yellow}NUM⬆ %f"
|
||||
GIT_PROMPT_BEHIND="%F{green}NUM⬇ %f"
|
||||
GIT_PROMPT_DELETED="%F{red}NUM◉ %f"
|
||||
GIT_PROMPT_MERGING="%{$fg_bold[magenta]%}Y%{$reset_color%}"
|
||||
GIT_PROMPT_UNTRACKED="%F{yellow}?%f"
|
||||
GIT_PROMPT_MODIFIED="%F{blue}✱ %f"
|
||||
GIT_PROMPT_STAGED="%F{green}✚ %f"
|
||||
|
||||
parse_git_branch() {
|
||||
(git symbolic-ref -q HEAD || git name-rev --name-only --no-undefined --always HEAD) 2> /dev/null
|
||||
}
|
||||
|
||||
parse_git_state() {
|
||||
local added=0
|
||||
local deleted=0
|
||||
local modified=0
|
||||
local renamed=0
|
||||
local unmerged=0
|
||||
local untracked=0
|
||||
local dirty=0
|
||||
|
||||
local status_cmd="git status --porcelain"
|
||||
while IFS=$'\n' read line; do
|
||||
[[ "$line" == ([ACDMT][\ MT]|[ACMT]D)\ * ]] && (( added++ ))
|
||||
[[ "$line" == [\ ACMRT]D\ * ]] && (( deleted++ ))
|
||||
[[ "$line" == ?[MT]\ * ]] && (( modified++ ))
|
||||
[[ "$line" == R?\ * ]] && (( renamed++ ))
|
||||
[[ "$line" == (AA|DD|U?|?U)\ * ]] && (( unmerged++ ))
|
||||
[[ "$line" == \?\?\ * ]] && (( untracked++ ))
|
||||
(( dirty++ ))
|
||||
done < <(${(z)status_cmd} 2> /dev/null)
|
||||
|
||||
local GIT_STATE=''
|
||||
local ahead_and_behind_cmd='git rev-list --count --left-right HEAD...@{upstream}'
|
||||
local ahead_and_behind="$(${(z)ahead_and_behind_cmd} 2> /dev/null)"
|
||||
local ahead="$ahead_and_behind[(w)1]"
|
||||
local behind="$ahead_and_behind[(w)2]"
|
||||
|
||||
if (( ahead > 0 )); then
|
||||
GIT_STATE=$GIT_STATE${GIT_PROMPT_AHEAD//NUM/$ahead}
|
||||
fi
|
||||
|
||||
if (( behind > 0 )); then
|
||||
GIT_STATE=$GIT_STATE${GIT_PROMPT_BEHIND//NUM/$behind}
|
||||
fi
|
||||
|
||||
if (( added > 0 )); then
|
||||
GIT_STATE=$GIT_STATE${GIT_PROMPT_STAGED}
|
||||
fi
|
||||
|
||||
if (( deleted > 0 )); then
|
||||
GIT_STATE=$GIT_STATE${GIT_PROMPT_DELETED//NUM/$deleted}
|
||||
fi
|
||||
|
||||
if (( modified > 0 )); then
|
||||
GIT_STATE=$GIT_STATE${GIT_PROMPT_MODIFIED}
|
||||
fi
|
||||
|
||||
if (( untracked > 0 )); then
|
||||
GIT_STATE=$GIT_STATE${GIT_PROMPT_UNTRACKED}
|
||||
fi
|
||||
|
||||
if [[ -n $GIT_STATE ]]; then
|
||||
echo "$GIT_STATE"
|
||||
fi
|
||||
}
|
||||
|
||||
git_prompt_string() {
|
||||
local git_where="$(parse_git_branch)"
|
||||
[ -n "$git_where" ] && echo "$GIT_PROMPT_PREFIX%F{magenta}${git_where#(refs/heads/|tags/)} $GIT_PROMPT_SYMBOLS$(parse_git_state)$GIT_PROMPT_SUFFIX"
|
||||
}
|
||||
|
||||
RPS1='$(git_prompt_string)'
|
||||
|
||||
#RPS1=$GIT_PROMPT_STAGED
|
Loading…
Add table
Add a link
Reference in a new issue