diff options
author | Riley Bruins <ribru17@hotmail.com> | 2025-02-15 16:54:28 -0800 |
---|---|---|
committer | Christian Clason <ch.clason+github@icloud.com> | 2025-02-19 19:13:16 +0100 |
commit | b0bbe25c4808158e8c806959e4d185244073647a (patch) | |
tree | 481d23cac4d2606fcdfab685cc768f3e34a69a4f /runtime/lua/vim | |
parent | 36f44b3121fcdcb6532d77389b59c4e1b7382ac4 (diff) | |
download | rneovim-b0bbe25c4808158e8c806959e4d185244073647a.tar.gz rneovim-b0bbe25c4808158e8c806959e4d185244073647a.tar.bz2 rneovim-b0bbe25c4808158e8c806959e4d185244073647a.zip |
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).
Diffstat (limited to 'runtime/lua/vim')
-rw-r--r-- | runtime/lua/vim/treesitter/highlighter.lua | 7 |
1 files changed, 6 insertions, 1 deletions
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] |