- Use the `~` glob operator to exclude *.zwc insead of a separate test (requires `setopt extendedglob`). - Exclude both `pre` and `post` in one case alternative.
41 lines
887 B
Bash
41 lines
887 B
Bash
# load custom executable functions
|
|
for function in ~/.zsh/functions/*; do
|
|
source $function
|
|
done
|
|
|
|
# extra files in ~/.zsh/configs/pre , ~/.zsh/configs , and ~/.zsh/configs/post
|
|
# these are loaded first, second, and third, respectively.
|
|
_load_settings() {
|
|
_dir="$1"
|
|
if [ -d "$_dir" ]; then
|
|
if [ -d "$_dir/pre" ]; then
|
|
for config in "$_dir"/pre/**/*~*.zwc(N-.); do
|
|
. $config
|
|
done
|
|
fi
|
|
|
|
for config in "$_dir"/**/*(N-.); do
|
|
case "$config" in
|
|
"$_dir"/(pre|post)/*|*.zwc)
|
|
:
|
|
;;
|
|
*)
|
|
. $config
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [ -d "$_dir/post" ]; then
|
|
for config in "$_dir"/post/**/*~*.zwc(N-.); do
|
|
. $config
|
|
done
|
|
fi
|
|
fi
|
|
}
|
|
_load_settings "$HOME/.zsh/configs"
|
|
|
|
# Local config
|
|
[[ -f ~/.zshrc.local ]] && source ~/.zshrc.local
|
|
|
|
# aliases
|
|
[[ -f ~/.aliases ]] && source ~/.aliases
|