aboutsummaryrefslogtreecommitdiff
path: root/test/functional/treesitter/parser_spec.lua
diff options
context:
space:
mode:
authorRiley Bruins <ribru17@hotmail.com>2025-02-13 16:57:44 -0800
committerChristian Clason <ch.clason+github@icloud.com>2025-02-21 09:56:21 +0100
commit562056c87573a532a0e670952d23d77026eeae28 (patch)
treeaf92dc7f3d4c91dd2ff5475a8bec2999bc5cd809 /test/functional/treesitter/parser_spec.lua
parentb533c0f222ed8815803cc4a948cc8d30d43763d1 (diff)
downloadrneovim-562056c87573a532a0e670952d23d77026eeae28.tar.gz
rneovim-562056c87573a532a0e670952d23d77026eeae28.tar.bz2
rneovim-562056c87573a532a0e670952d23d77026eeae28.zip
perf(treesitter): only search for injections within the parse range
Co-authored-by: Jaehwang Jung <tomtomjhj@gmail.com>
Diffstat (limited to 'test/functional/treesitter/parser_spec.lua')
-rw-r--r--test/functional/treesitter/parser_spec.lua25
1 files changed, 11 insertions, 14 deletions
diff --git a/test/functional/treesitter/parser_spec.lua b/test/functional/treesitter/parser_spec.lua
index eb4651a81d..ebf9f5a11b 100644
--- a/test/functional/treesitter/parser_spec.lua
+++ b/test/functional/treesitter/parser_spec.lua
@@ -633,7 +633,7 @@ int x = INT_MAX;
}, get_ranges())
n.feed('7ggI//<esc>')
- exec_lua([[parser:parse({5, 6})]])
+ exec_lua([[parser:parse(true)]])
eq('table', exec_lua('return type(parser:children().c)'))
eq(2, exec_lua('return #parser:children().c:trees()'))
eq({
@@ -1122,7 +1122,7 @@ print()
)
eq(
- 2,
+ 1,
exec_lua(function()
_G.parser:parse({ 2, 6 })
return #_G.parser:children().lua:trees()
@@ -1172,10 +1172,10 @@ print()
eq(true, exec_lua('return vim.treesitter.get_parser():is_valid()'))
end)
- it('is fully valid after a parsing a range on parsed tree', function()
+ it('is valid within a range on parsed tree after parsing it', function()
exec_lua('vim.treesitter.get_parser():parse({5, 7})')
eq(true, exec_lua('return vim.treesitter.get_parser():is_valid(true)'))
- eq(true, exec_lua('return vim.treesitter.get_parser():is_valid()'))
+ eq(true, exec_lua('return vim.treesitter.get_parser():is_valid(nil, {5, 7})'))
end)
describe('when adding content with injections', function()
@@ -1200,14 +1200,11 @@ print()
eq(false, exec_lua('return vim.treesitter.get_parser():is_valid()'))
end)
- it(
- 'is fully valid after a range parse that leads to parsing not parsed injections',
- function()
- exec_lua('vim.treesitter.get_parser():parse({5, 7})')
- eq(true, exec_lua('return vim.treesitter.get_parser():is_valid(true)'))
- eq(true, exec_lua('return vim.treesitter.get_parser():is_valid()'))
- end
- )
+ it('is valid within a range on parsed tree after parsing it', function()
+ exec_lua('vim.treesitter.get_parser():parse({5, 7})')
+ eq(true, exec_lua('return vim.treesitter.get_parser():is_valid(true)'))
+ eq(true, exec_lua('return vim.treesitter.get_parser():is_valid(nil, {5, 7})'))
+ end)
it(
'is valid excluding, invalid including children after a range parse that does not lead to parsing not parsed injections',
@@ -1249,10 +1246,10 @@ print()
eq(false, exec_lua('return vim.treesitter.get_parser():is_valid()'))
end)
- it('is fully valid after a range parse that leads to parsing modified child tree', function()
+ it('is valid within a range parse that leads to parsing modified child tree', function()
exec_lua('vim.treesitter.get_parser():parse({5, 7})')
eq(true, exec_lua('return vim.treesitter.get_parser():is_valid(true)'))
- eq(true, exec_lua('return vim.treesitter.get_parser():is_valid()'))
+ eq(true, exec_lua('return vim.treesitter.get_parser():is_valid(nil, {5, 7})'))
end)
it(