From 28da288110cc209f931b73e315c1bfbe0987c722 Mon Sep 17 00:00:00 2001 From: Aaron France Date: Mon, 5 Jan 2015 22:16:13 +0100 Subject: [PATCH] Allow filtering automatically sourced configs By specifying `ignored_configs` in your .zshrc file you can ignore certain configs completely. Useful for when a certain configuration causes problems on your system. --- oh-my-zsh.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index d75b521c7..16bec3ac2 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -8,6 +8,20 @@ fi # add a function path fpath=($ZSH/functions $ZSH/completions $fpath) +# 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 +maybe_source() { + local config_base=$(basename $1) + local config_file="${config_base%.*}" + if [[ ${ignored_configs[(r)$config_file]} != $config_file ]]; then + source $1 + fi +} + +for config_file ($ZSH/lib/*.zsh); do + maybe_source $config_file +done + # Set ZSH_CUSTOM to the path where your custom config files # and plugins exists, or else we will use the default custom/ if [[ -z "$ZSH_CUSTOM" ]]; then