From 8c5de749f6ed6b99df314df6bc6d72f050fc55b2 Mon Sep 17 00:00:00 2001 From: jao Date: Fri, 16 Feb 2024 22:41:26 +0000 Subject: jao-org-notes: open-tags -> consult-tags --- attic/elisp/misc.el | 12 ++++++++++++ init.el | 2 +- lib/doc/jao-org-notes.el | 12 +++--------- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/attic/elisp/misc.el b/attic/elisp/misc.el index 59a3c60..482f68a 100644 --- a/attic/elisp/misc.el +++ b/attic/elisp/misc.el @@ -808,6 +808,18 @@ (pulsar-global-mode 1) ;;; snippets +(defun jao-org-notes-open-tags () + "Search for a note file, matching all tags with completion." + (let* ((tags (jao-org-notes--read-tags)) + (fn (lambda () + (prog1 (jao-org-notes--find-tag (car tags)) + (setq tags (cdr tags))))) + (res (funcall fn))) + (while (and res tags) (setq res (seq-intersection res (funcall fn)))) + (unless res (user-error "No notes found")) + (when-let (f (completing-read "Select file: " (mapcar #'car res))) + (find-file (cadr (assoc f res)))))) + (defun jao-sway-run-or-focus-tidal () (interactive) (if (jao-shell-running-p "tidal-hifi") diff --git a/init.el b/init.el index 5d84480..0dcfd24 100644 --- a/init.el +++ b/init.el @@ -3216,7 +3216,7 @@ [["Notes" ("n" "create new note" jao-org-notes-create) ("/" "open note" jao-org-notes-open) - ("\\" "open note by tags" jao-org-notes-open-tags) + ("\\" "open note by tags" jao-org-notes-consult-tags) ("d" "go to doc" jao-select-pdf :if display-graphic-p) ("d" "search docs" jao-recoll-consult-docs :if-not display-graphic-p) ("D" "open doc" jao-open-doc)] diff --git a/lib/doc/jao-org-notes.el b/lib/doc/jao-org-notes.el index a91971e..2a166e9 100644 --- a/lib/doc/jao-org-notes.el +++ b/lib/doc/jao-org-notes.el @@ -141,18 +141,12 @@ (when-let (f (jao-org-notes--consult-rg "Search notes: ")) (find-file f))) -(defun jao-org-notes-open-tags () +(defun jao-org-notes-consult-tags () "Search for a note file, matching all tags with completion." (interactive) (let* ((tags (jao-org-notes--read-tags)) - (fn (lambda () - (prog1 (jao-org-notes--find-tag (car tags)) - (setq tags (cdr tags))))) - (res (funcall fn))) - (while (and res tags) (setq res (seq-intersection res (funcall fn)))) - (unless res (user-error "No notes found")) - (when-let (f (completing-read "Select file: " (mapcar #'car res))) - (find-file (cadr (assoc f res)))))) + (init (concat "^..tags: " (mapconcat #'identity tags " ")))) + (consult-ripgrep jao-org-notes-dir init))) (defun jao-org-notes-create () "Create a new note file, matching tags and titles with completion." -- cgit v1.2.3