From d49a992373d8510afaa1f55d5e21c4c42584b9b1 Mon Sep 17 00:00:00 2001 From: Donald Stufft Date: Tue, 26 Jul 2011 13:22:14 -0400 Subject: [PATCH 1/3] fix for renamed files --- lib/git.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/git.zsh b/lib/git.zsh index ce4de5598..52407b948 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -49,7 +49,7 @@ git_prompt_status() { elif $(echo "$INDEX" | grep '^ T ' &> /dev/null); then STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS" fi - if $(echo "$INDEX" | grep '^R ' &> /dev/null); then + if $(echo "$INDEX" | grep '^RM ' &> /dev/null); then STATUS="$ZSH_THEME_GIT_PROMPT_RENAMED$STATUS" fi if $(echo "$INDEX" | grep '^D ' &> /dev/null); then From 602e52e076e3301f7f78157a9e4e7de89f74623c Mon Sep 17 00:00:00 2001 From: Donald Stufft Date: Tue, 26 Jul 2011 13:22:24 -0400 Subject: [PATCH 2/3] Add new theme --- themes/tolkien.zsh-theme | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 themes/tolkien.zsh-theme diff --git a/themes/tolkien.zsh-theme b/themes/tolkien.zsh-theme new file mode 100644 index 000000000..959ed2b15 --- /dev/null +++ b/themes/tolkien.zsh-theme @@ -0,0 +1,33 @@ +ZSH_THEME_GIT_PROMPT_PREFIX="on %F{008}git%f:%{$fg[magenta]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" + +ZSH_THEME_GIT_PROMPT_UNTRACKED="%F{011}?%f" +ZSH_THEME_GIT_PROMPT_ADDED="%F{012}+%f" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg_bold[green]%}±%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_RENAMED="%F{081}➤%f" +ZSH_THEME_GIT_PROMPT_DELETED="%F{001}-%f" +ZSH_THEME_GIT_PROMPT_UNMERGED="%F{001}✖%f" + +function git_branch { + ref=$(git symbolic-ref HEAD 2> /dev/null) || return + echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$ZSH_THEME_GIT_PROMPT_SUFFIX" +} + +function git_ahead { + GITSTATUS=$(git status 2> /dev/null) + AHEAD=$(echo "$GITSTATUS" | grep '^# Your branch is ahead of' 2> /dev/null) + if [[ -n $AHEAD ]]; then + AHEAD=${AHEAD##\# Your branch is ahead of * by } + AHEAD=${AHEAD%% commit.} + echo "^%{$fg[magenta]%}"$AHEAD"%{$reset_color%}" + fi + +} + +function virtualenv_info { + [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`')' +} + +PROMPT=' +╭─ %{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%M%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%} $(git_branch)$(git_ahead) $(git_prompt_status) +╰─$(virtualenv_info) ' From f43523f6ed9a46d554eb8302c63e89fb0a580c57 Mon Sep 17 00:00:00 2001 From: Donald Stufft Date: Wed, 27 Jul 2011 02:59:31 -0400 Subject: [PATCH 3/3] fix for when we are multiple commits ahead of origin --- themes/tolkien.zsh-theme | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/themes/tolkien.zsh-theme b/themes/tolkien.zsh-theme index 959ed2b15..9bda136f8 100644 --- a/themes/tolkien.zsh-theme +++ b/themes/tolkien.zsh-theme @@ -18,7 +18,8 @@ function git_ahead { AHEAD=$(echo "$GITSTATUS" | grep '^# Your branch is ahead of' 2> /dev/null) if [[ -n $AHEAD ]]; then AHEAD=${AHEAD##\# Your branch is ahead of * by } - AHEAD=${AHEAD%% commit.} + AHEAD=${AHEAD%% commits.} + AHEAD=${AHEAD%% commit.} echo "^%{$fg[magenta]%}"$AHEAD"%{$reset_color%}" fi