ADDED: Mercurial prompt info support even if hg prompt extension is unavailable
Diff
1diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme
2index 7ce5a77f8082636eaeb698459990f233d725a00c..e2074b713b8f267dafa217e335512e995a223ba6 100644
3--- a/themes/agnoster.zsh-theme
4+++ b/themes/agnoster.zsh-theme
5@@ -87,18 +87,35 @@ prompt_hg() {
6 local rev status
7 if $(hg id >/dev/null 2>&1); then
8 if $(hg prompt >/dev/null 2>&1); then
9- rev=$(hg prompt {status})
10- if [[ $rev = "?" ]]; then
11+ st=$(hg prompt {status})
12+ if [[ $st = "?" ]]; then
13+ # if files are not added
14 prompt_segment red white
15- rev='±'
16- elif [[ -n $rev ]]; then
17+ st='±'
18+ elif [[ -n $st ]]; then
19+ # if any modification
20 prompt_segment yellow black
21- rev='±'
22+ st='±'
23 else
24+ # if working copy is clean
25 prompt_segment green black
26 fi
27+ echo -n $(hg prompt "⭠ {rev}@{branch}") $st
28+ else
29+ st=""
30+ rev=$(hg id -n 2>/dev/null | sed 's/[^-0-9]//g')
31+ branch=$(hg id -b 2>/dev/null)
32+ if `hg st | grep -Eq "^\?"`; then
33+ prompt_segment red black
34+ st='±'
35+ elif `hg st | grep -Eq "^(M|A)"`; then
36+ prompt_segment yellow black
37+ st='±'
38+ else
39+ prompt_segment green black
40+ fi
41+ echo -n "⭠ $rev@$branch" $st
42 fi
43- echo -n $(hg prompt "⭠ {rev}@{branch}") $rev
44 fi
45 }
46