aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua
diff options
context:
space:
mode:
authorRiley Bruins <ribru17@hotmail.com>2025-02-02 03:46:26 -0800
committerGitHub <noreply@github.com>2025-02-02 03:46:26 -0800
commit77be44563acb64a481d48f45c8dbbfca2d7db415 (patch)
tree95f5729fad30ec478c9a1738bbb52c08c1f22cc3 /runtime/lua
parent02ea0e77a19b116006dc04848703aaeed3f50ded (diff)
downloadrneovim-77be44563acb64a481d48f45c8dbbfca2d7db415.tar.gz
rneovim-77be44563acb64a481d48f45c8dbbfca2d7db415.tar.bz2
rneovim-77be44563acb64a481d48f45c8dbbfca2d7db415.zip
refactor(treesitter): always return valid range from parse() #32273
Problem: When running an initial parse, parse() returns an empty table rather than an actual range. In `languagetree.lua`, we manually check if a parse was incremental to determine the changed parse region. Solution: - Always return a range (in the C side) from parse(). - Simplify the language tree code a bit. - Logger no longer shows empty ranges on the initial parse.
Diffstat (limited to 'runtime/lua')
-rw-r--r--runtime/lua/vim/treesitter/languagetree.lua5
1 files changed, 1 insertions, 4 deletions
diff --git a/runtime/lua/vim/treesitter/languagetree.lua b/runtime/lua/vim/treesitter/languagetree.lua
index 9571a117b8..725e95dfc9 100644
--- a/runtime/lua/vim/treesitter/languagetree.lua
+++ b/runtime/lua/vim/treesitter/languagetree.lua
@@ -378,10 +378,7 @@ function LanguageTree:_parse_regions(range, timeout)
return changes, no_regions_parsed, total_parse_time, false
end
- -- Pass ranges if this is an initial parse
- local cb_changes = self._trees[i] and tree_changes or tree:included_ranges(true)
-
- self:_do_callback('changedtree', cb_changes, tree)
+ self:_do_callback('changedtree', tree_changes, tree)
self._trees[i] = tree
vim.list_extend(changes, tree_changes)