From b0bbe25c4808158e8c806959e4d185244073647a Mon Sep 17 00:00:00 2001 From: Riley Bruins Date: Sat, 15 Feb 2025 16:54:28 -0800 Subject: 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). --- runtime/lua/vim/treesitter/highlighter.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'runtime/lua/vim') diff --git a/runtime/lua/vim/treesitter/highlighter.lua b/runtime/lua/vim/treesitter/highlighter.lua index 6dd47811bd..475a1f0aa5 100644 --- a/runtime/lua/vim/treesitter/highlighter.lua +++ b/runtime/lua/vim/treesitter/highlighter.lua @@ -232,7 +232,12 @@ end ---@return vim.treesitter.highlighter.Query function TSHighlighter:get_query(lang) 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 return self._queries[lang] -- cgit