Add :defer-incrementally use-package keyword

This commit is contained in:
Henrik Lissner 2018-09-20 10:41:19 -04:00
parent 9c4147bbbb
commit b653039535
No known key found for this signature in database
GPG Key ID: 5F6C0EA160557395
3 changed files with 26 additions and 14 deletions

View File

@ -78,6 +78,16 @@ fundamental-mode) for performance sake."
(electric-indent-mode -1) ; enabled by default in Emacs 25+. No thanks.
(def-package! server
:when (display-graphic-p)
:defer 1
:after-call (pre-command-hook after-find-file)
:config
(when-let* ((name (getenv "EMACS_SERVER_NAME")))
(setq server-name name))
(unless (server-running-p)
(server-start)))
(def-package! autorevert
;; revert buffers for changed files
:after-call after-find-file
@ -87,7 +97,7 @@ fundamental-mode) for performance sake."
(def-package! savehist
;; persist variables across sessions
:defer 1
:defer-incrementally (custom savehist)
:after-call post-command-hook
:config
(setq savehist-file (concat doom-cache-dir "savehist")
@ -119,7 +129,7 @@ savehist file."
(def-package! recentf
;; Keep track of recently opened files
:defer 1
:defer-incrementally (easymenu tree-widget timer recentf)
:after-call after-find-file
:commands recentf-open-files
:config
@ -138,16 +148,6 @@ savehist file."
(add-hook 'kill-emacs-hook #'recentf-cleanup)
(quiet! (recentf-mode +1))))
(def-package! server
:when (display-graphic-p)
:defer 1
:after-call (pre-command-hook after-find-file)
:config
(when-let* ((name (getenv "EMACS_SERVER_NAME")))
(setq server-name name))
(unless (server-running-p)
(server-start)))
;;
;; Packages

View File

@ -204,10 +204,23 @@ non-nil, return paths of possible modules, activated or otherwise."
;; remove itself from the hook/function).
(defvar doom--deferred-packages-alist '(t))
(after! use-package-core
(add-to-list 'use-package-deferring-keywords :defer-incrementally nil #'eq)
(add-to-list 'use-package-deferring-keywords :after-call nil #'eq)
(setq use-package-keywords
(use-package-list-insert :defer-incrementally use-package-keywords :after))
(setq use-package-keywords
(use-package-list-insert :after-call use-package-keywords :after))
(defalias 'use-package-normalize/:defer-incrementally 'use-package-normalize-symlist)
(defun use-package-handler/:defer-incrementally (name _keyword targets rest state)
(use-package-concat
`((doom-load-packages-incrementally
',(if (listp targets)
targets
(list name))))
(use-package-process-keywords name rest state)))
(defalias 'use-package-normalize/:after-call 'use-package-normalize-symlist)
(defun use-package-handler/:after-call (name _keyword hooks rest state)
(if (plist-get state :demand)

View File

@ -16,10 +16,9 @@ available.")
(def-package! magit
:commands magit-file-delete
:defer-incrementally (dash f s with-editor git-commit package magit)
:init
(setq magit-auto-revert-mode nil) ; we already use `global-auto-revert-mode'
(doom-load-packages-incrementally
'(dash f s with-editor git-commit package magit))
:config
(setq magit-completing-read-function
(if (featurep! :completion ivy)