This is rudimentary, experimental, proof-of-concept alternative code for generating Org agendas. It doesn’t support nearly as many features as org-agenda.el
does, but it might be useful in some way. It uses some existing code from org-agenda.el
and tries to be compatible with parts of it, like org-agenda-finalize-entries
and org-agenda-finalize
.
Here’s an example of generating a kind of agenda view for today (note that the grouping is provided by org-super-agenda, not this code:
(org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org"
(and (or (date :date '= (org-today))
(date :deadline '<= (+ org-deadline-warning-days (org-today)))
(date :scheduled '<= (org-today)))
(not (apply #'todo org-done-keywords-for-agenda))))
Here are some other examples:
(org-agenda-ng org-agenda-files
(and (todo "TODO" "SOMEDAY")
(tags "computer" "Emacs")
(category "main")))
(org-agenda-ng org-agenda-files
(habit))
(org-agenda-ng "~/org/main.org"
(or (habit)
(date :deadline '<= (org-today))
(date :scheduled '<= (org-today))
(and (todo "DONE" "CANCELLED")
(date :closed '= (org-today)))))