summaryrefslogtreecommitdiff
path: root/modules/nerd-icons-config.el
diff options
context:
space:
mode:
Diffstat (limited to 'modules/nerd-icons-config.el')
-rw-r--r--modules/nerd-icons-config.el12
1 files changed, 11 insertions, 1 deletions
diff --git a/modules/nerd-icons-config.el b/modules/nerd-icons-config.el
index 4a8ce194..52a4627d 100644
--- a/modules/nerd-icons-config.el
+++ b/modules/nerd-icons-config.el
@@ -70,11 +70,21 @@ every call. The `memq' check skips when the face is already present."
;; ------------------------------- Packages ------------------------------------
(use-package nerd-icons
- :demand t
+ :defer t
:config
(advice-add 'nerd-icons-icon-for-dir :filter-return #'cj/--nerd-icons-color-dir)
(cj/nerd-icons-apply-tint))
+;; If nerd-icons is already loaded (e.g. when this module is re-evaluated
+;; after a session in which a feature module already required it), the
+;; `:config' block above won't fire again -- fall through to install the
+;; advice and tint immediately.
+(with-eval-after-load 'nerd-icons
+ (unless (advice-member-p #'cj/--nerd-icons-color-dir 'nerd-icons-icon-for-dir)
+ (advice-add 'nerd-icons-icon-for-dir
+ :filter-return #'cj/--nerd-icons-color-dir))
+ (cj/nerd-icons-apply-tint))
+
(use-package nerd-icons-completion
:demand t
:after (nerd-icons marginalia)