]> git.cworth.org Git - notmuch/blobdiff - vim/notmuch.vim
Vim: Ensure that every queries respect excluded tags
[notmuch] / vim / notmuch.vim
index cad95178e29d18c4b142b5bc5948c6253f3a4b8a..8e547d4e50a16202c1a2a8c99d414e6a7f898f08 100644 (file)
@@ -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)
@@ -638,7 +641,7 @@ ruby << EOF
                        folders.each do |name, search|
                                q = $curbuf.query(search)
                                $searches << search
-                               count = count_threads ? q.search_threads.count : q.search_messages.count
+                               count = count_threads ? q.count_threads : q.count_messages
                                b << "%9d %-20s (%s)" % [count, name, search]
                        end
                end
@@ -657,7 +660,7 @@ ruby << EOF
                                date = Time.at(e.newest_date).strftime(date_fmt)
                                subject = e.messages.first['subject']
                                if $mail_installed
-                                       subject = Mail::Field.new("Subject: " + subject).to_s
+                                       subject = Mail::Field.parse("Subject: " + subject).to_s
                                else
                                        subject = subject.force_encoding('utf-8')
                                end
@@ -699,6 +702,9 @@ ruby << EOF
                def query(*args)
                        q = @db.query(*args)
                        @queries << q
+                       $exclude_tags.each { |t|
+                           q.add_tag_exclude(t)
+                       }
                        q
                end