summaryrefslogtreecommitdiffstats
path: root/lua/inbox/view.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/inbox/view.lua')
-rw-r--r--lua/inbox/view.lua23
1 files changed, 15 insertions, 8 deletions
diff --git a/lua/inbox/view.lua b/lua/inbox/view.lua
index 3ba20c6..a72f3f2 100644
--- a/lua/inbox/view.lua
+++ b/lua/inbox/view.lua
@@ -175,17 +175,24 @@ function M.render_headers(bufnr, id)
local lines = {}
- for _, name in pairs(config.headers) do
- if entry.headers[name] ~= nil then
- table.insert(lines, ("%s: %s"):format(name, entry.headers[name]))
+ local headers = {}
+ if vim.b[bufnr].show_all_headers then
+ headers = entry.headers
+ else
+ for _, name in pairs(config.headers) do
+ if entry.headers[name] ~= nil then
+ headers[name] = entry.headers[name]
+ end
end
end
- if vim.b[bufnr].show_all_headers then
- for name, value in pairs(entry.headers) do
- if not vim.tbl_contains(config.headers, name) then
- table.insert(lines, ("%s: %s"):format(name, value))
- end
+ for name, value in pairs(headers) do
+ local i, line = next(value)
+ table.insert(lines, ("%s: %s"):format(name, line))
+ i, line = next(value, i)
+ while i ~= nil do
+ table.insert(lines, line)
+ i, line = next(value, i)
end
end