Adding ability to override plugins from the custom directory.

This commit is contained in:
Jake Bell 2011-05-26 12:34:37 -05:00
parent be8e44a671
commit cd7b12b4ac
4 changed files with 10 additions and 3 deletions

1
.gitignore vendored
View file

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

View file

@ -48,7 +48,9 @@ the "refcard":http://www.bash2zsh.com/zsh_refcard/refcard.pdf is pretty tasty fo
h3. Customization 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 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 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 * "View our growing list of contributors":https://github.com/robbyrussell/oh-my-zsh/contributors
Thank you so much! Thank you so much!

View file

@ -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.

View file

@ -17,7 +17,9 @@ compinit -i
# Load all of the plugins that were defined in ~/.zshrc # Load all of the plugins that were defined in ~/.zshrc
for plugin ($plugins); do 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 source $ZSH/plugins/$plugin/$plugin.plugin.zsh
fi fi
done done