aboutsummaryrefslogtreecommitdiff
path: root/Emacs/.config/emacs/init.el
diff options
context:
space:
mode:
Diffstat (limited to 'Emacs/.config/emacs/init.el')
-rw-r--r--Emacs/.config/emacs/init.el42
1 files changed, 4 insertions, 38 deletions
diff --git a/Emacs/.config/emacs/init.el b/Emacs/.config/emacs/init.el
index a210b5c..6c4257d 100644
--- a/Emacs/.config/emacs/init.el
+++ b/Emacs/.config/emacs/init.el
@@ -48,49 +48,15 @@
(straight-use-package 'use-package)
;;; Load literate
+(load-file (concat user-emacs-directory "elisp/literate.el"))
-;; Setup directories and constants
-(defconst +literate/org-files (list (concat user-emacs-directory "config.org")))
-(defconst +literate/output-files
- (mapcar #'(lambda (x) (replace-regexp-in-string ".org" ".el" x)) +literate/org-files))
-
-;; Setup predicates and loading
-
-(defun +literate/--reduce-bool (bools init)
- (if (= (length bools) 0)
- init
- (+literate/--reduce-bool (cdr bools) (and (car bools) init))))
-
-(defun +literate/output-files-exist ()
- "Checks if output files exist, for compilation purposes."
- (if (< 1 (length +literate/output-files))
- (+literate/--reduce-bool (mapc #'file-exists-p +literate/output-files) t)
- (file-exists-p (car +literate/output-files))))
-
-(defun +literate/load-config ()
- "Load all files in +literate/output-files."
- (interactive)
- (mapc #'(lambda (x) (load-file x)) +literate/output-files))
-
-(autoload #'org-babel-tangle-file "ob-tangle")
-(defun +literate/compile-config ()
- "Compile all files in +literate/org-files via org-babel-tangle."
- (interactive)
- (message "Compiling files...")
- (mapc #'org-babel-tangle-file +literate/org-files)
- (message "Files compiled")
-
- (message "Byte-compiling files...")
- (mapc #'(lambda (file) (byte-compile-file file)) +literate/output-files)
- (message "Files byte-compiled"))
-
-;; Killing Emacs hook
+;; Compile on Emacs quit
(add-hook
'kill-emacs-hook
#'+literate/compile-config)
-(unless (+literate/output-files-exist)
- (+literate/compile-config))
+(if (not (+literate/output-files-exist))
+ (+literate/compile-config))
(+literate/load-config)