]> git.notmuchmail.org Git - notmuch/blobdiff - emacs/notmuch-jump.el
emacs: Add new option notmuch-search-hide-excluded
[notmuch] / emacs / notmuch-jump.el
index e228c8a20409ec1c807818e5557f546786488424..3161ed9526d52d5b8de9a9d08eb3bef626eb38ec 100644 (file)
 (require 'notmuch-lib)
 (require 'notmuch-hello)
 
+(declare-function notmuch-search "notmuch")
+(declare-function notmuch-tree "notmuch-tree")
+(declare-function notmuch-unthreaded "notmuch-tree")
+
 ;;;###autoload
 (defun notmuch-jump-search ()
   "Jump to a saved search by shortcut key.
@@ -46,15 +50,21 @@ fast way to jump to a saved search from anywhere in Notmuch."
                 (cl-case (plist-get saved-search :sort-order)
                   (newest-first nil)
                   (oldest-first t)
-                  (otherwise (default-value 'notmuch-search-oldest-first)))))
+                  (otherwise (default-value 'notmuch-search-oldest-first))))
+               (exclude (cl-case (plist-get saved-search :excluded)
+                          (hide t)
+                          (show nil)
+                          (otherwise notmuch-search-hide-excluded))))
            (push (list key name
                        (cond
                         ((eq (plist-get saved-search :search-type) 'tree)
-                         `(lambda () (notmuch-tree ',query)))
+                         (lambda () (notmuch-tree query nil nil nil nil nil nil
+                                             oldest-first exclude)))
                         ((eq (plist-get saved-search :search-type) 'unthreaded)
-                         `(lambda () (notmuch-unthreaded ',query)))
+                         (lambda () (notmuch-unthreaded query nil nil nil nil
+                                                   oldest-first exclude)))
                         (t
-                         `(lambda () (notmuch-search ',query ',oldest-first)))))
+                         (lambda () (notmuch-search query oldest-first exclude)))))
                  action-map)))))
     (setq action-map (nreverse action-map))
     (if action-map
@@ -93,7 +103,7 @@ not appear in the pop-up buffer."
            (buffer-string)))
         (full-prompt
          (concat table "\n\n"
-                 (propertize prompt 'face 'notmuch-jump-key)))
+                 (propertize prompt 'face 'minibuffer-prompt)))
         ;; By default, the minibuffer applies the minibuffer face to
         ;; the entire prompt.  However, we want to clearly
         ;; distinguish bindings (which we put in the prompt face
@@ -168,9 +178,10 @@ buffer."
     (pcase-dolist (`(,key ,_name ,fn) action-map)
       (when (= (length key) 1)
        (define-key map key
-         `(lambda () (interactive)
-            (setq notmuch-jump--action ',fn)
-            (exit-minibuffer)))))
+         (lambda ()
+           (interactive)
+           (setq notmuch-jump--action fn)
+           (exit-minibuffer)))))
     ;; By doing this in two passes (and checking if we already have a
     ;; binding) we avoid problems if the user specifies a binding which
     ;; is a prefix of another binding.
@@ -191,12 +202,13 @@ buffer."
                  action-submap)
            (setq action-submap (nreverse action-submap))
            (define-key map keystr
-             `(lambda () (interactive)
-                (setq notmuch-jump--action
-                      ',(apply-partially #'notmuch-jump
-                                         action-submap
-                                         new-prompt))
-                (exit-minibuffer)))))))
+             (lambda ()
+               (interactive)
+               (setq notmuch-jump--action
+                     (apply-partially #'notmuch-jump
+                                      action-submap
+                                      new-prompt))
+               (exit-minibuffer)))))))
     map))
 
 (provide 'notmuch-jump)