aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/lua/vim/treesitter/languagetree.lua5
-rw-r--r--src/nvim/lua/treesitter.c3
2 files changed, 3 insertions, 5 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)
diff --git a/src/nvim/lua/treesitter.c b/src/nvim/lua/treesitter.c
index c7999ac077..3e33fcd142 100644
--- a/src/nvim/lua/treesitter.c
+++ b/src/nvim/lua/treesitter.c
@@ -500,7 +500,8 @@ static int parser_parse(lua_State *L)
// The new tree will be pushed to the stack, without copy, ownership is now to the lua GC.
// Old tree is owned by lua GC since before
uint32_t n_ranges = 0;
- TSRange *changed = old_tree ? ts_tree_get_changed_ranges(old_tree, new_tree, &n_ranges) : NULL;
+ TSRange *changed = old_tree ? ts_tree_get_changed_ranges(old_tree, new_tree, &n_ranges)
+ : ts_tree_included_ranges(new_tree, &n_ranges);
push_tree(L, new_tree); // [tree]