fix(treesitter): don't spam query errors in the highlighter

**Problem:** An erroneous query in the treesitter highlighter gives a
deluge of errors that makes the editor almost unusable.

**Solution:** Detach the highlighter after an error is detected, so that
it only gets displayed once (per highlighter instance).
This commit is contained in:
Riley Bruins
2025-02-15 16:54:28 -08:00
committed by Christian Clason
parent 36f44b3121
commit b0bbe25c48

View File

@ -232,7 +232,12 @@ end
---@return vim.treesitter.highlighter.Query ---@return vim.treesitter.highlighter.Query
function TSHighlighter:get_query(lang) function TSHighlighter:get_query(lang)
if not self._queries[lang] then if not self._queries[lang] then
self._queries[lang] = TSHighlighterQuery.new(lang) local success, result = pcall(TSHighlighterQuery.new, lang)
if not success then
self:destroy()
error(result)
end
self._queries[lang] = result
end end
return self._queries[lang] return self._queries[lang]