Browse Source

Merge pull request #709 from docwhat/custom-plugin-fpath

set fpath correctly for custom plugins
Robby Russell 13 years ago
parent
commit
11b4769085
1 changed files with 15 additions and 8 deletions
  1. 15 8
      oh-my-zsh.sh

+ 15 - 8
oh-my-zsh.sh

@@ -13,20 +13,27 @@ fpath=($ZSH/functions $ZSH/completions $fpath)
 # TIP: Add files you don't want in git to .gitignore
 for config_file ($ZSH/lib/*.zsh) source $config_file
 
-# Add all defined plugins to fpath
+# Set ZSH_CUSTOM to the path where your custom config files
+# and plugins exists, or else we will use the default custom/
+if [[ -z "$ZSH_CUSTOM" ]]; then
+    ZSH_CUSTOM="$ZSH/custom"
+fi
+
+# Add all defined plugins to fpath. This must be done
+# before running compinit.
 plugin=${plugin:=()}
-for plugin ($plugins) fpath=($ZSH/plugins/$plugin $fpath)
+for plugin ($plugins); do
+  if [ -f $ZSH_CUSTOM/plugins/$plugin/$plugin.plugin.zsh ]; then
+    fpath=($ZSH_CUSTOM/plugins/$plugin $fpath)
+  elif [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]; then
+    fpath=($ZSH/plugins/$plugin $fpath)
+  fi
+done
 
 # Load and run compinit
 autoload -U compinit
 compinit -i
 
-# Set ZSH_CUSTOM to the path where your custom config files
-# and plugins exists, or else we will use the default custom/
-if [ "$ZSH_CUSTOM" = ""  ]
-then
-    ZSH_CUSTOM="$ZSH/custom"
-fi
 
 # Load all of the plugins that were defined in ~/.zshrc
 for plugin ($plugins); do