fix: table-based rendering

This commit is contained in:
Barrett Ruth 2025-09-19 14:32:34 -04:00
parent 1049e60736
commit bf7fc52efc
4 changed files with 75 additions and 24 deletions

View file

@ -151,10 +151,15 @@ end
function M.parse_and_apply_diff(bufnr, diff_output, namespace)
local parsed = M.parse_git_diff(diff_output)
-- Set buffer content
vim.api.nvim_buf_set_lines(bufnr, 0, -1, false, parsed.content)
local was_modifiable = vim.api.nvim_get_option_value('modifiable', { buf = bufnr })
local was_readonly = vim.api.nvim_get_option_value('readonly', { buf = bufnr })
vim.api.nvim_set_option_value('readonly', false, { buf = bufnr })
vim.api.nvim_set_option_value('modifiable', true, { buf = bufnr })
vim.api.nvim_buf_set_lines(bufnr, 0, -1, false, parsed.content)
vim.api.nvim_set_option_value('modifiable', was_modifiable, { buf = bufnr })
vim.api.nvim_set_option_value('readonly', was_readonly, { buf = bufnr })
-- Apply highlights
M.apply_highlights(bufnr, parsed.highlights, namespace)
return parsed.content