aboutsummaryrefslogtreecommitdiff
path: root/modules/ai-config.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-22 15:01:14 -0500
committerCraig Jennings <c@cjennings.net>2026-05-22 15:01:14 -0500
commit2a33f827a7a2b45fa9433f89a9e47ee2b8e3af0e (patch)
tree49aa2531977b4f0ddf43e136cffe10d20567408a /modules/ai-config.el
parent95ad8344c1f86a5d0ed5c64f6874bc018f89dcff (diff)
downloaddotemacs-2a33f827a7a2b45fa9433f89a9e47ee2b8e3af0e.tar.gz
dotemacs-2a33f827a7a2b45fa9433f89a9e47ee2b8e3af0e.zip
feat(org-config): add cj/org-finalize-task with tests
I added a command on C-; O d that finalizes the task at point. It prompts for a finalized keyword from org-done-keywords, so the picker tracks org-todo-keywords automatically. Marking the task done fires the org-roam journal-copy hook, so the completed task lands in today's daily. Then the heading is reshaped by depth. A sub-task (level 3 or deeper, or a VERIFY at any depth) becomes a dated log entry: the keyword and priority cookie are stripped, a sortable timestamp is prepended, and the tags are kept. A top-level task keeps its keyword and gains a date-only CLOSED line. The command binds org-inhibit-logging around the org-todo call so it owns the CLOSED line rather than depending on org-log-done, which is set inconsistently across two modules. The journal hook keys off org-state, not org-log-done, so the copy still fires. Tests run in org temp-buffers with the journal hook bound to nil, exercise the real org primitives, and inject a fixed time so the stamp shape is deterministic.
Diffstat (limited to 'modules/ai-config.el')
0 files changed, 0 insertions, 0 deletions