From 7ce4e09887699a5c855fcf77a4c8849ddfa728aa Mon Sep 17 00:00:00 2001
From: NanoTech <nanotech008@gmail.com>
Date: Sat, 12 Jun 2010 16:31:02 -0600
Subject: [PATCH 01/13] Added my theme (nanotech).

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

diff --git a/themes/nanotech.zsh-theme b/themes/nanotech.zsh-theme
new file mode 100644
index 0000000..eddb23c
--- /dev/null
+++ b/themes/nanotech.zsh-theme
@@ -0,0 +1,7 @@
+PROMPT=' %{$fg_bold[green]%}%2c %{$fg_bold[blue]%}%{[%}%{$reset_color%} '
+RPROMPT='$(git_prompt_info) %{$fg[blue]%}] %{$fg[green]%}%D{%L:%M} %{$fg[yellow]%}%D{%p}%{$reset_color%} '
+
+ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}"
+ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
+ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}*%{$reset_color%}"
+ZSH_THEME_GIT_PROMPT_CLEAN=""

From 241ebf6e4a972c6e31c8085a3185fcea36eb2559 Mon Sep 17 00:00:00 2001
From: NanoTech <nanotech008@gmail.com>
Date: Sun, 14 Nov 2010 16:51:19 -0600
Subject: [PATCH 02/13] themes/nanotech: Use the new built-in zsh color
 variables.

---
 themes/nanotech.zsh-theme | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/themes/nanotech.zsh-theme b/themes/nanotech.zsh-theme
index eddb23c..5d33316 100644
--- a/themes/nanotech.zsh-theme
+++ b/themes/nanotech.zsh-theme
@@ -1,7 +1,7 @@
-PROMPT=' %{$fg_bold[green]%}%2c %{$fg_bold[blue]%}%{[%}%{$reset_color%} '
-RPROMPT='$(git_prompt_info) %{$fg[blue]%}] %{$fg[green]%}%D{%L:%M} %{$fg[yellow]%}%D{%p}%{$reset_color%} '
+PROMPT='%F{green}%2c%F{blue} [%f '
+RPROMPT='$(git_prompt_info) %F{blue}] %F{green}%D{%L:%M} %F{yellow}%D{%p}%f'
 
-ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}"
-ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
-ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}*%{$reset_color%}"
+ZSH_THEME_GIT_PROMPT_PREFIX="%F{yellow}"
+ZSH_THEME_GIT_PROMPT_SUFFIX="%f"
+ZSH_THEME_GIT_PROMPT_DIRTY=" %F{red}*%f"
 ZSH_THEME_GIT_PROMPT_CLEAN=""

From c53ab8ee011a6c8483796aaa202d43478b3f65b0 Mon Sep 17 00:00:00 2001
From: Julien Nicoulaud <julien.nicoulaud@gmail.com>
Date: Sat, 20 Nov 2010 18:06:23 +0100
Subject: [PATCH 03/13] Rename appearance.zsh so that it gets loaded after
 spectrum.zsh. Allows to use 256 colors in prompt themes.

---
 lib/{appearance.zsh => theme-and-appearance.zsh} | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename lib/{appearance.zsh => theme-and-appearance.zsh} (100%)

diff --git a/lib/appearance.zsh b/lib/theme-and-appearance.zsh
similarity index 100%
rename from lib/appearance.zsh
rename to lib/theme-and-appearance.zsh

From 41cca0586154c3a1c00b4dfdcf04ddf5171c8d22 Mon Sep 17 00:00:00 2001
From: Julien Nicoulaud <julien.nicoulaud@gmail.com>
Date: Sat, 20 Nov 2010 18:07:45 +0100
Subject: [PATCH 04/13] Add my prompt theme

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

