branch: externals/org-transclusion
commit 1eea651194e3f59ecb80a77b7dc6953bfb405a17
Author: Noboru Ota <[email protected]>
Commit: Noboru Ota <[email protected]>
fix(font-lock): Font-lock with/without org-modern
---
org-transclusion-font-lock.el | 22 +++++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)
diff --git a/org-transclusion-font-lock.el b/org-transclusion-font-lock.el
index fc914a2efe..123305e387 100644
--- a/org-transclusion-font-lock.el
+++ b/org-transclusion-font-lock.el
@@ -39,14 +39,21 @@
(require 'org)
+(defvar org-transclusion-font-lock-keywords nil)
+
;;;###autoload
(define-minor-mode org-transclusion-font-lock-mode ()
:lighter nil
:global t
:group 'org-transclusion
(if org-transclusion-font-lock-mode
- (add-hook 'org-mode-hook #'org-transclusion-font-lock-set)
- (remove-hook 'org-mode-hook #'org-transclusion-font-lock-set)))
+ (progn
+ (add-hook 'org-font-lock-set-keywords-hook
+ #'org-transclusion-font-lock-extra-keywords-function)
+ (add-hook 'org-mode-hook #'org-transclusion-font-lock-set))
+ (remove-hook 'org-mode-hook #'org-transclusion-font-lock-set)
+ (remove-hook 'org-font-lock-set-keywords-hook
+ #'org-transclusion-font-lock-extra-keywords-function)))
(defface org-transclusion-keyword
'((((class color) (min-colors 88) (background light))
@@ -57,10 +64,19 @@
"Face for #+transclude keyword."
:group 'org-transclusion)
+(defun org-transclusion-font-lock-extra-keywords-function ()
+ "Add font-lock function to Org's hook.
+The hook is `org-font-lock-set-keywords-hook'."
+ (add-to-list 'org-font-lock-extra-keywords
+ '(org-transclusion-fontify-meta-lines-and-blocks) 'append))
+
(defun org-transclusion-font-lock-set ()
"Add font-lock function to Org's hook.
The hook is `org-font-lock-set-keywords-hook'."
- (font-lock-remove-keywords nil org-font-lock-keywords)
+ ;; (setq org-transclusion-font-lock-keywords
+ ;; (append (remove '(org-fontify-meta-lines-and-blocks)
org-font-lock-keywords)))
+ ;; (font-lock-remove-keywords nil org-font-lock-keywords)
+ ;; (font-lock-add-keywords nil org-transclusion-font-lock-keywords)
(font-lock-add-keywords nil
'(org-transclusion-fontify-meta-lines-and-blocks)))
(defun org-transclusion-fontify-meta-lines-and-blocks (limit)