summaryrefslogtreecommitdiffstats
path: root/lua/inbox/indexers/notmuch.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/inbox/indexers/notmuch.lua')
-rw-r--r--lua/inbox/indexers/notmuch.lua29
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