fix(#3101): when renderer.highlight_opened_files = "none" do not reload on BufUnload and BufReadPost (#3102)
* fix(#3101): fix bad reference to renderer.highlight_opened_files during BufUnload and BufReadPost * fix(#3101): only redraw renderer.highlight_opened_files during BufUnload and BufReadPost * fix(#3101): only redraw renderer.highlight_opened_files during BufUnload and BufReadPost * fix(#3101): only redraw renderer.highlight_opened_files during BufUnload and BufReadPost
This commit is contained in:
parent
c3c1935942
commit
5bea2b3752
@ -101,10 +101,19 @@ function Explorer:create_autocmds()
|
|||||||
vim.api.nvim_create_autocmd("BufReadPost", {
|
vim.api.nvim_create_autocmd("BufReadPost", {
|
||||||
group = self.augroup_id,
|
group = self.augroup_id,
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
if (self.filters.state.no_buffer or self.opts.highlight_opened_files ~= "none") and vim.bo[data.buf].buftype == "" then
|
-- only handle normal files
|
||||||
|
if vim.bo[data.buf].buftype ~= "" then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if self.filters.state.no_buffer then
|
||||||
|
-- full reload is required to update the filter state
|
||||||
utils.debounce("Buf:filter_buffer_" .. self.uid_explorer, self.opts.view.debounce_delay, function()
|
utils.debounce("Buf:filter_buffer_" .. self.uid_explorer, self.opts.view.debounce_delay, function()
|
||||||
self:reload_explorer()
|
self:reload_explorer()
|
||||||
end)
|
end)
|
||||||
|
elseif self.opts.renderer.highlight_opened_files ~= "none" then
|
||||||
|
-- draw to update opened highlight
|
||||||
|
self.renderer:draw()
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
@ -113,10 +122,21 @@ function Explorer:create_autocmds()
|
|||||||
vim.api.nvim_create_autocmd("BufUnload", {
|
vim.api.nvim_create_autocmd("BufUnload", {
|
||||||
group = self.augroup_id,
|
group = self.augroup_id,
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
if (self.filters.state.no_buffer or self.opts.highlight_opened_files ~= "none") and vim.bo[data.buf].buftype == "" then
|
-- only handle normal files
|
||||||
|
if vim.bo[data.buf].buftype ~= "" then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if self.filters.state.no_buffer then
|
||||||
|
-- full reload is required to update the filter state
|
||||||
utils.debounce("Buf:filter_buffer_" .. self.uid_explorer, self.opts.view.debounce_delay, function()
|
utils.debounce("Buf:filter_buffer_" .. self.uid_explorer, self.opts.view.debounce_delay, function()
|
||||||
self:reload_explorer()
|
self:reload_explorer()
|
||||||
end)
|
end)
|
||||||
|
elseif self.opts.renderer.highlight_opened_files ~= "none" then
|
||||||
|
-- draw to update opened highlight; must be delayed as the buffer is still loaded during BufUnload
|
||||||
|
vim.schedule(function()
|
||||||
|
self.renderer:draw()
|
||||||
|
end)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user