From 3c87d483628267e48fc0f462f46488dcd4f87810 Mon Sep 17 00:00:00 2001
From: Andy Fowler <andy@andyfowler.com>
Date: Tue, 4 May 2010 16:18:57 -0400
Subject: [PATCH 1/8] makes git status prompt 4x faster

(via git status -s, benchmarked)
---
 lib/git.zsh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/git.zsh b/lib/git.zsh
index 629a08b0e..1d1d24deb 100644
--- a/lib/git.zsh
+++ b/lib/git.zsh
@@ -5,7 +5,7 @@ function git_prompt_info() {
 }
 
 parse_git_dirty () {
-  if [[ $((git status 2> /dev/null) | tail -n1) != "nothing to commit (working directory clean)" ]]; then
+  if [[ -n $(git status -s 2> /dev/null) ]]; then
     echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
   else
     echo "$ZSH_THEME_GIT_PROMPT_CLEAN"

From 02bd8ab53e82c1b9be5f13e72e087b7a5d95373c Mon Sep 17 00:00:00 2001
From: canthiswait <canthiswait@gmail.com>
Date: Mon, 26 Apr 2010 16:02:19 -0700
Subject: [PATCH 2/8] Added scpectrum script for easy 256 color theaming

---
 lib/spectrum.zsh | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 lib/spectrum.zsh

diff --git a/lib/spectrum.zsh b/lib/spectrum.zsh
new file mode 100644
index 000000000..4864654cb
--- /dev/null
+++ b/lib/spectrum.zsh
@@ -0,0 +1,20 @@
+#! /bin/zsh
+# A script to make using 256 colors in zsh less painful.
+# P.C. Shyamshankar <sykora@lucentbeing.com>
+# Copied from http://github.com/sykora/etc/blob/master/zsh/functions/spectrum/
+
+typeset -Ag FX FG BG
+
+FX=(
+    reset     ""
+    bold      "" no-bold      ""
+    italic    "" no-italic    ""
+    underline "" no-underline ""
+    blink     "" no-blink     ""
+    reverse   "" no-reverse   ""
+)
+
+for color in {000..255}; do
+    FG[$color]="[38;5;${color}m"
+    BG[$color]="[48;5;${color}m"
+done

From e8ef16570f9828553f9b0e926563a1496bf3740c Mon Sep 17 00:00:00 2001
From: canthiswait <canthiswait@gmail.com>
Date: Mon, 26 Apr 2010 22:01:41 -0700
Subject: [PATCH 3/8] escape sequences so rprompt doesn't mess up

---
 lib/spectrum.zsh | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/lib/spectrum.zsh b/lib/spectrum.zsh
index 4864654cb..4006a7fe1 100644
--- a/lib/spectrum.zsh
+++ b/lib/spectrum.zsh
@@ -6,15 +6,15 @@
 typeset -Ag FX FG BG
 
 FX=(
-    reset     ""
-    bold      "" no-bold      ""
-    italic    "" no-italic    ""
-    underline "" no-underline ""
-    blink     "" no-blink     ""
-    reverse   "" no-reverse   ""
+    reset     "%{%}"
+    bold      "%{%}" no-bold      "%{%}"
+    italic    "%{%}" no-italic    "%{%}"
+    underline "%{%}" no-underline "%{%}"
+    blink     "%{%}" no-blink     "%{%}"
+    reverse   "%{%}" no-reverse   "%{%}"
 )
 
 for color in {000..255}; do
-    FG[$color]="[38;5;${color}m"
-    BG[$color]="[48;5;${color}m"
+    FG[$color]="%{[38;5;${color}m%}"
+    BG[$color]="%{[48;5;${color}m%}"
 done

From 91add78bdcecee469d6843e0b16f5ac353fd25c1 Mon Sep 17 00:00:00 2001
From: canthiswait <canthiswait@gmail.com>
Date: Mon, 26 Apr 2010 22:27:32 -0700
Subject: [PATCH 4/8] 256 color theme with bright blue and orange

---
 themes/sporty_256.zsh-theme | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 themes/sporty_256.zsh-theme

diff --git a/themes/sporty_256.zsh-theme b/themes/sporty_256.zsh-theme
new file mode 100644
index 000000000..66c86980c
--- /dev/null
+++ b/themes/sporty_256.zsh-theme
@@ -0,0 +1,13 @@
+# zsh theme requires 256 color enabled terminal
+# i.e TERM=xterm-256color
+# Preview - http://www.flickr.com/photos/adelcampo/4556482563/sizes/o/
+# based on robbyrussell's shell but louder!
+
+PROMPT='%{$fg_bold[blue]%}$(git_prompt_info) %F{208}%c%f
+%{$fg_bold[white]%}%# %{$reset_color%}'
+RPROMPT='%B%F{208}%n%f%{$fg_bold[white]%}@%F{039}%m%f%{$reset_color%}'
+
+ZSH_THEME_GIT_PROMPT_PREFIX="%F{154}±|%f%F{124}"
+ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
+ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}%B✘%b%F{154}|%f%{$reset_color%}"
+ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg[green]%}✔%{$fg[blue]%}|"

