From 522e0c6991c4852be9539dfe0d9f19eae998dfe6 Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Sun, 27 Apr 2025 13:02:32 +0200 Subject: feat(setup)!: remove ensure_install field Instead, call `require('nvim-treesitter').install( { ... } )` manually. This gives users full control over how they want to install parsers (sync, from grammar, limited concurrency) and obviates the need for calling `setup` for most users. --- lua/nvim-treesitter/config.lua | 13 ------------- lua/nvim-treesitter/init.lua | 12 ++++++++++++ 2 files changed, 12 insertions(+), 13 deletions(-) (limited to 'lua') diff --git a/lua/nvim-treesitter/config.lua b/lua/nvim-treesitter/config.lua index 7ef5aeddf..44c9b09c5 100644 --- a/lua/nvim-treesitter/config.lua +++ b/lua/nvim-treesitter/config.lua @@ -3,13 +3,11 @@ local M = {} M.tiers = { 'stable', 'unstable', 'unmaintained', 'unsupported' } ---@class TSConfig ----@field ensure_install string[] ---@field ignore_install string[] ---@field install_dir string ---@type TSConfig local config = { - ensure_install = {}, ignore_install = {}, install_dir = vim.fs.joinpath(vim.fn.stdpath('data'), 'site'), } @@ -20,21 +18,10 @@ function M.setup(user_data) if user_data then if user_data.install_dir then user_data.install_dir = vim.fs.normalize(user_data.install_dir) - --TODO(clason): leave to user! vim.opt.runtimepath:append(user_data.install_dir) end config = vim.tbl_deep_extend('force', config, user_data) end - - if #config.ensure_install > 0 then - local to_install = M.norm_languages( - config.ensure_install, - { ignored = true, installed = true, unsupported = true } - ) - if #to_install > 0 then - require('nvim-treesitter.install').install(to_install, { force = true }) - end - end end -- Returns the install path for parsers, parser info, and queries. diff --git a/lua/nvim-treesitter/init.lua b/lua/nvim-treesitter/init.lua index aac1c6ba6..52eab71c8 100644 --- a/lua/nvim-treesitter/init.lua +++ b/lua/nvim-treesitter/init.lua @@ -4,6 +4,18 @@ function M.setup(...) require('nvim-treesitter.config').setup(...) end +function M.install(...) + require('nvim-treesitter.install').install(...) +end + +function M.uninstall(...) + require('nvim-treesitter.install').uninstall(...) +end + +function M.update(...) + require('nvim-treesitter.install').update(...) +end + function M.indentexpr() return require('nvim-treesitter.indent').get_indent(vim.v.lnum) end -- cgit v1.2.3-70-g09d2