refactor(zsh): simplify .zshrc

This commit is contained in:
Oliver Davies 2022-04-25 09:33:43 +01:00
parent 6c6b428883
commit 0b92af8398

View file

@ -1,37 +1,23 @@
# Enable extended globbing for use in _load_settings()
setopt extendedglob
sources=(
'aliases'
'colour'
'functions'
'fzf'
'general'
'git'
'history'
'navigation'
'nvm'
'options'
'path'
'platformsh'
'plugins'
'post/completion'
)
# 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"
for s in "${sources[@]}"; do
source $HOME/.zsh/configs/${s}.zsh
done
# Local config
[[ -f ~/.zshrc.local ]] && source ~/.zshrc.local