Skip to content

Commit 8c64f23

Browse files
committed
fix(#3324): deprecated BufModifiedSet event replaced by OptionSet event for Nvim 0.13+
1 parent 24cfcc9 commit 8c64f23

1 file changed

Lines changed: 24 additions & 9 deletions

File tree

lua/nvim-tree/explorer/init.lua

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -181,15 +181,30 @@ function Explorer:create_autocmds()
181181
end
182182

183183
if self.opts.modified.enable then
184-
vim.api.nvim_create_autocmd({ "BufModifiedSet", "BufWritePost" }, {
185-
group = self.augroup_id,
186-
callback = function()
187-
utils.debounce("Buf:modified_" .. self.uid_explorer, self.opts.view.debounce_delay, function()
188-
buffers.reload_modified()
189-
self.renderer:draw()
190-
end)
191-
end,
192-
})
184+
local function on_modified_or_buf_write()
185+
utils.debounce("Buf:modified_" .. self.uid_explorer, self.opts.view.debounce_delay, function()
186+
buffers.reload_modified()
187+
self.renderer:draw()
188+
end)
189+
end
190+
191+
if vim.fn.has("nvim-0.13") == 1 then
192+
vim.api.nvim_create_autocmd({ "OptionSet", }, {
193+
group = self.augroup_id,
194+
pattern = "modified",
195+
callback = on_modified_or_buf_write,
196+
})
197+
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
198+
group = self.augroup_id,
199+
callback = on_modified_or_buf_write,
200+
})
201+
else
202+
-- BufModifiedSet event was removed in 0.13: it was a specific case of OptionSet
203+
vim.api.nvim_create_autocmd({ "BufModifiedSet", "BufWritePost" }, {
204+
group = self.augroup_id,
205+
callback = on_modified_or_buf_write,
206+
})
207+
end
193208
end
194209
end
195210

0 commit comments

Comments
 (0)