diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-22 15:01:14 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-22 15:01:14 -0500 |
| commit | 74a8b45badb807fc1b7b5242887dd5b7093ddb87 (patch) | |
| tree | b1cfef4336ac636cdf1637fd0e358178b12cd910 /Makefile | |
| parent | 8580b34d7d74e9ee8977d68b77985d1826801508 (diff) | |
| download | dotemacs-74a8b45badb807fc1b7b5242887dd5b7093ddb87.tar.gz dotemacs-74a8b45badb807fc1b7b5242887dd5b7093ddb87.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 'Makefile')
0 files changed, 0 insertions, 0 deletions
