浏览代码

Optimize plugin loading so that only one call to compinit is required

Pat Regan 13 年之前
父节点
当前提交
6bf906a262

+ 11 - 2
oh-my-zsh.sh

@@ -10,14 +10,23 @@ for config_file ($ZSH/lib/*.zsh) source $config_file
 # Load all of your custom configurations from custom/
 for config_file ($ZSH/custom/*.zsh) source $config_file
 
-# Load all of the plugins that were defined in ~/.zshrc
+# Add all defined plugins to fpath
 plugin=${plugin:=()}
-for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh
+for plugin ($plugins) fpath=($ZSH/plugins/$plugin $fpath)
 
 # Load and run compinit
 autoload -U compinit
 compinit -i
 
+# Load all of the plugins that were defined in ~/.zshrc
+for plugin ($plugins)
+do
+  if [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]
+  then
+    source $ZSH/plugins/$plugin/$plugin.plugin.zsh
+  fi
+done
+
 # Load the theme
 source "$ZSH/themes/$ZSH_THEME.zsh-theme"
 

+ 0 - 2
plugins/brew/brew.plugin.zsh

@@ -1,2 +0,0 @@
-# add brew completion function to path
-fpath=($ZSH/plugins/brew $fpath)

+ 0 - 2
plugins/cpanm/cpanm.plugin.zsh

@@ -1,2 +0,0 @@
-# add cpanm completion function to path
-fpath=($ZSH/plugins/cpanm $fpath)

+ 0 - 2
plugins/gem/gem.plugin.zsh

@@ -1,2 +0,0 @@
-# add gem completion function to path
-fpath=($ZSH/plugins/gem $fpath)

+ 0 - 2
plugins/github/github.plugin.zsh

@@ -1,2 +0,0 @@
-# add github completion function to path
-fpath=($ZSH/plugins/github $fpath)

+ 0 - 2
plugins/macports/macports.plugin.zsh

@@ -6,5 +6,3 @@ alias puni="sudo port uninstall inactive"
 alias puo="sudo port upgrade outdated"
 alias pup="psu && puo"
 
-# add macports completion function to path
-fpath=($ZSH/plugins/macports $fpath)

+ 0 - 2
plugins/pip/pip.plugin.zsh

@@ -1,2 +0,0 @@
-# add brew completion function to path
-fpath=($ZSH/plugins/pip $fpath)

+ 0 - 1
plugins/vagrant/vagrant.plugin.zsh

@@ -1 +0,0 @@
-fpath=($ZSH/plugins/vagrant $fpath)