diff --git a/themes/nicoulaj.zsh-theme b/themes/nicoulaj.zsh-theme
new file mode 100644
index 0000000..edcdb15
--- /dev/null
+++ b/themes/nicoulaj.zsh-theme
@@ -0,0 +1,43 @@
+#!/usr/bin/env zsh
+# ------------------------------------------------------------------------------
+# Prompt for the Zsh shell:
+#   * One line.
+#   * VCS info on the right prompt.
+#   * Only shows the path on the left prompt by default.
+#   * Crops the path to a defined length and only shows the path relative to
+#     the current VCS repository root.
+#   * Wears a different color wether the last command succeeded/failed.
+#   * Shows user@hostname if connected through SSH.
+#   * Shows if logged in as root or not.
+# ------------------------------------------------------------------------------
+
+# Customizable parameters.
+PROMPT_PATH_MAX_LENGTH=30
+PROMPT_DEFAULT_END=❯
+PROMPT_ROOT_END=❯❯❯
+PROMPT_SUCCESS_COLOR=$FG[071]
+PROMPT_FAILURE_COLOR=$FG[124]
+PROMPT_VCS_INFO_COLOR=$FG[242]
+
+# Set required options.
+setopt promptsubst
+
+# Load required modules.
+autoload -U add-zsh-hook
+autoload -Uz vcs_info
+
+# Add hook for calling vcs_info before each command.
+add-zsh-hook precmd vcs_info
+
+# Set vcs_info parameters.
+zstyle ':vcs_info:*' enable hg bzr git
+zstyle ':vcs_info:*:*' check-for-changes true # Can be slow on big repos.
+zstyle ':vcs_info:*:*' unstagedstr '!'
+zstyle ':vcs_info:*:*' stagedstr '+'
+zstyle ':vcs_info:*:*' actionformats "%S" "%r/%s/%b %u%c (%a)"
+zstyle ':vcs_info:*:*' formats "%S" "%r/%s/%b %u%c"
+zstyle ':vcs_info:*:*' nvcsformats "%$PROMPT_PATH_MAX_LENGTH<..<%~%<<" ""
+
+# Define prompts.
+PROMPT="%(0?.%{$PROMPT_SUCCESS_COLOR%}.%{$PROMPT_FAILURE_COLOR%})${SSH_TTY:+[%n@%m]}%{$FX[bold]%}%$PROMPT_PATH_MAX_LENGTH<..<"'${vcs_info_msg_0_%%.}'"%<<%(!.$PROMPT_ROOT_END.$PROMPT_DEFAULT_END)%{$FX[no-bold]%}%{$FX[reset]%} "
+RPROMPT="%{$PROMPT_VCS_INFO_COLOR%}"'$vcs_info_msg_1_'"%{$FX[reset]%}"

From fc03db4e65d7bbfe5d0d7c23f586dd435025c23c Mon Sep 17 00:00:00 2001
From: Julien Nicoulaud <julien.nicoulaud@gmail.com>
Date: Sat, 20 Nov 2010 20:12:19 +0100
Subject: [PATCH 05/13] Avoid duplicate path cropping

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

diff --git a/themes/nicoulaj.zsh-theme b/themes/nicoulaj.zsh-theme
index edcdb15..333aa5e 100644
--- a/themes/nicoulaj.zsh-theme
+++ b/themes/nicoulaj.zsh-theme
@@ -36,7 +36,7 @@ zstyle ':vcs_info:*:*' unstagedstr '!'
 zstyle ':vcs_info:*:*' stagedstr '+'
 zstyle ':vcs_info:*:*' actionformats "%S" "%r/%s/%b %u%c (%a)"
 zstyle ':vcs_info:*:*' formats "%S" "%r/%s/%b %u%c"
-zstyle ':vcs_info:*:*' nvcsformats "%$PROMPT_PATH_MAX_LENGTH<..<%~%<<" ""
+zstyle ':vcs_info:*:*' nvcsformats "%~" ""
 
 # Define prompts.
 PROMPT="%(0?.%{$PROMPT_SUCCESS_COLOR%}.%{$PROMPT_FAILURE_COLOR%})${SSH_TTY:+[%n@%m]}%{$FX[bold]%}%$PROMPT_PATH_MAX_LENGTH<..<"'${vcs_info_msg_0_%%.}'"%<<%(!.$PROMPT_ROOT_END.$PROMPT_DEFAULT_END)%{$FX[no-bold]%}%{$FX[reset]%} "

From 7896b58b32cd4ec103cd9e833f17edbb58db4fda Mon Sep 17 00:00:00 2001
From: Christopher Chow <soliah@gmail.com>
Date: Fri, 4 Feb 2011 01:37:39 +1100
Subject: [PATCH 06/13] Added time since last commit to Soliah theme and
 changed some colours.

---
 themes/Soliah.zsh-theme | 63 +++++++++++++++++++++++++++++++++++++++--
 1 file changed, 60 insertions(+), 3 deletions(-)

