diff options
author | Riley Bruins <ribru17@hotmail.com> | 2025-02-13 16:57:44 -0800 |
---|---|---|
committer | Christian Clason <ch.clason+github@icloud.com> | 2025-02-21 09:56:21 +0100 |
commit | 562056c87573a532a0e670952d23d77026eeae28 (patch) | |
tree | af92dc7f3d4c91dd2ff5475a8bec2999bc5cd809 /test/functional/treesitter/parser_spec.lua | |
parent | b533c0f222ed8815803cc4a948cc8d30d43763d1 (diff) | |
download | rneovim-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.lua | 25 |
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( |