Rewrite :defer semantics

:defer now supports a hook, a cons cell with (SYMBOL . INTEGER) where
SYMBOL is a hook and INTEGER is a number of idle seconds before the
package is autoloaded, or just the integer (as per the default behavior
of :defer).

Also fixes an issue where switch-buffer-deffered packages (like
smartparens) wouldn't load.
This commit is contained in:
Henrik Lissner 2018-05-15 10:46:41 +02:00
parent 9a2c4f297c
commit 94f9e43f25
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
9 changed files with 22 additions and 28 deletions

View file

@ -70,14 +70,14 @@ fundamental-mode) for performance sake."
;; revert buffers for changed files
(def-package! autorevert
:defer buffer
:defer doom-after-switch-buffer-hook
:config
(setq auto-revert-verbose nil)
(global-auto-revert-mode +1))
;; persist variables across sessions
(def-package! savehist
:defer (input . 1)
:defer (pre-command-hook . 1)
:config
(setq savehist-file (concat doom-cache-dir "savehist")
savehist-save-minibuffer-history t
@ -87,7 +87,7 @@ fundamental-mode) for performance sake."
;; persistent point location in buffers
(def-package! saveplace
:defer buffer
:defer doom-after-switch-buffer-hook
:config
(setq save-place-file (concat doom-cache-dir "saveplace"))
(defun doom*recenter-on-load-saveplace (&rest _)
@ -99,7 +99,7 @@ fundamental-mode) for performance sake."
;; Keep track of recently opened files
(def-package! recentf
:defer (input . 1)
:defer (pre-command-hook . 1)
:commands recentf-open-files
:config
(setq recentf-save-file (concat doom-cache-dir "recentf")
@ -131,7 +131,7 @@ fundamental-mode) for performance sake."
;; Auto-close delimiters and blocks as you type
(def-package! smartparens
:defer (buffer . 2)
:defer doom-after-switch-buffer-hook
:config
(require 'smartparens-config)
(setq sp-highlight-pair-overlay nil
@ -150,7 +150,7 @@ fundamental-mode) for performance sake."
;; Branching undo
(def-package! undo-tree
:defer input
:defer pre-command-hook
:config
(global-undo-tree-mode +1)
;; persistent undo history is known to cause undo history corruption, which