From 8168a035996019d5512d900b6d62a682560d09c4 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 5 Apr 2025 16:54:38 -0400 Subject: [PATCH] fix(org): org-modern: respect defaults for org-*-faces Makes org-modern respect Doom's defaults out-of-the-box. Amend: b1e6dec47a2d --- modules/lang/org/contrib/pretty.el | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/modules/lang/org/contrib/pretty.el b/modules/lang/org/contrib/pretty.el index 00257d3b4..a0b3f609f 100644 --- a/modules/lang/org/contrib/pretty.el +++ b/modules/lang/org/contrib/pretty.el @@ -20,4 +20,22 @@ (add-hook! 'org-modern-mode-hook (defun +org-modern-show-hidden-stars-in-indent-mode-h () (when org-indent-mode - (setq-local org-modern-hide-stars nil))))) + (setq-local org-modern-hide-stars nil)))) + + ;; Carry over the default values of `org-todo-keyword-faces', `org-tag-faces', + ;; and `org-priority-faces' as reasonably as possible, but only if the user + ;; hasn't already modified them. + (letf! (defun new-spec (spec) + (if (or (facep (cdr spec)) + (not (keyword (car-safe (cdr spec))))) + `(:inherit ,(cdr spec)) + (cdr spec))) + (unless org-modern-tag-faces + (dolist (spec org-tag-faces) + (add-to-list 'org-modern-tag-faces `(,(car spec) :inverse-video t ,@(new-spec spec))))) + (unless org-modern-todo-faces + (dolist (spec org-todo-keyword-faces) + (add-to-list 'org-modern-todo-faces `(,(car spec) :inverse-video t ,@(new-spec spec))))) + (unless org-modern-priority-faces + (dolist (spec org-priority-faces) + (add-to-list 'org-modern-priority-faces `(,(car spec) :inverse-video t ,@(new-spec spec)))))))