We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent e43f1e3 commit 6f96463Copy full SHA for 6f96463
lua/neo-tree/sources/common/commands.lua
@@ -26,11 +26,19 @@ end
26
M.close_node = function(state, callback)
27
local tree = state.tree
28
local node = tree:get_node()
29
- node = tree:get_node(node:get_parent_id())
30
- if node then
31
- node:collapse()
+ local parent_node = tree:get_node(node:get_parent_id())
+ local target_node
+
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()
40
tree:render()
- renderer.focus_node(state, node:get_id())
41
+ renderer.focus_node(state, target_node:get_id())
42
end
43
44
0 commit comments