mirror of
https://github.com/neovim/neovim.git
synced 2024-12-29 14:41:06 -07:00
parent
bc67cf3ccd
commit
1f551e068f
@ -101,16 +101,18 @@ function TSTreeView:new(bufnr, lang)
|
||||
-- the root in the child tree to the {injections} table.
|
||||
local root = parser:parse(true)[1]:root()
|
||||
local injections = {} ---@type table<integer,table>
|
||||
parser:for_each_tree(function(tree, ltree)
|
||||
local r = tree:root()
|
||||
local node = root:named_descendant_for_range(r:range())
|
||||
if node then
|
||||
injections[node:id()] = {
|
||||
lang = ltree:lang(),
|
||||
root = r,
|
||||
}
|
||||
end
|
||||
end)
|
||||
for _, child in pairs(parser:children()) do
|
||||
child:for_each_tree(function(tree, ltree)
|
||||
local r = tree:root()
|
||||
local node = root:named_descendant_for_range(r:range())
|
||||
if node then
|
||||
injections[node:id()] = {
|
||||
lang = ltree:lang(),
|
||||
root = r,
|
||||
}
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
local nodes = traverse(root, 0, parser:lang(), injections, {})
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user