Added an option to show (defaults true) the details in git repos
parent
41b0677726
commit
2830020c5d
|
|
@ -11,6 +11,7 @@ SCM_THEME_PROMPT_SUFFIX='|'
|
||||||
|
|
||||||
SCM_GIT='git'
|
SCM_GIT='git'
|
||||||
SCM_GIT_CHAR='±'
|
SCM_GIT_CHAR='±'
|
||||||
|
SCM_GIT_SHOW_DETAILS=${SCM_GIT_SHOW_DETAILS:=true}
|
||||||
|
|
||||||
SCM_HG='hg'
|
SCM_HG='hg'
|
||||||
SCM_HG_CHAR='☿'
|
SCM_HG_CHAR='☿'
|
||||||
|
|
@ -83,12 +84,14 @@ function git_prompt_vars {
|
||||||
if [[ "$(git config --get bash-it.hide-status)" != "1" ]]; then
|
if [[ "$(git config --get bash-it.hide-status)" != "1" ]]; then
|
||||||
local status="$(git status -b --porcelain 2> /dev/null || git status --porcelain 2> /dev/null)"
|
local status="$(git status -b --porcelain 2> /dev/null || git status --porcelain 2> /dev/null)"
|
||||||
if [[ -n "${status}" ]] && [[ "${status}" != "\n" ]] && [[ -n "$(grep -v ^# <<< "${status}")" ]]; then
|
if [[ -n "${status}" ]] && [[ "${status}" != "\n" ]] && [[ -n "$(grep -v ^# <<< "${status}")" ]]; then
|
||||||
local untracked_count="$(egrep -c '^\?\? .+' <<< "${status}")"
|
if [[ "${SCM_GIT_SHOW_DETAILS}" = "true" ]]; then
|
||||||
local unstaged_count="$(egrep -c '^.[^ ?#] .+' <<< "${status}")"
|
local untracked_count="$(egrep -c '^\?\? .+' <<< "${status}")"
|
||||||
local staged_count="$(egrep -c '^[^ ?#]. .+' <<< "${status}")"
|
local unstaged_count="$(egrep -c '^.[^ ?#] .+' <<< "${status}")"
|
||||||
[[ "${untracked_count}" -gt 0 ]] && SCM_GIT_UNTRACKED="${SCM_GIT_UNTRACKED_CHAR}${untracked_count}"
|
local staged_count="$(egrep -c '^[^ ?#]. .+' <<< "${status}")"
|
||||||
[[ "${unstaged_count}" -gt 0 ]] && SCM_GIT_UNSTAGED="${SCM_GIT_UNSTAGED_CHAR}${unstaged_count}"
|
[[ "${untracked_count}" -gt 0 ]] && SCM_GIT_UNTRACKED="${SCM_GIT_UNTRACKED_CHAR}${untracked_count}"
|
||||||
[[ "${staged_count}" -gt 0 ]] && SCM_GIT_STAGED="${SCM_GIT_STAGED_CHAR}${staged_count}"
|
[[ "${unstaged_count}" -gt 0 ]] && SCM_GIT_UNSTAGED="${SCM_GIT_UNSTAGED_CHAR}${unstaged_count}"
|
||||||
|
[[ "${staged_count}" -gt 0 ]] && SCM_GIT_STAGED="${SCM_GIT_STAGED_CHAR}${staged_count}"
|
||||||
|
fi
|
||||||
SCM_DIRTY=1
|
SCM_DIRTY=1
|
||||||
SCM_STATE=${GIT_THEME_PROMPT_DIRTY:-$SCM_THEME_PROMPT_DIRTY}
|
SCM_STATE=${GIT_THEME_PROMPT_DIRTY:-$SCM_THEME_PROMPT_DIRTY}
|
||||||
else
|
else
|
||||||
|
|
@ -104,6 +107,7 @@ function git_prompt_vars {
|
||||||
local behind_re='.+behind ([0-9]+).+'
|
local behind_re='.+behind ([0-9]+).+'
|
||||||
[[ "${status}" =~ ${ahead_re} ]] && SCM_GIT_AHEAD="${SCM_GIT_AHEAD_CHAR}${BASH_REMATCH[1]}"
|
[[ "${status}" =~ ${ahead_re} ]] && SCM_GIT_AHEAD="${SCM_GIT_AHEAD_CHAR}${BASH_REMATCH[1]}"
|
||||||
[[ "${status}" =~ ${behind_re} ]] && SCM_GIT_BEHIND="${SCM_GIT_BEHIND_CHAR}${BASH_REMATCH[1]}"
|
[[ "${status}" =~ ${behind_re} ]] && SCM_GIT_BEHIND="${SCM_GIT_BEHIND_CHAR}${BASH_REMATCH[1]}"
|
||||||
|
|
||||||
local stash_count="$(git stash list 2> /dev/null | wc -l | tr -d ' ')"
|
local stash_count="$(git stash list 2> /dev/null | wc -l | tr -d ' ')"
|
||||||
[[ "${stash_count}" -gt 0 ]] && SCM_GIT_STASH="{${stash_count}}"
|
[[ "${stash_count}" -gt 0 ]] && SCM_GIT_STASH="{${stash_count}}"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue