summaryrefslogtreecommitdiffstats
path: root/emacs
diff options
context:
space:
mode:
authorKeegan Carruthers-Smith <keegan.csmith@gmail.com>2020-04-13 22:10:50 +0200
committerDavid Bremner <david@tethera.net>2020-04-14 12:29:31 -0300
commitf28e0a93379754456cf02830efcea499c6c2fc6f (patch)
tree321c3d199fa26918b4bf371f2ff5feb9e26d16b0 /emacs
parent690e36bacd5e53c45775586024ca70f069ca68ad (diff)
emacs: introduce notmuch-search-by-tag
This is like notmuch-search-filter-by-tag, but creates a new search rather than filtering the current search. We add this to notmuch-common-keymap since this can be used by many contexts. We bind to the key "t", which is the same key used by notmuch-search-filter-by-tag in notmuch-search-mode-map. This is done intentionally since the keybinding for notmuch-search-mode-map can be seen as a specialization of creating a new search. This change was motivated for use in "notmuch-hello". It is a more convenient way to search a tag than expanding the list of all tags. I also noticed many saved searches people use are simply tags.
Diffstat (limited to 'emacs')
-rw-r--r--emacs/notmuch-lib.el1
-rw-r--r--emacs/notmuch.el6
2 files changed, 7 insertions, 0 deletions
diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el
index 73b165e4..e085a06b 100644
--- a/emacs/notmuch-lib.el
+++ b/emacs/notmuch-lib.el
@@ -153,6 +153,7 @@ For example, if you wanted to remove an \"inbox\" tag and add an
(define-key map "?" 'notmuch-help)
(define-key map "q" 'notmuch-bury-or-kill-this-buffer)
(define-key map "s" 'notmuch-search)
+ (define-key map "t" 'notmuch-search-by-tag)
(define-key map "z" 'notmuch-tree)
(define-key map "u" 'notmuch-unthreaded)
(define-key map "m" 'notmuch-mua-new-mail)
diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index f4789b4f..f5f03244 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -1077,6 +1077,12 @@ current search results AND that are tagged with the given tag."
(list (notmuch-select-tag-with-completion "Filter by tag: " notmuch-search-query-string)))
(notmuch-search (concat notmuch-search-query-string " and tag:" tag) notmuch-search-oldest-first))
+(defun notmuch-search-by-tag (tag)
+ "Display threads matching TAG in a notmuch-search buffer."
+ (interactive
+ (list (notmuch-select-tag-with-completion "Notmuch search tag: ")))
+ (notmuch-search (concat "tag:" tag)))
+
;;;###autoload
(defun notmuch ()
"Run notmuch and display saved searches, known tags, etc."