Skip to content

Commit 6b379bf

Browse files
committed
fix: fix toggle_node code to work with lazy loaded directories
1 parent d809411 commit 6b379bf

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

lua/neo-tree/sources/common/commands.lua

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ local renderer = require("neo-tree.ui.renderer")
77
local log = require("neo-tree.log")
88

99
---Gets the node parent folder recursively
10-
---@param tree tree to look for nodes
11-
---@param node node to look for folder parent
12-
---@return node
10+
---@param tree table to look for nodes
11+
---@param node table to look for folder parent
12+
---@return table table
1313
local function get_folder_node(tree, node)
1414
if node.type == "directory" then
1515
return node
@@ -242,16 +242,14 @@ M.rename = function(state, callback)
242242
end
243243

244244
---Expands or collapses the current node.
245-
M.toggle_node = function(state)
245+
M.toggle_node = function(state, toggle_directory)
246246
local tree = state.tree
247247
local node = tree:get_node()
248248
if not utils.is_expandable(node) then
249249
return
250250
end
251-
if node.loaded == false then
252-
-- lazy load this node and pass the children to the renderer
253-
local children = {}
254-
renderer.show_nodes(state, children, node:get_id())
251+
if node.type == "directory" and toggle_directory then
252+
toggle_directory(node)
255253
elseif node:has_children() then
256254
local updated = false
257255
if node:is_expanded() then
@@ -266,13 +264,13 @@ M.toggle_node = function(state)
266264
end
267265

268266
---Expands or collapses the current node.
269-
M.toggle_directory = function(state)
267+
M.toggle_directory = function(state, toggle_directory)
270268
local tree = state.tree
271269
local node = tree:get_node()
272270
if node.type ~= "directory" then
273271
return
274272
end
275-
M.toggle_node(state)
273+
M.toggle_node(state, toggle_directory)
276274
end
277275

278276
return M

lua/neo-tree/sources/filesystem/commands.lua

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,8 @@ M.toggle_gitignore = function(state)
127127
M.toggle_hidden(state)
128128
end
129129

130-
M.toggle_node = cc.toggle_node
130+
M.toggle_node = function (state)
131+
cc.toggle_node(state, utils.wrap(fs.toggle_directory, state))
132+
end
131133

132134
return M

0 commit comments

Comments
 (0)