better handling of loadable modules

prevent loading specific modules (oh-my-zsh/lib/*.zsh)
via "config_exclude" variable
instead of messing with .gitignore
This commit is contained in:
Konstantin Demin 2016-07-11 10:39:33 +03:00
parent 66179bdab8
commit 1b00c97f27
No known key found for this signature in database
GPG Key ID: 1F33CB0BA4731BC6
2 changed files with 16 additions and 4 deletions

View File

@ -27,12 +27,16 @@ fi
# Load all of the config files in ~/oh-my-zsh that end in .zsh # Load all of the config files in ~/oh-my-zsh that end in .zsh
# TIP: Add files you don't want in git to .gitignore # TIP: Add file names you don't want in array "config_exclude"
for config_file ($ZSH/lib/*.zsh); do for config_file (${ZSH}/lib/*.zsh); do
config_name=${config_file:r:t}
custom_config_file="${ZSH_CUSTOM}/lib/${config_file:t}" custom_config_file="${ZSH_CUSTOM}/lib/${config_file:t}"
if [ -n "${config_exclude[(r)${config_name}]}" ]; then
continue
fi
[ -f "${custom_config_file}" ] && config_file=${custom_config_file} [ -f "${custom_config_file}" ] && config_file=${custom_config_file}
source $config_file source ${config_file}
done done; unset config_file config_name custom_config_file
is_plugin() { is_plugin() {

View File

@ -45,6 +45,14 @@ ZSH_THEME="robbyrussell"
# Would you like to use another custom folder than $ZSH/custom? # Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder # ZSH_CUSTOM=/path/to/new-custom-folder
# If you want exclude some modules from loading,
# you'll need to specify file names only (without extension) to do this.
# Example: config_exclude=(bzr)
# This will prevent loading ${ZSH}/lib/bzr.zsh and ${ZSH_CUSTOM}/lib/bzr.zsh,
# if any.
# However, you may load modules by yourself in any time.
config_exclude=()
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse) # Example format: plugins=(rails git textmate ruby lighthouse)