diff --git a/lua/lazyvim/plugins/treesitter.lua b/lua/lazyvim/plugins/treesitter.lua index 327c13be..b36c24d3 100644 --- a/lua/lazyvim/plugins/treesitter.lua +++ b/lua/lazyvim/plugins/treesitter.lua @@ -68,6 +68,8 @@ return { -- setup treesitter TS.setup(opts) + LazyVim.treesitter.get_installed(true) -- initialize the installed langs + -- install missing parsers local install = vim.tbl_filter(function(lang) return not LazyVim.treesitter.have(lang) diff --git a/lua/lazyvim/util/treesitter.lua b/lua/lazyvim/util/treesitter.lua index 07e0e5eb..bf7c12f8 100644 --- a/lua/lazyvim/util/treesitter.lua +++ b/lua/lazyvim/util/treesitter.lua @@ -3,15 +3,15 @@ local M = {} M._installed = nil ---@type table? ----@param force boolean? -function M.get_installed(force) - if not M._installed or force then +---@param update boolean? +function M.get_installed(update) + if update then M._installed = {} for _, lang in ipairs(require("nvim-treesitter").get_installed("parsers")) do M._installed[lang] = lang end end - return M._installed + return M._installed or {} end ---@param ft string