ADDED: Mercurial prompt info support even if hg prompt extension is unavailable
This commit is contained in:
parent
8e9cf45200
commit
28b737416f
|
@ -87,18 +87,35 @@ prompt_hg() {
|
|||
local rev status
|
||||
if $(hg id >/dev/null 2>&1); then
|
||||
if $(hg prompt >/dev/null 2>&1); then
|
||||
rev=$(hg prompt {status})
|
||||
if [[ $rev = "?" ]]; then
|
||||
st=$(hg prompt {status})
|
||||
if [[ $st = "?" ]]; then
|
||||
# if files are not added
|
||||
prompt_segment red white
|
||||
rev='±'
|
||||
elif [[ -n $rev ]]; then
|
||||
st='±'
|
||||
elif [[ -n $st ]]; then
|
||||
# if any modification
|
||||
prompt_segment yellow black
|
||||
rev='±'
|
||||
st='±'
|
||||
else
|
||||
# if working copy is clean
|
||||
prompt_segment green black
|
||||
fi
|
||||
echo -n $(hg prompt "⭠ {rev}@{branch}") $st
|
||||
else
|
||||
st=""
|
||||
rev=$(hg id -n 2>/dev/null | sed 's/[^-0-9]//g')
|
||||
branch=$(hg id -b 2>/dev/null)
|
||||
if `hg st | grep -Eq "^\?"`; then
|
||||
prompt_segment red black
|
||||
st='±'
|
||||
elif `hg st | grep -Eq "^(M|A)"`; then
|
||||
prompt_segment yellow black
|
||||
st='±'
|
||||
else
|
||||
prompt_segment green black
|
||||
fi
|
||||
echo -n "⭠ $rev@$branch" $st
|
||||
fi
|
||||
echo -n $(hg prompt "⭠ {rev}@{branch}") $rev
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue