Added declarative abstraction for loading module
This commit is contained in:
@@ -1,35 +1,59 @@
|
|||||||
(message "Welcome to Emacs")
|
(message "Welcome to Emacs")
|
||||||
(message "Loading user configuration...")
|
(message "Loading user configuration...")
|
||||||
|
|
||||||
;; Core
|
;;=====================================================================================
|
||||||
(load "~/.emacs.d/lisp/core/packages.el")
|
;; Define loader functions
|
||||||
(load "~/.emacs.d/lisp/core/ui.el")
|
;;=====================================================================================
|
||||||
(load "~/.emacs.d/lisp/core/performance.el")
|
(defconst fscotto/modules-dir
|
||||||
(load "~/.emacs.d/lisp/core/editor.el")
|
(expand-file-name "lisp" user-emacs-directory))
|
||||||
(load "~/.emacs.d/lisp/core/keybindings.el")
|
|
||||||
|
|
||||||
;; Tools
|
(defun fscotto/load-module (module)
|
||||||
(load "~/.emacs.d/lisp/tools/completion.el")
|
"Load a module from symbol"
|
||||||
(load "~/.emacs.d/lisp/tools/project.el")
|
(let* ((module-name (symbol-name module))
|
||||||
(load "~/.emacs.d/lisp/tools/lsp.el")
|
(path (expand-file-name
|
||||||
(load "~/.emacs.d/lisp/tools/dap.el")
|
(concat (replace-regexp-in-string "/" "/" module-name)
|
||||||
|
".el")
|
||||||
|
fscotto/modules-dir)))
|
||||||
|
(unless (file-exists-p path)
|
||||||
|
(error "Module not found: %s" path))
|
||||||
|
(load path nil 'nomessage)))
|
||||||
|
|
||||||
;; Languages
|
(defun fscotto/load-modules (&rest modules)
|
||||||
(load "~/.emacs.d/lisp/lang/c.el")
|
(mapc #'fscotto/load-module modules))
|
||||||
(load "~/.emacs.d/lisp/lang/golang.el")
|
|
||||||
(load "~/.emacs.d/lisp/lang/shell.el")
|
|
||||||
|
|
||||||
;; Misc
|
;;=====================================================================================
|
||||||
(load "~/.emacs.d/lisp/misc/custom-functions.el")
|
;; Load modules
|
||||||
(load "~/.emacs.d/lisp/misc/doom-modeline.el")
|
;;=====================================================================================
|
||||||
(load "~/.emacs.d/lisp/misc/which-key.el")
|
(fscotto/load-modules
|
||||||
(load "~/.emacs.d/lisp/misc/email.el")
|
;; Core
|
||||||
(load "~/.emacs.d/lisp/misc/rss.el")
|
'core/packages
|
||||||
(load "~/.emacs.d/lisp/misc/terminal.el")
|
'core/ui
|
||||||
(load "~/.emacs.d/lisp/misc/vcs.el")
|
'core/performance
|
||||||
;; FIXME PDF viewer with annotations
|
'core/editor
|
||||||
;; (load "~/.emacs.d/lisp/misc/pdf.el")
|
'core/keybindings
|
||||||
(load "~/.emacs.d/lisp/misc/epub.el")
|
|
||||||
(load "~/.emacs.d/lisp/misc/i3-config.el")
|
;; Tools
|
||||||
|
'tools/completion
|
||||||
|
'tools/project
|
||||||
|
'tools/lsp
|
||||||
|
'tools/dap
|
||||||
|
|
||||||
|
;; Languages
|
||||||
|
'lang/c
|
||||||
|
'lang/golang
|
||||||
|
'lang/shell
|
||||||
|
|
||||||
|
;; Misc
|
||||||
|
'misc/custom-functions
|
||||||
|
'misc/doom-modeline
|
||||||
|
'misc/which-key
|
||||||
|
'misc/email
|
||||||
|
'misc/rss
|
||||||
|
'misc/terminal
|
||||||
|
'misc/vcs
|
||||||
|
;; FIXME PDF viewer with annotations
|
||||||
|
;; 'misc/pdf
|
||||||
|
'misc/epub
|
||||||
|
'misc/i3-config)
|
||||||
|
|
||||||
(message "...user configuration loaded")
|
(message "...user configuration loaded")
|
||||||
|
|||||||
Reference in New Issue
Block a user