6bf906a2622ddea1e9aae5d23c544d37fc4b6a76

Author
Pat Regan <thehead@patshead.com>
Committer
Pat Regan <thehead@patshead.com>
Date

Message

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

Diff

 1diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh
 2index 84a850ca39a28e9442ea035ce4ea3f007d777962..0c85de714aa84c86cbc0869875c3915f9d90c7fe 100644
 3--- a/oh-my-zsh.sh
 4+++ b/oh-my-zsh.sh
 5@@ -10,14 +10,23 @@ for config_file ($ZSH/lib/*.zsh) source $config_file
 6 # Load all of your custom configurations from custom/
 7 for config_file ($ZSH/custom/*.zsh) source $config_file
 8 
 9-# Load all of the plugins that were defined in ~/.zshrc
10+# Add all defined plugins to fpath
11 plugin=${plugin:=()}
12-for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh
13+for plugin ($plugins) fpath=($ZSH/plugins/$plugin $fpath)
14 
15 # Load and run compinit
16 autoload -U compinit
17 compinit -i
18 
19+# Load all of the plugins that were defined in ~/.zshrc
20+for plugin ($plugins)
21+do
22+  if [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]
23+  then
24+    source $ZSH/plugins/$plugin/$plugin.plugin.zsh
25+  fi
26+done
27+
28 # Load the theme
29 source "$ZSH/themes/$ZSH_THEME.zsh-theme"
30 
31diff --git a/plugins/brew/brew.plugin.zsh b/plugins/brew/brew.plugin.zsh
32deleted file mode 100644
33index 079c0fba01ed7c52105382a10bd97a38d0bea121..0000000000000000000000000000000000000000
34--- a/plugins/brew/brew.plugin.zsh
35+++ /dev/null
36@@ -1,2 +0,0 @@
37-# add brew completion function to path
38-fpath=($ZSH/plugins/brew $fpath)
39diff --git a/plugins/cpanm/cpanm.plugin.zsh b/plugins/cpanm/cpanm.plugin.zsh
40deleted file mode 100644
41index 8425b5ad88ab24b7cdcc293cb076e8a5d4f553a4..0000000000000000000000000000000000000000
42--- a/plugins/cpanm/cpanm.plugin.zsh
43+++ /dev/null
44@@ -1,2 +0,0 @@
45-# add cpanm completion function to path
46-fpath=($ZSH/plugins/cpanm $fpath)
47diff --git a/plugins/gem/gem.plugin.zsh b/plugins/gem/gem.plugin.zsh
48deleted file mode 100644
49index cdfad7ad672b02ff92c86cca70e49c500c5872f7..0000000000000000000000000000000000000000
50--- a/plugins/gem/gem.plugin.zsh
51+++ /dev/null
52@@ -1,2 +0,0 @@
53-# add gem completion function to path
54-fpath=($ZSH/plugins/gem $fpath)
55diff --git a/plugins/github/github.plugin.zsh b/plugins/github/github.plugin.zsh
56deleted file mode 100644
57index 0858783ccc5ae896311d494cf518965c6437f059..0000000000000000000000000000000000000000
58--- a/plugins/github/github.plugin.zsh
59+++ /dev/null
60@@ -1,2 +0,0 @@
61-# add github completion function to path
62-fpath=($ZSH/plugins/github $fpath)
63diff --git a/plugins/macports/macports.plugin.zsh b/plugins/macports/macports.plugin.zsh
64index 492a665b548b5ed0fb22142d34a89f6a45fe1b3f..277352e321afd49b954cb91223cf59f9eaf399a3 100644
65--- a/plugins/macports/macports.plugin.zsh
66+++ b/plugins/macports/macports.plugin.zsh
67@@ -6,5 +6,3 @@ alias puni="sudo port uninstall inactive"
68 alias puo="sudo port upgrade outdated"
69 alias pup="psu && puo"
70 
71-# add macports completion function to path
72-fpath=($ZSH/plugins/macports $fpath)
73diff --git a/plugins/pip/pip.plugin.zsh b/plugins/pip/pip.plugin.zsh
74deleted file mode 100644
75index 740f962077e8ce37775c9de4e2aaf654c552aaf7..0000000000000000000000000000000000000000
76--- a/plugins/pip/pip.plugin.zsh
77+++ /dev/null
78@@ -1,2 +0,0 @@
79-# add brew completion function to path
80-fpath=($ZSH/plugins/pip $fpath)
81diff --git a/plugins/vagrant/vagrant.plugin.zsh b/plugins/vagrant/vagrant.plugin.zsh
82deleted file mode 100644
83index 98d2d705c48fa26ffdca16a9ec3717f84ec98556..0000000000000000000000000000000000000000
84--- a/plugins/vagrant/vagrant.plugin.zsh
85+++ /dev/null
86@@ -1 +0,0 @@
87-fpath=($ZSH/plugins/vagrant $fpath)