diff options
Diffstat (limited to 'lua/inbox/indexers/notmuch.lua')
-rw-r--r-- | lua/inbox/indexers/notmuch.lua | 29 |
1 files changed, 2 insertions, 27 deletions
diff --git a/lua/inbox/indexers/notmuch.lua b/lua/inbox/indexers/notmuch.lua index a06991a..0a6c851 100644 --- a/lua/inbox/indexers/notmuch.lua +++ b/lua/inbox/indexers/notmuch.lua @@ -5,7 +5,6 @@ local utils = require("inbox.utils") ---@class inbox.Indexer.Notmuch.Config local default_config = { database_dir = Path:new(vim.env.XDG_DATA_HOME, "mail").filename, - map_tag_signs = {}, } ---@class inbox.Indexer.Notmuch: inbox.Indexer, inbox.Indexer.Notmuch.Config @@ -54,9 +53,7 @@ function M.available() return vim.fn.executable("notmuch") == 1 end -function M.index(maildir, callback, opts) - opts = opts or {} - +function M.index(maildir, callback) local job = Job:new({ command = "notmuch", args = { "search", "--format=json" }, @@ -72,7 +69,7 @@ function M.index(maildir, callback, opts) for lnum, result in ipairs(results) do ids[lnum] = (result.query[1]:gsub("^id:", "")) entries[lnum] = M.summarize(result) - for _, sign in pairs(M.parse_tags(result.tags)) do + for _, sign in pairs(result.tags) do table.insert(signs, { sign, lnum }) end end @@ -84,31 +81,10 @@ function M.index(maildir, callback, opts) local folder = Path:new(maildir):make_relative(M.database_dir) table.insert(job.args, ("folder:%s"):format(folder)) - -- TODO: handle different operators i.e. "not", "or", etc. - for name, value in pairs(opts) do - table.insert(job.args, "and") - table.insert(job.args, ("%s:%s"):format(name, value)) - end - job:start() end ---@private ----@param tags string[] ----@return string[] parsed tags -function M.parse_tags(tags) - local signs = {} - for _, tag in ipairs(tags) do - if M.map_tag_signs[tag] ~= nil then - table.insert(signs, M.map_tag_signs[tag]) - else - table.insert(signs, tag) - end - end - return signs -end - ----@private ---@param item inbox.Notmuch.SearchResult ---@return inbox.Summary summary function M.summarize(item) @@ -166,7 +142,6 @@ function M.show_id(id) local headers = utils.parse_headers(lines) entry.headers = headers - entry.tags = M.parse_tags(entry.tags) entry.parts = {} for _, part in pairs(M.flatten_parts(entry.body[1])) do entry.parts[part["content-type"]] = part |