emacs-elpa-diffs
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]