[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org-modern 502cdc3bd6 1/3: Add org-modern-agenda (Fix #
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org-modern 502cdc3bd6 1/3: Add org-modern-agenda (Fix #6) |
Date: |
Fri, 11 Mar 2022 09:57:44 -0500 (EST) |
branch: externals/org-modern
commit 502cdc3bd63affb6004331c78c6913d78d27746e
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Add org-modern-agenda (Fix #6)
Currently only TODO states are prettified.
---
README.org | 4 +++-
org-modern.el | 25 ++++++++++++++++++++++++-
2 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/README.org b/README.org
index 3deba28847..f0864bc837 100644
--- a/README.org
+++ b/README.org
@@ -56,7 +56,8 @@ invoking =M-x org-modern-mode=. In order to enable
=org-modern= for all your Org
buffers, add =org-modern-mode= to the Org mode hooks.
#+begin_src emacs-lisp
-(add-hook 'org-mode-hook #'org-modern-mode)
+ (add-hook 'org-mode-hook #'org-modern-mode)
+ (add-hook 'org-agenda-finalize-hook 'org-modern-agenda)
#+end_src
Try the following minimal setup in =emacs -Q= to emulate the looks of the
@@ -97,6 +98,7 @@ screenshot above.
;; Enable org-modern-mode
(add-hook 'org-mode-hook 'org-modern-mode)
+ (add-hook 'org-agenda-finalize-hook 'org-modern-agenda)
#+end_src
* Contributions
diff --git a/org-modern.el b/org-modern.el
index 431be7905a..7c06ebf6a9 100644
--- a/org-modern.el
+++ b/org-modern.el
@@ -301,7 +301,8 @@ Set to nil to disable the indicator."
(put-text-property
beg end
'face
- (if (member todo org-done-keywords)
+ (if (member todo (or org-done-keywords
+ org-done-keywords-for-agenda))
'org-modern-done
'org-modern-todo))))
@@ -514,5 +515,27 @@ Set to nil to disable the indicator."
'(display face invisible)
'(wrap-prefix line-prefix display face invisible))))))
+;;;###autoload
+(define-minor-mode org-modern-agenda-mode
+ "Modern looks for Org agenda highlighting."
+ :global nil
+ :group 'org-modern
+ (if org-modern-agenda-mode
+ (add-hook 'org-agenda-finalize-hook #'org-modern--agenda-finalize)
+ (remove-hook 'org-agenda-finalize-hook #'org-modern--agenda-finalize)))
+
+;;;###autoload
+(defun org-modern-agenda ()
+ "Finalize Org agenda highlighting."
+ (save-excursion
+ (save-match-data
+ (goto-char (point-min))
+ (let ((re (format " %s "
+ (regexp-opt
+ (append org-todo-keywords-for-agenda
+ org-done-keywords-for-agenda) t))))
+ (while (re-search-forward re nil 'noerror)
+ (org-modern--todo))))))
+
(provide 'org-modern)
;;; org-modern.el ends here