From e14093b049a201e97bc52450b346d1fe50a7a924 Mon Sep 17 00:00:00 2001 From: Raphael Roberts Date: Sat, 6 Jul 2019 21:15:07 -0500 Subject: [PATCH] Loading of settings.org is much faster since org mode doesn't have to be loaded --- init.el | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/init.el b/init.el index 2628f02..562acb4 100644 --- a/init.el +++ b/init.el @@ -13,7 +13,26 @@ (unless (package-installed-p package) (package-install package))) package-selected-packages) -(require 'org) -(org-babel-load-file - (expand-file-name "settings.org" - user-emacs-directory)) + +(defvar org-init/settings.org-message-depth 4 + "What depth of settings.org headers to message at startup.") +;;; init.el +(with-temp-buffer + (insert-file "~/.emacs.d/settings.org") + (goto-char (point-min)) + (while (not (eobp)) + (forward-line 1) + (cond + ;; Report Headers + ((looking-at + (format "\\*\\{2,%s\\} +.*$" + org-init/settings.org-message-depth)) + (message "%s" (match-string 0))) + ;; Evaluate Code Blocks + ((looking-at "^#\\+BEGIN_SRC +emacs-lisp *$") + (let ((l (match-end 0))) + (search-forward "\n#+END_SRC") + (eval-region l (match-beginning 0)))) + ;; Finish on the next level-1 header + ((looking-at "^\\* ") + (goto-char (point-max))))))