doom-enabled-modules => doom-modules

This commit is contained in:
Henrik Lissner 2017-02-06 01:22:54 -05:00
parent bc402868a6
commit 4cdc28da18
2 changed files with 28 additions and 26 deletions

View file

@ -112,10 +112,10 @@ fed to `doom/packages-delete'."
;;;###autoload
(defun doom-read-packages (&optional force-p nopackages)
"Parses your Emacs config to keep track of packages declared with `package!'
in `doom-packages' and enabled modules in `doom-enabled-modules'."
in `doom-packages' and enabled modules in `doom-modules'."
(doom-initialize)
(when (or force-p (not doom-enabled-modules) (not doom-packages))
(setq doom-enabled-modules
(when (or force-p (not doom-modules) (not doom-packages))
(setq doom-modules
(let (paths mode enabled-modules)
(--each (doom--scrape-sexps 'doom! (f-expand "init.el" doom-emacs-dir))
(dolist (module it)
@ -144,7 +144,7 @@ in `doom-packages' and enabled modules in `doom-enabled-modules'."
(doom--scrape-sexps 'package! file)))
(append (f-glob "core*.el" doom-core-dir)
(--map (doom-module-path (car it) (cdr it) "packages.el")
doom-enabled-modules)))))))
doom-modules)))))))
t)))
;;;###autoload
@ -168,25 +168,26 @@ in `doom-packages' and enabled modules in `doom-enabled-modules'."
"Installs package NAME with optional quelpa RECIPE (see `quelpa-recipe' for an
example; the package name can be omitted)."
(doom-refresh-packages)
(doom-read-packages)
(when (package-installed-p name)
(error "%s is already installed, skipping" name))
(when (plist-get plist :disabled)
(error "%s is disabled, skipping" name))
(when (plist-get plist :load-path)
(error "%s has a local load-path, skipping" name))
(let ((needs (plist-get plist :needs)))
(when (and needs
(--any-p (not (rassq it doom-modules))
(-list needs)))
(error "%s doesn't have necessary dependencies (%s), skipping" needs)))
(let ((inhibit-message (not doom-debug-mode)))
(cond ((plist-get plist :recipe)
(let ((recipe (plist-get plist :recipe)))
(when (and recipe (= 0 (mod (length recipe) 2)))
(setq recipe (cons name recipe)))
(quelpa recipe)))
(t (package-install name)))
(t (package-install name))))
(cl-pushnew (cons name plist) doom-packages :key 'car)
(when (plist-member plist :setup)
(let ((setup (plist-get plist :setup)))
(when (listp setup)
(setq setup (assq (doom-os) setup)))
(when setup
(async-shell-command setup))))
(package-installed-p name))
(defun doom-update-package (name)
@ -196,7 +197,8 @@ appropriate."
(unless (package-installed-p name)
(error "%s isn't installed" name))
(when (doom-package-outdated-p name)
(let (quelpa-modified-p)
(let ((inhibit-message (not doom-debug-mode))
quelpa-modified-p)
(pcase (doom-package-backend name)
('quelpa
(let ((quelpa-upgrade-p t))

View file

@ -25,7 +25,7 @@
;;
;; See core/autoload/packages.el for more functions.
(defvar doom-enabled-modules nil
(defvar doom-modules nil
"List of enabled modules; each element is a cons cell (MODULE . SUBMODULE),
where MODULE is the module's property symbol, e.g. :lang, and SUBMODULE is the
submodule symbol, e.g. 'evil.")
@ -85,11 +85,11 @@ byte-compilation."
((not mode)
(error "No namespace specified on `doom!' for %s" p))
(t
(setq doom-enabled-modules (append doom-enabled-modules (list (cons mode p))))))))
`(unless noninteractive
(let (file-name-handler-alist)
(setq doom-modules (append doom-modules (list (cons mode p))))))))
(unless noninteractive
`(let (file-name-handler-alist)
,@(mapcar (lambda (pkg) `(load! ,(car pkg) ,(cdr pkg)))
doom-enabled-modules)
doom-modules)
(when (display-graphic-p)
(require 'server)
@ -210,7 +210,7 @@ Examples:
file (concat (symbol-name module) ".el")))
(t
(cl-pushnew (cons module submodule)
doom-enabled-modules
doom-modules
:test (lambda (x y) (and (eq (car x) (car y))
(eq (cdr x) (cdr y)))))
(setq path (doom-module-path module submodule)
@ -240,7 +240,7 @@ Examples:
;;
(defun doom/reload ()
"Reload `load-path', `doom-enabled-modules' and `doom-packages' by
"Reload `load-path', `doom-modules' and `doom-packages' by
reinitializing doom and parsing config files for `package!' and `doom!' calls.
There are few reasons to use this."
(interactive)
@ -269,7 +269,7 @@ the commandline."
((f-exists-p auto-file)
auto-file)))
(--map (doom-module-path (car it) (cdr it))
doom-enabled-modules)))
doom-modules)))
(f-glob "autoload/*.el" doom-core-dir)))
(when (f-exists-p generated-autoload-file)
(f-delete generated-autoload-file)
@ -300,7 +300,7 @@ There should be a measurable benefit from this, but it may take a while."
(or (string= (f-base it) "config")
(string-prefix-p "+" (f-base it))))
t)
doom-enabled-modules)))))
doom-modules)))))
(n 0)
results)
(dolist (file targets)