|
|
|
|
@ -83,6 +83,41 @@ prompt_git() { |
|
|
|
|
fi |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
prompt_hg() { |
|
|
|
|
local rev status |
|
|
|
|
if $(hg id >/dev/null 2>&1); then |
|
|
|
|
if $(hg prompt >/dev/null 2>&1); then |
|
|
|
|
if [[ $(hg prompt "{status|unknown}") = "?" ]]; then |
|
|
|
|
# if files are not added |
|
|
|
|
prompt_segment red white |
|
|
|
|
st='±' |
|
|
|
|
elif [[ -n $(hg prompt "{status|modified}") ]]; then |
|
|
|
|
# if any modification |
|
|
|
|
prompt_segment yellow black |
|
|
|
|
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 |
|
|
|
|
fi |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# Dir: current working directory |
|
|
|
|
prompt_dir() { |
|
|
|
|
prompt_segment blue black '%~' |
|
|
|
|
@ -109,6 +144,7 @@ build_prompt() { |
|
|
|
|
prompt_context |
|
|
|
|
prompt_dir |
|
|
|
|
prompt_git |
|
|
|
|
prompt_hg |
|
|
|
|
prompt_end |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|