      "gR" #'notmuch-poll-and-refresh-this-buffer
      "gr" #'notmuch-refresh-this-buffer
      "H" #'notmuch-help
+     "J" #'pjones:notmuch-mark-read
      "M" #'pjones:notmuch-move-message
      "q" #'notmuch-bury-or-kill-this-buffer
      "s" #'notmuch-search

      ('notmuch-show-mode
       (apply #'notmuch-show-tag-message query)
       (unless (notmuch-show-next-open-message) (notmuch-show-next-thread t))))))

(defun pjones:notmuch-mail-folders (&optional keep)
  "Return a list of valid folder names.

      :count-query "folder:\"\" and tag:unread"
      :key "i")
     (:name "Unread"
      :query "tag:unread and not tag:mailing-list"
      :key "u")
     (:name "Flagged"
      :query "tag:flagged"
      :key "f")
     (:name "Drafts"
      :query "tag:draft"
      :key "d")
     (:name "Haskell Cafe"
      :query "tag:haskell-cafe"
      :key "h")
     (:name "Notmuch List"
      :query "tag:notmuch"
      :key "n")))
 '(notmuch-tagging-keys
  '(("a" notmuch-archive-tags "Archive")
    ("b" ("+blacklisted" "+spam") "Blacklisted")
    ("d" ("+deleted" "+move") "Delete")
    ("f" ("+flagged") "Flag")
    ("r" notmuch-show-mark-read-tags "Mark Read")
    ("s" ("+spam" "+move") "Mark as Spam")
    ("u" ("+unread") "Mark Unread"))))

(defmacro pjones:evil-override-notmuch (mode &rest bindings)
  "Override MODE bindings in evil-normal mode with BINDINGS."