diff --git a/themes/Soliah.zsh-theme b/themes/Soliah.zsh-theme
index 7ad876d..1c0ab3c 100644
--- a/themes/Soliah.zsh-theme
+++ b/themes/Soliah.zsh-theme
@@ -1,6 +1,63 @@
-PROMPT='%{$fg[blue]%}%B%20~%b%{$reset_color%}%{$(git_prompt_info)%} $ '
+PROMPT='%{$fg[blue]%}%n%{$reset_color%} on %{$fg[red]%}%M%{$reset_color%} in %{$fg[blue]%}%~%b%{$reset_color%}$(git_time_since_commit)$(git_prompt_info)
+$ '
 
-ZSH_THEME_GIT_PROMPT_PREFIX="(%{$fg[green]%}"
+ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[white]%}"
 ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%})"
-ZSH_THEME_GIT_PROMPT_DIRTY="*%{$reset_color%}"
 
+# Text to display if the branch is dirty
+ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}*%{$reset_color%}" 
+
+# Text to display if the branch is clean
+ZSH_THEME_GIT_PROMPT_CLEAN="" 
+
+# Colors vary depending on time lapsed.
+ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT="%{$fg[green]%}"
+ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM="%{$fg[yellow]%}"
+ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG="%{$fg[red]%}"
+ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL="%{$fg[cyan]%}"
+
+# Determine the time since last commit. If branch is clean,
+# use a neutral color, otherwise colors will vary according to time.
+function git_time_since_commit() {
+    if git rev-parse --git-dir > /dev/null 2>&1; then
+        # Only proceed if there is actually a commit.
+        if [[ $(git log 2>&1 > /dev/null | grep -c "^fatal: bad default revision") == 0 ]]; then
+            # Get the last commit.
+            last_commit=`git log --pretty=format:'%at' -1 2> /dev/null`
+            now=`date +%s`
+            seconds_since_last_commit=$((now-last_commit))
+
+            # Totals
+            MINUTES=$((seconds_since_last_commit / 60))
+            HOURS=$((seconds_since_last_commit/3600))
+           
+            # Sub-hours and sub-minutes
+            DAYS=$((seconds_since_last_commit / 86400))
+            SUB_HOURS=$((HOURS % 24))
+            SUB_MINUTES=$((MINUTES % 60))
+            
+            if [[ -n $(git status -s 2> /dev/null) ]]; then
+                if [ "$MINUTES" -gt 30 ]; then
+                    COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG"
+                elif [ "$MINUTES" -gt 10 ]; then
+                    COLOR="$ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM"
+                else
+                    COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT"
+                fi
+            else
+                COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL"
+            fi
+
+            if [ "$HOURS" -gt 24 ]; then
+                echo "($COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}|"
+            elif [ "$MINUTES" -gt 60 ]; then
+                echo "($COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}|"
+            else
+                echo "($COLOR${MINUTES}m%{$reset_color%}|"
+            fi
+        else
+            COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL"
+            echo "($COLOR~|"
+        fi
+    fi
+}

From 8d487d4f6c2d38cb108d7c8c0c2de9f0385da402 Mon Sep 17 00:00:00 2001
From: Sorin Ionescu <sorin.ionescu@gmail.com>
Date: Thu, 3 Feb 2011 16:47:08 -0500
Subject: [PATCH 07/13] Added sorin oh-my-zsh theme.

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

