GNU Hyperbole (follow up)
2025-06-07 Sat - Unfortunately, I have rolled back my usage of GNU Hyperbole because I rediscovered a bug that made me abandon my exploration in the past. On Windows (which I am forced to use for work), Hyperbole causes the cursor to jump around while typing as well randomly scroll the buffer. I haven't dug into it and have just disabled it for now so I can continue work.
I really liked the HyWiki links though and have been looking for ways to emulate that. I discovered Radio Targets in the org manual and they make implicit links like I want but only to targets in the same file. This actually works out because I also have a list of colleagues I work with day to day at the top of my Inbox.org
with an elisp link below their names to query for todos that reference them.
* Project X
** FrodoBaggins
[[todos]]
*** SamwiseGamgee
[[todos]]
The todos
link just runs a org-ql query
(defun my/find-todos (v)
│ (org-ql-search
│ │ (--select (equal (buffer-local-value 'major-mode it) 'org-mode) (buffer-list))
│ │ (format "(and (todo) (heading \"%s\"))" v)))
│ │
(defun my/find-todos-for-button (v)
│ (->> (string-replace "<<<" "" v)
│ │ │ │(string-replace ">>>" "")
│ │ │ │(my/find-todos)))
│ │ │ │
(setq org-link-abbrev-alist '(("todos" . "elisp:(my/find-todos-for-button (org-entry-get nil \"ITEM\"))")))