From 4663063746d94a1605ddcec7dbb5ec9f58f0a9ff Mon Sep 17 00:00:00 2001 From: jao Date: Sat, 15 May 2021 00:26:00 +0100 Subject: jao-consult-notmuch-folder --- completion.org | 19 +++++++++++++++++++ gnus.org | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/completion.org b/completion.org index f34deaa..c7a1c70 100644 --- a/completion.org +++ b/completion.org @@ -120,8 +120,27 @@ #+begin_src emacs-lisp (use-package consult-notmuch :ensure t + :init (setq consult-notmuch-authors-width 30) :config (add-to-list 'consult-config '(consult-notmuch :preview-key any))) + + (defvar jao-consult-notmuch-folders + (seq-mapcat (lambda (base) + (mapcar `(lambda (d) (format "%s/%s" ,base d)) + (jao-list-mailboxes base))) + '("jao" "bigml" "feeds" "trove"))) + + (defun jao-consult-notmuch-folder (&optional tree folder) + (interactive "P") + (let* ((root "~/var/mail/") + (folder (if folder + (file-name-as-directory folder) + (completing-read "Folder: " + jao-consult-notmuch-folders))) + (folder (replace-regexp-in-string "/\\(.\\)" ".\\1" folder)) + (init (read-string "Initial query: ")) + (init (format "folder:/%s/ %s" folder init))) + (if tree (consult-notmuch-tree init) (consult-notmuch init)))) #+end_src *** recoll #+begin_src emacs-lisp diff --git a/gnus.org b/gnus.org index 90e1384..24818e5 100644 --- a/gnus.org +++ b/gnus.org @@ -358,9 +358,9 @@ (gnus-server-exit) (message "Restarting all servers... done")) - (define-key gnus-group-mode-map "Z" #'jao-gnus-restart-servers) (define-key gnus-group-mode-map "Gg" #'consult-notmuch) + (define-key gnus-group-mode-map "GG" #'jao-consult-notmuch-folder) (defun jao-gnus--first-group () (when (derived-mode-p 'gnus-group-mode) -- cgit v1.2.3