summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2021-05-15 00:26:00 +0100
committerjao <jao@gnu.org>2021-05-15 00:26:38 +0100
commit4663063746d94a1605ddcec7dbb5ec9f58f0a9ff (patch)
tree8fb6b4daf74562e79e83aac8e5e80902a8c4d835
parent7379387d67e5492ae24799f92c1db8fdf4ac42a5 (diff)
downloadelibs-4663063746d94a1605ddcec7dbb5ec9f58f0a9ff.tar.gz
elibs-4663063746d94a1605ddcec7dbb5ec9f58f0a9ff.tar.bz2
jao-consult-notmuch-folder
-rw-r--r--completion.org19
-rw-r--r--gnus.org2
2 files changed, 20 insertions, 1 deletions
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)