Browse Source

Merge pull request #359 from theunraveler/master

Rewrite of plugin override
Robby Russell 13 years ago
parent
commit
142c03dbd2
4 changed files with 10 additions and 3 deletions
  1. 1 0
      .gitignore
  2. 4 2
      README.textile
  3. 2 0
      custom/example/example.plugin.zsh
  4. 3 1
      oh-my-zsh.sh

+ 1 - 0
.gitignore

@@ -2,5 +2,6 @@ locals.zsh
 log/.zsh_history
 projects.zsh
 custom/*
+!custom/example
 !custom/example.zsh
 cache

+ 4 - 2
README.textile

@@ -48,7 +48,9 @@ the "refcard":http://www.bash2zsh.com/zsh_refcard/refcard.pdf is pretty tasty fo
 h3. Customization
 
 If you want to override any of the default behavior, just add a new file (ending in @.zsh@) into the @custom/@ directory.
-If you have many functions which go good together you can put them as a *.plugin.zsh file in the @plugin/@ directory and then enable this plugin.
+If you have many functions which go good together you can put them as a *.plugin.zsh file in the @custom/plugins/@ directory and then enable this plugin.
+If you would like to override the functionality of a plugin distributed with oh-my-zsh, create a plugin of the same name in the @custom/plugins/@ directory and it will be loaded instead of the one in @plugins/@.
+
 
 h3. Uninstalling
 
@@ -68,4 +70,4 @@ This project wouldn't exist without all of our awesome users and contributors.
 
 * "View our growing list of contributors":https://github.com/robbyrussell/oh-my-zsh/contributors
 
-Thank you so much!
+Thank you so much!

+ 2 - 0
custom/example/example.plugin.zsh

@@ -0,0 +1,2 @@
+# Add your own custom plugins in the custom/plugins directory. Plugins placed
+# here will override ones with the same name in the main plugins directory.

+ 3 - 1
oh-my-zsh.sh

@@ -17,7 +17,9 @@ 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
+  if [ -f $ZSH/custom/plugins/$plugin/$plugin.plugin.zsh ]; then
+    source $ZSH/custom/plugins/$plugin/$plugin.plugin.zsh
+  elif [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]; then
     source $ZSH/plugins/$plugin/$plugin.plugin.zsh
   fi
 done