summaryrefslogtreecommitdiff
path: root/themes
diff options
context:
space:
mode:
authorsteeef <steeef@gmail.com>2010-10-01 14:11:53 -0700
committersteeef <steeef@gmail.com>2010-10-01 14:11:53 -0700
commit7fb0b210e88bcbdb71d2cb0022c35b2cc3810327 (patch)
treee36ee243c6426ba7730aea9e176530ea5f0d2cd9 /themes
parentc24936ece51940536f3e62fc9e458b74c2affe68 (diff)
downloadzsh-7fb0b210e88bcbdb71d2cb0022c35b2cc3810327.tar.gz
zsh-7fb0b210e88bcbdb71d2cb0022c35b2cc3810327.tar.bz2
zsh-7fb0b210e88bcbdb71d2cb0022c35b2cc3810327.zip
merge steeef.zsh-theme from master
Diffstat (limited to 'themes')
-rw-r--r--themes/steeef.zsh-theme22
1 files changed, 20 insertions, 2 deletions
diff --git a/themes/steeef.zsh-theme b/themes/steeef.zsh-theme
index a54cdce14..abb8f2994 100644
--- a/themes/steeef.zsh-theme
+++ b/themes/steeef.zsh-theme
@@ -3,6 +3,9 @@
#
# vcs_info modifications from Bart Trojanowski's zsh prompt:
# http://www.jukie.net/bart/blog/pimping-out-zsh-prompt
+#
+# git untracked files modification from Brian Carper:
+# http://briancarper.net/blog/570/git-info-in-your-zsh-prompt
function virtualenv_info {
[ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') '
@@ -17,6 +20,9 @@ autoload -U add-zsh-hook
autoload -Uz vcs_info
+# enable VCS systems you use
+zstyle ':vcs_info:*' enable git svn
+
# check-for-changes can be really slow.
# you should disable it, if you work with large repositories
zstyle ':vcs_info:*:prompt:*' check-for-changes true
@@ -31,8 +37,8 @@ zstyle ':vcs_info:*:prompt:*' check-for-changes true
PR_RST="%{${reset_color}%}"
FMT_BRANCH="(%{$fg[magenta]%}%b%u%c${PR_RST})"
FMT_ACTION="(%{$fg[green]%}%a${PR_RST})"
-FMT_UNSTAGED="%{$fg[yellow]%}!"
-FMT_STAGED="%{$fg[yellow]%}?"
+FMT_UNSTAGED="%{$fg[yellow]%}●"
+FMT_STAGED="%{$fg[green]%}●"
zstyle ':vcs_info:*:prompt:*' unstagedstr "${FMT_UNSTAGED}"
zstyle ':vcs_info:*:prompt:*' stagedstr "${FMT_STAGED}"
@@ -46,6 +52,9 @@ function steeef_preexec {
*git*)
PR_GIT_UPDATE=1
;;
+ *svn*)
+ PR_GIT_UPDATE=1
+ ;;
esac
}
add-zsh-hook preexec steeef_preexec
@@ -56,6 +65,15 @@ function steeef_chpwd {
add-zsh-hook chpwd steeef_chpwd
function steeef_precmd {
+ # check for untracked files or updated submodules, since vcs_info doesn't
+ if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) || -n $(git ls-files -m --exclude-standard 2> /dev/null) ]]; then
+ PR_GIT_UPDATE=1
+ FMT_BRANCH="(%{$fg[magenta]%}%b%u%c%{$fg[red]%}●${PR_RST})"
+ else
+ FMT_BRANCH="(%{$fg[magenta]%}%b%u%c${PR_RST})"
+ fi
+ zstyle ':vcs_info:*:prompt:*' formats "${FMT_BRANCH}"
+
if [[ -n "$PR_GIT_UPDATE" ]] ; then
vcs_info 'prompt'
PR_GIT_UPDATE=