diff --git a/themes/sorin.zsh-theme b/themes/sorin.zsh-theme
new file mode 100644
index 0000000..601dbe5
--- /dev/null
+++ b/themes/sorin.zsh-theme
@@ -0,0 +1,48 @@
+# ------------------------------------------------------------------------------
+#          FILE:  sorin.zsh-theme
+#   DESCRIPTION:  oh-my-zsh theme file.
+#        AUTHOR:  Sorin Ionescu (sorin.ionescu@gmail.com)
+#       VERSION:  1.0.2
+#    SCREENSHOT:  http://i.imgur.com/aipDQ.png
+# ------------------------------------------------------------------------------
+
+
+if [[ "$TERM" != "dumb" ]] && [[ "$DISABLE_LS_COLORS" != "true" ]]; then
+  MODE_INDICATOR="%{$fg_bold[red]%}❮%{$reset_color%}%{$fg[red]%}❮❮%{$reset_color%}"
+  local return_status="%{$fg[red]%}%(?..⏎)%{$reset_color%}"
+  
+  PROMPT='%{$fg[cyan]%}%c$(git_prompt_info) %(!.%{$fg_bold[red]%}#.%{$fg_bold[green]%}❯)%{$reset_color%} '
+
+  ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[blue]%}git%{$reset_color%}:%{$fg[red]%}"
+  ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
+  ZSH_THEME_GIT_PROMPT_DIRTY=""
+  ZSH_THEME_GIT_PROMPT_CLEAN=""
+
+  RPROMPT='${return_status}$(git_prompt_status)%{$reset_color%}'
+
+  ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚"
+  ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹"
+  ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖"
+  ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜"
+  ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═"
+  ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭"
+else 
+  MODE_INDICATOR="❮❮❮"
+  local return_status="%(?::⏎)"
+  
+  PROMPT='%c$(git_prompt_info) %(!.#.❯) '
+
+  ZSH_THEME_GIT_PROMPT_PREFIX=" git:"
+  ZSH_THEME_GIT_PROMPT_SUFFIX=""
+  ZSH_THEME_GIT_PROMPT_DIRTY=""
+  ZSH_THEME_GIT_PROMPT_CLEAN=""
+
+  RPROMPT='${return_status}$(git_prompt_status)'
+
+  ZSH_THEME_GIT_PROMPT_ADDED=" ✚"
+  ZSH_THEME_GIT_PROMPT_MODIFIED=" ✹"
+  ZSH_THEME_GIT_PROMPT_DELETED=" ✖"
+  ZSH_THEME_GIT_PROMPT_RENAMED=" ➜"
+  ZSH_THEME_GIT_PROMPT_UNMERGED=" ═"
+  ZSH_THEME_GIT_PROMPT_UNTRACKED=" ✭"
+fi

From 903426ceeb7ed243d59a0365118cc5136114c3de Mon Sep 17 00:00:00 2001
From: Christopher Chow <soliah@gmail.com>
Date: Fri, 4 Feb 2011 11:33:20 +1100
Subject: [PATCH 08/13] Fixed auto update.

Paramater substitution instead of command subsitution was being used
causing the calculation of time since last check to be incorrect.
---
 tools/check_for_upgrade.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh
index c59ebae..4643739 100644
--- a/tools/check_for_upgrade.sh
+++ b/tools/check_for_upgrade.sh
@@ -16,7 +16,7 @@ then
     _update_zsh_update && return 0;
   fi
 
-  epoch_diff=$((${_current_epoch} - $LAST_EPOCH))
+  epoch_diff=$(($(_current_epoch) - $LAST_EPOCH))
   if [ $epoch_diff -gt 6 ]
   then
     echo "[Oh My Zsh] Would you like to check for updates?"

From ccdf25946837150d473c0667669deb4e930bfa03 Mon Sep 17 00:00:00 2001
From: Sorin Ionescu <sorin.ionescu@gmail.com>
Date: Thu, 3 Feb 2011 23:24:33 -0500
Subject: [PATCH 09/13] Added modified while newly added and type change
 detection to git prompt modified status.

---
 lib/git.zsh | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/git.zsh b/lib/git.zsh
