emacs/tree: add notmuch-tree-matching-message

This functions removes some duplicate logic between
notmuch-tree-{next,prev}-matching-message

We do this because we will be adding some additional logic similar to
the notmuch-show-next-open-message function, and it will help if this
logic is all in one place.

Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin 2020-04-04 13:41:33 -07:00 committed by David Bremner
parent c0868d959d
commit d9888b301c

View file

@ -643,21 +643,23 @@ nil otherwise."
(forward-line dir)) (forward-line dir))
(not (funcall eobfn)))) (not (funcall eobfn))))
(defun notmuch-tree-matching-message (&optional prev)
"Move to the next or previous matching message"
(interactive "P")
(forward-line (if prev -1 nil))
(notmuch-tree-goto-matching-message prev)
(when (window-live-p notmuch-tree-message-window)
(notmuch-tree-show-message-in)))
(defun notmuch-tree-prev-matching-message () (defun notmuch-tree-prev-matching-message ()
"Move to previous matching message." "Move to previous matching message."
(interactive) (interactive)
(forward-line -1) (notmuch-tree-matching-message t))
(notmuch-tree-goto-matching-message t)
(when (window-live-p notmuch-tree-message-window)
(notmuch-tree-show-message-in)))
(defun notmuch-tree-next-matching-message () (defun notmuch-tree-next-matching-message ()
"Move to next matching message." "Move to next matching message."
(interactive) (interactive)
(forward-line) (notmuch-tree-matching-message))
(notmuch-tree-goto-matching-message)
(when (window-live-p notmuch-tree-message-window)
(notmuch-tree-show-message-in)))
(defun notmuch-tree-refresh-view (&optional view) (defun notmuch-tree-refresh-view (&optional view)
"Refresh view." "Refresh view."