* feat(#2948): add UserDecorator, proof of concept * feat(#2948): add UserDecorator, proof of concept * feat(#2948): add UserDecorator, proof of concept * feat(#2948): add UserDecorator * feat(#2948): add UserDecorator * feat(#2948): add UserDecorator * feat(#2948): add Decorator node icon override * feat(#2948): add nvim_tree.api.* node classes * feat(#2948): extract _meta following nvim pattern * feat(#2948): extract _meta following nvim pattern * feat(#2948): add decorator registry and order * feat(#2948): add decorator registry and order * feat(#2948): tidy * feat(#2948): document API * feat(#2948): document API * feat(#2948): document API * feat(#2948): pass api nodes to user decorators * feat(#2948): document API * feat(#2948): use renderer.decorators to define order and register * feat(#2948): tidy decorator args and complete documentation * feat(#2948): decorator classes specified by prefix rather than suffix * feat(#2948): improve doc * feat(#2948): improve doc * feat(#2948): improve doc * feat(#2948): additional user decorator safety * feat(#2948): create nvim_tree.api.decorator.UserDecorator class in API, add :extend * feat(#2948): improve doc
This commit is contained in:
committed by
GitHub
parent
ca7c4c33ca
commit
7a4ff1a516
@@ -271,18 +271,20 @@ function DirectoryNode:highlighted_name()
|
||||
end
|
||||
|
||||
---Create a sanitized partial copy of a node, populating children recursively.
|
||||
---@return DirectoryNode cloned
|
||||
function DirectoryNode:clone()
|
||||
local clone = Node.clone(self) --[[@as DirectoryNode]]
|
||||
---@param api_nodes table<number, nvim_tree.api.Node>? optional map of uids to api node to populate
|
||||
---@return nvim_tree.api.DirectoryNode cloned
|
||||
function DirectoryNode:clone(api_nodes)
|
||||
local clone = Node.clone(self, api_nodes) --[[@as nvim_tree.api.DirectoryNode]]
|
||||
|
||||
clone.has_children = self.has_children
|
||||
clone.group_next = nil
|
||||
clone.nodes = {}
|
||||
clone.open = self.open
|
||||
clone.hidden_stats = nil
|
||||
|
||||
local clone_child
|
||||
for _, child in ipairs(self.nodes) do
|
||||
table.insert(clone.nodes, child:clone())
|
||||
clone_child = child:clone(api_nodes)
|
||||
clone_child.parent = clone
|
||||
table.insert(clone.nodes, clone_child)
|
||||
end
|
||||
|
||||
return clone
|
||||
|
||||
Reference in New Issue
Block a user