From 9d4ff29ad86e24d0cc3500ca1d0ef2ab91cde222 Mon Sep 17 00:00:00 2001 From: Franz Fellner Date: Thu, 22 Jan 2015 13:52:47 +0100 Subject: [PATCH] VIM: Respect exclude_tags specified in .notmuch-config Exclude mails tagged with any tag specified in 'notmuch config get search.exclude_tags' in folders list and search list. --- vim/notmuch.vim | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/vim/notmuch.vim b/vim/notmuch.vim index cad95178..cb6695a8 100644 --- a/vim/notmuch.vim +++ b/vim/notmuch.vim @@ -477,6 +477,7 @@ ruby << EOF $db_name = nil $email = $email_name = $email_address = nil + $exclude_tags = [] $searches = [] $threads = [] $messages = [] @@ -496,6 +497,8 @@ ruby << EOF $email_address = get_config_item('user.primary_email') $email_name = get_config_item('user.name') $email = "%s <%s>" % [$email_name, $email_address] + ignore_tags = get_config_item('search.exclude_tags') + $exclude_tags = ignore_tags.split("\n") end def vim_puts(s) @@ -637,6 +640,9 @@ ruby << EOF $searches.clear folders.each do |name, search| q = $curbuf.query(search) + $exclude_tags.each { |t| + q.add_tag_exclude(t) + } $searches << search count = count_threads ? q.search_threads.count : q.search_messages.count b << "%9d %-20s (%s)" % [count, name, search] @@ -648,6 +654,9 @@ ruby << EOF date_fmt = VIM::evaluate('g:notmuch_date_format') q = $curbuf.query(search) q.sort = Notmuch::SORT_NEWEST_FIRST + $exclude_tags.each { |t| + q.add_tag_exclude(t) + } $threads.clear t = q.search_threads