Commit 7d9baf0d8866

Vincent Demeester <vincent@sbr.pm>
2026-02-09 10:10:39
feat(emacs): add pi-org-todos integration and fix TODO selection
- Added org-ql, org-batch-functions, and pi-org-todos packages - Fixed C-c C-t showing selection menu with expert mode - Ignore recentf runtime state file
1 parent 557b867
Changed files (2)
dots
dots/config/emacs/.gitignore
@@ -42,4 +42,5 @@ request
 url
 transient
 chatgpt
-devdocs
\ No newline at end of file
+devdocs
+recentf
\ No newline at end of file
dots/config/emacs/init.el
@@ -1615,6 +1615,7 @@ minibuffer, even without explicitly focusing it."
   (org-ellipsis "…")
   (org-return-follows-link t)
   (org-todo-keywords '((sequence "STRT(s)" "NEXT(n)" "TODO(t)" "WAIT(w)" "|" "DONE(d!)" "CANX(c@/!)")))
+  (org-use-fast-todo-selection 'expert) ; Always show selection buffer with hints
   (org-todo-state-tags-triggers '(("CANX" ("CANX" . t))
                                   ("WAIT" ("WAIT" . t))
                                   (done ("WAIT"))
@@ -2037,6 +2038,63 @@ Use this function via a hook."
   (org-habit-show-habits-only-for-today nil)
   (org-habit-graph-column 80))
 
+;; org-ql is required by pi-org-todos
+(use-package org-ql
+  :after org
+  :commands (org-ql-search org-ql-query))
+
+;; org-batch-functions provides batch operations for org files
+(use-package org-batch-functions
+  :after org-ql
+  :commands (org-batch-list-todos
+             org-batch-scheduled-today
+             org-batch-get-upcoming
+             org-batch-get-overdue
+             org-batch-search
+             org-batch-get-todo-content
+             org-batch-get-sections
+             org-batch-by-section
+             org-batch-get-statistics
+             org-batch-update-state
+             org-batch-schedule-task
+             org-batch-set-deadline
+             org-batch-set-priority
+             org-batch-add-todo
+             org-batch-append-content
+             org-batch-archive-done
+             org-batch-add-tags
+             org-batch-remove-tags
+             org-batch-list-all-tags
+             org-batch-get-property
+             org-batch-set-property))
+
+;; Pi coding agent org-mode TODO interface
+(use-package pi-org-todos
+  :after org-batch-functions
+  :commands (pi/org-todo-list
+             pi/org-todo-list-all
+             pi/org-todo-scheduled
+             pi/org-todo-upcoming
+             pi/org-todo-overdue
+             pi/org-todo-search
+             pi/org-todo-get
+             pi/org-todo-sections
+             pi/org-todo-by-section
+             pi/org-todo-statistics
+             pi/org-todo-done
+             pi/org-todo-state
+             pi/org-todo-schedule
+             pi/org-todo-deadline
+             pi/org-todo-priority
+             pi/org-todo-add
+             pi/org-todo-append
+             pi/org-todo-archive-done
+             pi/org-todo-add-tags
+             pi/org-todo-remove-tags
+             pi/org-todo-all-tags
+             pi/org-todo-get-property
+             pi/org-todo-set-property))
+
 (use-package ox-tufte
   :after org
   :ensure t