Skip to content

Commit 6f96463

Browse files
committed
feat(files): refine close current node command, closes #19
1 parent e43f1e3 commit 6f96463

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

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

+12-4
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,19 @@ end
2626
M.close_node = function(state, callback)
2727
local tree = state.tree
2828
local node = tree:get_node()
29-
node = tree:get_node(node:get_parent_id())
30-
if node then
31-
node:collapse()
29+
local parent_node = tree:get_node(node:get_parent_id())
30+
local target_node
31+
32+
if node.type == 'directory' and node:is_expanded() then
33+
target_node = node
34+
else
35+
target_node = parent_node
36+
end
37+
38+
if target_node then
39+
target_node:collapse()
3240
tree:render()
33-
renderer.focus_node(state, node:get_id())
41+
renderer.focus_node(state, target_node:get_id())
3442
end
3543
end
3644

0 commit comments

Comments
 (0)