@@ -6,13 +6,13 @@ local core = require "nvim-tree.core"
6
6
7
7
local M = {}
8
8
9
- local function refresh_nodes (node , projects )
9
+ local function refresh_nodes (node , projects , unloaded_bufnr )
10
10
local cwd = node .cwd or node .link_to or node .absolute_path
11
11
local project_root = git .get_project_root (cwd )
12
- explorer_module .reload (node , projects [project_root ] or {})
12
+ explorer_module .reload (node , projects [project_root ] or {}, unloaded_bufnr )
13
13
for _ , _node in ipairs (node .nodes ) do
14
14
if _node .nodes and _node .open then
15
- refresh_nodes (_node , projects )
15
+ refresh_nodes (_node , projects , unloaded_bufnr )
16
16
end
17
17
end
18
18
end
@@ -33,14 +33,16 @@ function M.reload_node_status(parent_node, projects)
33
33
end
34
34
35
35
local event_running = false
36
- function M .reload_explorer ()
36
+ --- @param _ table unused node passed by action
37
+ --- @param unloaded_bufnr number optional bufnr recently unloaded via BufUnload event
38
+ function M .reload_explorer (_ , unloaded_bufnr )
37
39
if event_running or not core .get_explorer () or vim .v .exiting ~= vim .NIL then
38
40
return
39
41
end
40
42
event_running = true
41
43
42
44
local projects = git .reload ()
43
- refresh_nodes (core .get_explorer (), projects )
45
+ refresh_nodes (core .get_explorer (), projects , unloaded_bufnr )
44
46
if view .is_visible () then
45
47
renderer .draw ()
46
48
end
0 commit comments