fix(treesitter.foldexpr): refresh in the buffers affected by OptionSet

This commit is contained in:
Jaehwang Jung
2024-12-29 16:00:47 +09:00
parent d7ee06124d
commit a986048cb0

View File

@ -430,9 +430,13 @@ api.nvim_create_autocmd('OptionSet', {
pattern = { 'foldminlines', 'foldnestmax' },
desc = 'Refresh treesitter folds',
callback = function()
for bufnr, _ in pairs(foldinfos) do
local bufs = vim.v.option_type == 'local' and { api.nvim_get_current_buf() }
or vim.tbl_keys(foldinfos)
for _, bufnr in ipairs(bufs) do
foldinfos[bufnr] = FoldInfo.new()
compute_folds_levels(bufnr, foldinfos[bufnr])
api.nvim_buf_call(bufnr, function()
compute_folds_levels(bufnr, foldinfos[bufnr])
end)
foldinfos[bufnr]:foldupdate(bufnr, 0, api.nvim_buf_line_count(bufnr))
end
end,