... | ... |
@@ -3,6 +3,9 @@ |
3 | 3 |
# |
4 | 4 |
# vcs_info modifications from Bart Trojanowski's zsh prompt: |
5 | 5 |
# http://www.jukie.net/bart/blog/pimping-out-zsh-prompt |
6 |
+# |
|
7 |
+# git untracked files modification from Brian Carper: |
|
8 |
+# http://briancarper.net/blog/570/git-info-in-your-zsh-prompt |
|
6 | 9 |
|
7 | 10 |
function virtualenv_info { |
8 | 11 |
[ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') ' |
... | ... |
@@ -17,6 +20,9 @@ autoload -U add-zsh-hook |
17 | 17 |
autoload -Uz vcs_info |
18 | 18 |
|
19 | 19 |
|
20 |
+# enable VCS systems you use |
|
21 |
+zstyle ':vcs_info:*' enable git svn |
|
22 |
+ |
|
20 | 23 |
# check-for-changes can be really slow. |
21 | 24 |
# you should disable it, if you work with large repositories |
22 | 25 |
zstyle ':vcs_info:*:prompt:*' check-for-changes true |
... | ... |
@@ -31,8 +37,8 @@ zstyle ':vcs_info:*:prompt:*' check-for-changes true |
31 | 31 |
PR_RST="%{${reset_color}%}" |
32 | 32 |
FMT_BRANCH="(%{$fg[magenta]%}%b%u%c${PR_RST})" |
33 | 33 |
FMT_ACTION="(%{$fg[green]%}%a${PR_RST})" |
34 |
-FMT_UNSTAGED="%{$fg[yellow]%}!" |
|
35 |
-FMT_STAGED="%{$fg[yellow]%}?" |
|
34 |
+FMT_UNSTAGED="%{$fg[yellow]%}●" |
|
35 |
+FMT_STAGED="%{$fg[green]%}●" |
|
36 | 36 |
|
37 | 37 |
zstyle ':vcs_info:*:prompt:*' unstagedstr "${FMT_UNSTAGED}" |
38 | 38 |
zstyle ':vcs_info:*:prompt:*' stagedstr "${FMT_STAGED}" |
... | ... |
@@ -46,6 +52,9 @@ function steeef_preexec { |
46 | 46 |
*git*) |
47 | 47 |
PR_GIT_UPDATE=1 |
48 | 48 |
;; |
49 |
+ *svn*) |
|
50 |
+ PR_GIT_UPDATE=1 |
|
51 |
+ ;; |
|
49 | 52 |
esac |
50 | 53 |
} |
51 | 54 |
add-zsh-hook preexec steeef_preexec |
... | ... |
@@ -56,6 +65,15 @@ function steeef_chpwd { |
56 | 56 |
add-zsh-hook chpwd steeef_chpwd |
57 | 57 |
|
58 | 58 |
function steeef_precmd { |
59 |
+ # check for untracked files or updated submodules, since vcs_info doesn't |
|
60 |
+ if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) || -n $(git ls-files -m --exclude-standard 2> /dev/null) ]]; then |
|
61 |
+ PR_GIT_UPDATE=1 |
|
62 |
+ FMT_BRANCH="(%{$fg[magenta]%}%b%u%c%{$fg[red]%}●${PR_RST})" |
|
63 |
+ else |
|
64 |
+ FMT_BRANCH="(%{$fg[magenta]%}%b%u%c${PR_RST})" |
|
65 |
+ fi |
|
66 |
+ zstyle ':vcs_info:*:prompt:*' formats "${FMT_BRANCH}" |
|
67 |
+ |
|
59 | 68 |
if [[ -n "$PR_GIT_UPDATE" ]] ; then |
60 | 69 |
vcs_info 'prompt' |
61 | 70 |
PR_GIT_UPDATE= |