fix: add refresh guard mecanism to avoid doing too many updates
This commit is contained in:
@@ -165,8 +165,13 @@ local function refresh_nodes(node)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- this variable is used to bufferize the refresh actions
|
||||||
|
-- so only one happens every second at most
|
||||||
|
local refreshing = false
|
||||||
|
|
||||||
function M.refresh_tree()
|
function M.refresh_tree()
|
||||||
if vim.v.exiting ~= vim.NIL then return end
|
if refreshing or vim.v.exiting ~= vim.NIL then return end
|
||||||
|
refreshing = true
|
||||||
|
|
||||||
refresh_nodes(M.Tree)
|
refresh_nodes(M.Tree)
|
||||||
|
|
||||||
@@ -188,6 +193,8 @@ function M.refresh_tree()
|
|||||||
else
|
else
|
||||||
M.Tree.loaded = false
|
M.Tree.loaded = false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
vim.defer_fn(function() refreshing = false end, 1000)
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.set_index_and_redraw(fname)
|
function M.set_index_and_redraw(fname)
|
||||||
|
|||||||
Reference in New Issue
Block a user