@@ -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
194209end
195210
0 commit comments