From aa67660714b55a5d5ce8f995d4697511838f25d0 Mon Sep 17 00:00:00 2001 From: xzb <2598514867@qq.com> Date: Thu, 10 Oct 2024 03:29:26 +0800 Subject: [PATCH] perf(treesitter): set regions early --- lua/trouble/view/treesitter.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lua/trouble/view/treesitter.lua b/lua/trouble/view/treesitter.lua index a8d38e0a..1fd35fc9 100644 --- a/lua/trouble/view/treesitter.lua +++ b/lua/trouble/view/treesitter.lua @@ -65,13 +65,14 @@ function M._attach_lang(buf, lang, regions) M.cache[buf] = M.cache[buf] or {} if not M.cache[buf][lang] then - local ok, parser = pcall(vim.treesitter.get_parser, buf, lang) + local ok, parser = pcall(vim.treesitter.languagetree.new, buf, lang) if not ok then local msg = "nvim-treesitter parser missing `" .. lang .. "`" vim.notify_once(msg, vim.log.levels.WARN, { title = "trouble.nvim" }) return end + parser:set_included_regions(vim.deepcopy(regions)) M.cache[buf][lang] = { parser = parser, highlighter = TSHighlighter.new(parser), @@ -80,7 +81,7 @@ function M._attach_lang(buf, lang, regions) M.cache[buf][lang].enabled = true local parser = M.cache[buf][lang].parser - parser:set_included_regions(regions) + parser:set_included_regions(vim.deepcopy(regions)) end return M