lib/theme: `local hg_root` in `hg_prompt_vars()`

pull/2038/head
John D Pell 2022-02-23 16:38:58 -08:00
parent c9efc161ff
commit 7762aa687a
1 changed files with 7 additions and 6 deletions

View File

@ -360,6 +360,7 @@ function svn_prompt_vars() {
} }
function hg_prompt_vars() { function hg_prompt_vars() {
local hg_root bookmark
if [[ -n $(hg status 2> /dev/null) ]]; then if [[ -n $(hg status 2> /dev/null) ]]; then
SCM_DIRTY=1 SCM_DIRTY=1
SCM_STATE="${HG_THEME_PROMPT_DIRTY:-${SCM_THEME_PROMPT_DIRTY?}}" SCM_STATE="${HG_THEME_PROMPT_DIRTY:-${SCM_THEME_PROMPT_DIRTY?}}"
@ -370,20 +371,20 @@ function hg_prompt_vars() {
SCM_PREFIX="${HG_THEME_PROMPT_PREFIX:-${SCM_THEME_PROMPT_PREFIX-}}" SCM_PREFIX="${HG_THEME_PROMPT_PREFIX:-${SCM_THEME_PROMPT_PREFIX-}}"
SCM_SUFFIX="${HG_THEME_PROMPT_SUFFIX:-${SCM_THEME_PROMPT_SUFFIX-}}" SCM_SUFFIX="${HG_THEME_PROMPT_SUFFIX:-${SCM_THEME_PROMPT_SUFFIX-}}"
HG_ROOT="$(_bash-it-find-in-ancestor ".hg")/.hg" hg_root="$(_bash-it-find-in-ancestor ".hg")/.hg"
if [[ -f "$HG_ROOT/branch" ]]; then if [[ -f "$hg_root/branch" ]]; then
# Mercurial holds it's current branch in .hg/branch file # Mercurial holds it's current branch in .hg/branch file
SCM_BRANCH=$(< "${HG_ROOT}/branch") SCM_BRANCH=$(< "${hg_root}/branch")
local bookmark="${HG_ROOT}/bookmarks.current" bookmark="${hg_root}/bookmarks.current"
[[ -f "${bookmark}" ]] && SCM_BRANCH+=:$(< "${bookmark}") [[ -f "${bookmark}" ]] && SCM_BRANCH+=:$(< "${bookmark}")
else else
SCM_BRANCH=$(hg summary 2> /dev/null | grep branch: | awk '{print $2}') SCM_BRANCH=$(hg summary 2> /dev/null | grep branch: | awk '{print $2}')
fi fi
if [[ -f "$HG_ROOT/dirstate" ]]; then if [[ -f "$hg_root/dirstate" ]]; then
# Mercurial holds various information about the working directory in .hg/dirstate file. More on http://mercurial.selenic.com/wiki/DirState # Mercurial holds various information about the working directory in .hg/dirstate file. More on http://mercurial.selenic.com/wiki/DirState
SCM_CHANGE=$(hexdump -vn 10 -e '1/1 "%02x"' "$HG_ROOT/dirstate" | cut -c-12) SCM_CHANGE=$(hexdump -vn 10 -e '1/1 "%02x"' "$hg_root/dirstate" | cut -c-12)
else else
SCM_CHANGE=$(hg summary 2> /dev/null | grep parent: | awk '{print $2}') SCM_CHANGE=$(hg summary 2> /dev/null | grep parent: | awk '{print $2}')
fi fi