From 0b92af83985c180ed8ab86756a580c9cfc82af1e Mon Sep 17 00:00:00 2001
From: Oliver Davies <oliver@oliverdavies.uk>
Date: Mon, 25 Apr 2022 09:33:43 +0100
Subject: [PATCH] refactor(zsh): simplify .zshrc

---
 roles/zsh/files/.zshrc | 52 +++++++++++++++---------------------------
 1 file changed, 19 insertions(+), 33 deletions(-)

diff --git a/roles/zsh/files/.zshrc b/roles/zsh/files/.zshrc
index bc2b3e83..5dd3d7b6 100644
--- a/roles/zsh/files/.zshrc
+++ b/roles/zsh/files/.zshrc
@@ -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