mirror of
https://github.com/neovim/neovim.git
synced 2025-10-17 23:31:51 +00:00
feat!(treesitter): do not return changes from LanguageTree:parse()
Never return the changes an only notify them using the `on_changedtree` callback. It is not guaranteed for a plugin that it'll be the first one to call `tree:parse()` and thus get the changes. Closes #19915
This commit is contained in:
@@ -228,7 +228,6 @@ end
|
||||
--- determine if any child languages should be created.
|
||||
---
|
||||
---@return TSTree[]
|
||||
---@return table|nil Change list
|
||||
function LanguageTree:parse()
|
||||
if self:is_valid() then
|
||||
self:_log('valid')
|
||||
@@ -302,18 +301,12 @@ function LanguageTree:parse()
|
||||
})
|
||||
|
||||
self:for_each_child(function(child)
|
||||
local _, child_changes = child:parse()
|
||||
|
||||
-- Propagate any child changes so they are included in the
|
||||
-- the change list for the callback.
|
||||
if child_changes then
|
||||
vim.list_extend(changes, child_changes)
|
||||
end
|
||||
child:parse()
|
||||
end)
|
||||
|
||||
self._valid = true
|
||||
|
||||
return self._trees, changes
|
||||
return self._trees
|
||||
end
|
||||
|
||||
--- Invokes the callback for each |LanguageTree| and its children recursively
|
||||
|
Reference in New Issue
Block a user