diff options
author | Lewis Russell <lewis6991@gmail.com> | 2023-09-12 15:26:57 +0100 |
---|---|---|
committer | Lewis Russell <me@lewisr.dev> | 2023-09-12 15:55:40 +0100 |
commit | 1f551e068f728ff38bd7fdcfa3a6daf362bab9da (patch) | |
tree | a0f23d3b1d7ebb52e29f3884da83b8a3e1d42bce | |
parent | bc67cf3ccdf935a0e2974fbbe5557a3d24931c54 (diff) | |
download | rneovim-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.lua | 22 |
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, {}) |