aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-13 16:14:50 -0500
committerCraig Jennings <c@cjennings.net>2026-05-13 16:14:50 -0500
commite58f58b656cff9d9dc0e4b9fa59e236f0431e1b4 (patch)
tree5a946de2c7da1a19786c8db368d889bc6faf72ea /modules
parente179a1022319ec77d936f1cee21c471ac34f4d53 (diff)
downloaddotemacs-e58f58b656cff9d9dc0e4b9fa59e236f0431e1b4.tar.gz
dotemacs-e58f58b656cff9d9dc0e4b9fa59e236f0431e1b4.zip
refactor(org-agenda): extract main-agenda prefix format into a defvar
`org-agenda-custom-commands` inlined ` %i %-15:c%?-15t% s` four times across the "d" command's overdue / high-priority / schedule / priority-B blocks. New `cj/--main-agenda-prefix-format` defvar holds the literal once; every block now references the symbol so a format tweak lands in one place. Regression test walks the "d" command's blocks and asserts each `org-agenda-prefix-format` cell resolves to the shared symbol -- a block that silently diverges fails the check.
Diffstat (limited to 'modules')
-rw-r--r--modules/org-agenda-config.el14
1 files changed, 10 insertions, 4 deletions
diff --git a/modules/org-agenda-config.el b/modules/org-agenda-config.el
index 2c30db0f..9ff2fd72 100644
--- a/modules/org-agenda-config.el
+++ b/modules/org-agenda-config.el
@@ -279,6 +279,12 @@ If the current buffer isn't an org buffer, inform the user."
(defvar cj/main-agenda-tasks-title "PRIORITY B"
"String to announce the schedule section of the main agenda.")
+(defvar cj/--main-agenda-prefix-format " %i %-15:c%?-15t% s"
+ "Prefix format string shared by all blocks of the main daily agenda.
+Inlined across the overdue / high-priority / schedule / priority-B
+blocks of `org-agenda-custom-commands' before the extraction. Keep
+the four blocks pointing here so a format tweak lands in one place.")
+
(defun cj/org-skip-subtree-if-habit ()
"Skip an agenda entry if it has a STYLE property equal to \"habit\"."
(let ((subtree-end (save-excursion (org-end-of-subtree t))))
@@ -331,11 +337,11 @@ KEYWORDS must be a list of strings."
((alltodo ""
((org-agenda-skip-function #'cj/org-agenda-skip-subtree-if-not-overdue)
(org-agenda-overriding-header cj/main-agenda-overdue-title)
- (org-agenda-prefix-format " %i %-15:c%?-15t% s")))
+ (org-agenda-prefix-format cj/--main-agenda-prefix-format)))
(tags "PRIORITY=\"A\""
((org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done))
(org-agenda-overriding-header cj/main-agenda-hipri-title)
- (org-agenda-prefix-format " %i %-15:c%?-15t% s")))
+ (org-agenda-prefix-format cj/--main-agenda-prefix-format)))
(agenda ""
((org-agenda-start-day "0d")
(org-agenda-span 8)
@@ -345,7 +351,7 @@ KEYWORDS must be a list of strings."
(org-agenda-skip-function
'(org-agenda-skip-entry-if 'todo '("CANCELLED")))
(org-agenda-overriding-header cj/main-agenda-schedule-title)
- (org-agenda-prefix-format " %i %-15:c%?-15t% s")))
+ (org-agenda-prefix-format cj/--main-agenda-prefix-format)))
(alltodo ""
((org-agenda-skip-function '(or (cj/org-skip-subtree-if-habit)
(cj/org-skip-subtree-if-priority ?A)
@@ -354,7 +360,7 @@ KEYWORDS must be a list of strings."
(cj/org-skip-subtree-if-keyword '("PROJECT"))
(org-agenda-skip-if nil '(scheduled deadline))))
(org-agenda-overriding-header cj/main-agenda-tasks-title)
- (org-agenda-prefix-format " %i %-15:c%?-15t% s"))))
+ (org-agenda-prefix-format cj/--main-agenda-prefix-format))))
((org-agenda-compact-blocks nil)))))