index 75fdc1f..8512de8 100644
--- a/lib/git.zsh
+++ b/lib/git.zsh
@@ -26,6 +26,10 @@ git_prompt_status() {
   fi
   if $(echo "$INDEX" | grep '^ M ' &> /dev/null); then
     STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
+  elif $(echo "$INDEX" | grep '^AM ' &> /dev/null); then
+    STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$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
     STATUS="$ZSH_THEME_GIT_PROMPT_RENAMED$STATUS"

From 843f0a7ea5e8acd4cda10b46e488ae3ea7d379e3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tadas=20Tamo=C5=A1auskas?= <TadasTamo@gmail.com>
Date: Sun, 13 Feb 2011 11:05:12 +0000
Subject: [PATCH 10/13] fixed typo in rails3 plugin and added one alias for
 migrating and redoing migration if it was successful

---
 plugins/rails3/rails3.plugin.zsh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/plugins/rails3/rails3.plugin.zsh b/plugins/rails3/rails3.plugin.zsh
index 20ba040..6bf2ba0 100644
--- a/plugins/rails3/rails3.plugin.zsh
+++ b/plugins/rails3/rails3.plugin.zsh
@@ -3,6 +3,8 @@ alias rg='ruby script/rails generate'
 alias rd='ruby script/rails destroy'
 alias rp='ruby script/rails plugin'
 alias rdbm='rake db:migrate db:test:clone'
+alias rdbmr='rake db:migrate && rake db:migrate:redo'
 alias rc='ruby script/rails console'
-alias rd='ruby script/rais server --debugger'
+alias rd='ruby script/rails server --debugger'
 alias devlog='tail -f log/development.log'
+

From dd7e1d4945fde8b5278f8dab061479af3bb138b9 Mon Sep 17 00:00:00 2001
From: Wim <ghostunderscore@gmail.com>
Date: Mon, 14 Feb 2011 01:19:01 -0800
Subject: [PATCH 11/13] Should use https for all GitHub urls.

---
 README.textile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.textile b/README.textile
index 8b1b687..0659ade 100644
--- a/README.textile
+++ b/README.textile
@@ -8,7 +8,7 @@ h2. Setup
 
 h3. The automatic installer... (do you trust me?)
 
-@wget http://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh@
+@wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh@
 
 h3. The manual way
 
@@ -38,7 +38,7 @@ h2. Usage
 * enable the plugins you want in your @~/.zshrc@ (take a look at @plugins/@ to see what's possible)
 ** example: @plugins=(git osx ruby)@
 * Theme support: Change the @ZSH_THEME@ environment variable in @~/.zshrc@.
-** Take a look at the "current themes":http://wiki.github.com/robbyrussell/oh-my-zsh/themes that come bundled with _Oh My Zsh_.
+** Take a look at the "current themes":https://wiki.github.com/robbyrussell/oh-my-zsh/themes that come bundled with _Oh My Zsh_.
 * much much more...  take a look at @lib/@ what _Oh My Zsh_ offers...
 
 h2. Useful

From 8060e2530178cf34dc9632080bde0d047db70393 Mon Sep 17 00:00:00 2001
From: Ben Langfeld <ben@langfeld.me>
Date: Fri, 18 Feb 2011 12:17:00 +0000
Subject: [PATCH 12/13] Make a cleaner version of the OS X tab function

---
 plugins/osx/osx.plugin.zsh | 35 ++++++++++++++++++++++++++++-------
 1 file changed, 28 insertions(+), 7 deletions(-)

diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh
index fce88c7..eb995eb 100644
--- a/plugins/osx/osx.plugin.zsh
+++ b/plugins/osx/osx.plugin.zsh
@@ -1,11 +1,32 @@
+function savepath() {
+  pwd > ~/.current_path~
+}
+
 function tab() {
-  osascript 2>/dev/null <<EOF
-    tell application "System Events"
-      tell process "Terminal" to keystroke "t" using command down
-    end
-    tell application "Terminal"
+savepath
+osascript >/dev/null <<EOF
+on do_submenu(app_name, menu_name, menu_item, submenu_item)
+    -- bring the target application to the front
+    tell application app_name
       activate
-      do script with command "cd \"$PWD\"; $*" in window 1
     end tell
+    tell application "System Events"
+      tell process app_name
+        tell menu bar 1
+          tell menu bar item menu_name
+            tell menu menu_name
+              tell menu item menu_item
+                tell menu menu_item
+                  click menu item submenu_item
+                end tell
+              end tell
+            end tell
+          end tell
+        end tell
+      end tell
+    end tell
+end do_submenu
+
+do_submenu("Terminal", "Shell", "New Tab", 1)
 EOF
-}
\ No newline at end of file
+}

From 580664dc497db9072236dee4ee65b7d570e81265 Mon Sep 17 00:00:00 2001
From: Ben Langfeld <ben@langfeld.me>
Date: Fri, 18 Feb 2011 12:48:27 +0000
Subject: [PATCH 13/13] Add iTerm version of tab function (itab)

---
 plugins/osx/osx.plugin.zsh | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh
index eb995eb..81eed5e 100644
--- a/plugins/osx/osx.plugin.zsh
+++ b/plugins/osx/osx.plugin.zsh
@@ -30,3 +30,28 @@ end do_submenu
 do_submenu("Terminal", "Shell", "New Tab", 1)
 EOF
 }
+
+function itab() {
+savepath
+osascript >/dev/null <<EOF
+on do_submenu(app_name, menu_name, menu_item)
+    -- bring the target application to the front
+    tell application app_name
+      activate
+    end tell
+    tell application "System Events"
+      tell process app_name
+        tell menu bar 1
+          tell menu bar item menu_name
+            tell menu menu_name
+              click menu item menu_item
+            end tell
+          end tell
+        end tell
+      end tell
+    end tell
+end do_submenu
+
+do_submenu("iTerm", "Shell", "New Tab")
+EOF
+}