diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-06 14:09:31 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-06 14:09:31 -0500 |
| commit | 480a59f36a7e3f406847a4157f0b2c62d114af7c (patch) | |
| tree | 720592b845158276c4ae9cd3739f833c55f8e5e4 /assets | |
| parent | 651f4c878a2bc6dda634b4cfc40e965a062cdffc (diff) | |
| download | dotemacs-480a59f36a7e3f406847a4157f0b2c62d114af7c.tar.gz dotemacs-480a59f36a7e3f406847a4157f0b2c62d114af7c.zip | |
feat(capture): project-aware Task and Bug capture targets
C-c c t (Task) and a new C-c c b (Bug) now file into the current projectile project's todo.org under its "... Open Work" heading instead of always landing in the global inbox. Bug stamps the entry [#C]. Task stays a plain TODO.
Both share one function target, cj/--org-capture-project-location. It matches an existing top-level "... Open Work" heading when there is one, so a directory like .emacs.d resolves to the existing "Emacs Open Work" rather than a name derived from the basename. It only creates "<Project> Open Work" when the file has none. Outside a project, or in a project whose root has no todo.org, it falls back to the global inbox under "Inbox". In the no-todo.org case it also warns, naming the project. It never creates a project's todo.org.
I split the logic into pure helpers (project name, target decision, find-or-create heading) so they test directly, with the impure buffer-positioning left thin. 15 ERT tests cover the helpers and the wiring. I confirmed a real capture lands the entry under Open Work at the right level in the running daemon.
Diffstat (limited to 'assets')
0 files changed, 0 insertions, 0 deletions
