diff options
Diffstat (limited to 'lua/inbox/view.lua')
-rw-r--r-- | lua/inbox/view.lua | 23 |
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 |