From 4155adeefe2c6a941917ece7bbe19bd68950553e Mon Sep 17 00:00:00 2001
From: canthiswait <canthiswait@gmail.com>
Date: Tue, 27 Apr 2010 00:55:15 -0700
Subject: [PATCH 5/8] Fixed color in last character of clean git info

---
 themes/sporty_256.zsh-theme | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/themes/sporty_256.zsh-theme b/themes/sporty_256.zsh-theme
index 66c86980c..db0fc4277 100644
--- a/themes/sporty_256.zsh-theme
+++ b/themes/sporty_256.zsh-theme
@@ -10,4 +10,4 @@ RPROMPT='%B%F{208}%n%f%{$fg_bold[white]%}@%F{039}%m%f%{$reset_color%}'
 ZSH_THEME_GIT_PROMPT_PREFIX="%F{154}±|%f%F{124}"
 ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
 ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}%B✘%b%F{154}|%f%{$reset_color%}"
-ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg[green]%}✔%{$fg[blue]%}|"
+ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg[green]%}✔%F{154}|"

From 447da5816eb2be9c7a79906a484cb78334fd1d7d Mon Sep 17 00:00:00 2001
From: Robby Russell <robby@planetargon.com>
Date: Thu, 6 May 2010 21:04:09 -0700
Subject: [PATCH 6/8] Removing rake autocompletion as this is apparently  baked
 into recent versions of zsh

---
 lib/rake_completion.zsh | 21 ---------------------
 1 file changed, 21 deletions(-)

diff --git a/lib/rake_completion.zsh b/lib/rake_completion.zsh
index c425a625e..8336182d5 100644
--- a/lib/rake_completion.zsh
+++ b/lib/rake_completion.zsh
@@ -1,24 +1,3 @@
-_rake_does_task_list_need_generating () {
-  if [ ! -f .rake_tasks~ ]; then return 0;
-  else
-    accurate=$(stat -f%m .rake_tasks~)
-    changed=$(stat -f%m Rakefile)
-    return $(expr $accurate '>=' $changed)
-  fi
-}
-
-_rake () {
-  if [ -f Rakefile ]; then
-    if _rake_does_task_list_need_generating; then
-      echo "\nGenerating .rake_tasks~..." > /dev/stderr
-      rake --silent --tasks | cut -d " " -f 2 > .rake_tasks~
-    fi
-    compadd `cat .rake_tasks~`
-  fi
-}
-
-compctl -K _rake rake
-
 function _cap_does_task_list_need_generating () {
   if [ ! -f .cap_tasks~ ]; then return 0;
   else

From 926d9e8893789e1b70cb4df2144c868f4aa91515 Mon Sep 17 00:00:00 2001
From: kremso <kramar.tomas@gmail.com>
Date: Tue, 9 Mar 2010 14:09:08 +0100
Subject: [PATCH 7/8] Don't autoselect first completion entry (Fixes #14)

The key here is not using MENU_COMPLETE which autoselects the first
entry, but using AUTO_MENU which displays the menu but autoselects
on successive tab hit.

Also, do not use zstyle menu yes because that somehow overrides
the setopts.
---
 lib/completion.zsh | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/lib/completion.zsh b/lib/completion.zsh
index 46b6d8f65..619dc0243 100644
--- a/lib/completion.zsh
+++ b/lib/completion.zsh
@@ -1,11 +1,11 @@
 ## fixme - the load process here seems a bit bizarre
 
-setopt noautomenu
+unsetopt menu_complete   # do not autoselect the first completion entry
+unsetopt flowcontrol
+setopt auto_menu         # show completion menu on succesive tab press
 setopt complete_in_word
 setopt always_to_end
 
-unsetopt flowcontrol
-
 WORDCHARS=''
 
 autoload -U compinit
@@ -23,14 +23,10 @@ fi
 
 zstyle ':completion:*' list-colors ''
 
-
-unsetopt MENU_COMPLETE
-#setopt AUTO_MENU
-
 # should this be in keybindings?
 bindkey -M menuselect '^o' accept-and-infer-next-history
 
-zstyle ':completion:*:*:*:*:*' menu yes select
+zstyle ':completion:*:*:*:*:*' menu select
 # zstyle ':completion:*:*:*:*:processes' force-list always
 
 zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01'

From 7d036913c4476916fe8b0325ea9cd54266787021 Mon Sep 17 00:00:00 2001
From: Robby Russell <robby@planetargon.com>
Date: Thu, 6 May 2010 21:13:59 -0700
Subject: [PATCH 8/8] Unsetting config_file after loading config

---
 oh-my-zsh.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh
index fa2738e18..a41f3d89e 100644
--- a/oh-my-zsh.sh
+++ b/oh-my-zsh.sh
@@ -17,3 +17,5 @@ then
 else
   /usr/bin/env zsh $ZSH/tools/check_for_upgrade.sh
 fi
+
+unset config_file
\ No newline at end of file