Hi again! Den lör 26 okt. 2024 kl 14:45 skrev Jonas Bernoulli <jo...@bernoul.li>: > [Obviously completely untested:] > > (defcustom org-cite-basic-follow-actions > '[["Open" > ("b" "bibliography entry" org-cite-basic-follow.open-bibliography (...))] > ["Copy" > ("d" "DOI" org-cite-basic-follow.copy-doi (...))] > ["Browse" > ("u" "url" org-cite-basic-follow.browse-url (...))]] > ...) > > (transient-define-prefix org-cite-basic-follow (citation &optional prefix) > [:class transient-column > :setup-children org-cite-basic-follow--setup > :pad-keys t] > (interactive) > (if (or org-cite-basic-follow-ask prefix) > (transient-setup 'org-cite-basic-follow nil nil > :scope (list citation prefix)) > (org-cite-basic-goto citation prefix))) > > (defun org-cite-basic-follow--setup (_) > (transient-parse-suffixes > 'notmuch-search-transient > (mapcar (pcase-lambda (`(,key ,desc ,fn ,transform)) > (list ,key ,desc > (lambda () > (interactive) > (apply fn (eval transform))))) > org-cite-basic-follow-actions))) > > Cheers, > Jonas
I didn't get this working yesterday, but it looks really nice from my non-technical user point of view! Thanks! I will keep trying, but I must find the spare time to learn more about mapping and pattern matching in elisp, so this might take a while. In case Ihor wants to just fix it, please go ahead :-) It would be good if we could match against the case of '(key desc suffix) as well, so that we could include otherwhere defined suffixes. Cheers, Tor-björn