aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLewis Russell <lewis6991@gmail.com>2023-09-12 15:26:57 +0100
committerLewis Russell <me@lewisr.dev>2023-09-12 15:55:40 +0100
commit1f551e068f728ff38bd7fdcfa3a6daf362bab9da (patch)
treea0f23d3b1d7ebb52e29f3884da83b8a3e1d42bce
parentbc67cf3ccdf935a0e2974fbbe5557a3d24931c54 (diff)
downloadrneovim-1f551e068f728ff38bd7fdcfa3a6daf362bab9da.tar.gz
rneovim-1f551e068f728ff38bd7fdcfa3a6daf362bab9da.tar.bz2
rneovim-1f551e068f728ff38bd7fdcfa3a6daf362bab9da.zip
fix(treesitter): fixup for InspectTree
Fixes #25120
-rw-r--r--runtime/lua/vim/treesitter/dev.lua22
1 files changed, 12 insertions, 10 deletions
diff --git a/runtime/lua/vim/treesitter/dev.lua b/runtime/lua/vim/treesitter/dev.lua
index 67aa8670ba..e7af259d28 100644
--- a/runtime/lua/vim/treesitter/dev.lua
+++ b/runtime/lua/vim/treesitter/dev.lua
@@ -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, {})