aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md1
-rw-r--r--lua/nvim-treesitter/configs.lua7
-rw-r--r--lua/nvim-treesitter/install.lua1
3 files changed, 8 insertions, 1 deletions
diff --git a/README.md b/README.md
index a169a6165..3b7c6fc75 100644
--- a/README.md
+++ b/README.md
@@ -107,6 +107,7 @@ All modules are disabled by default and need to be activated explicitly in your
lua <<EOF
require'nvim-treesitter.configs'.setup {
ensure_installed = "maintained", -- one of "all", "maintained" (parsers with maintainers), or a list of languages
+ sync_install = true, -- install languages synchronously
ignore_install = { "javascript" }, -- List of parsers to ignore installing
highlight = {
enable = true, -- false will disable the whole extension
diff --git a/lua/nvim-treesitter/configs.lua b/lua/nvim-treesitter/configs.lua
index 30008fe9a..93e996b8e 100644
--- a/lua/nvim-treesitter/configs.lua
+++ b/lua/nvim-treesitter/configs.lua
@@ -10,6 +10,7 @@ local M = {}
local config = {
modules = {},
+ sync_install = false,
ensure_installed = {},
ignore_install = {},
update_strategy = "lockfile",
@@ -366,7 +367,11 @@ function M.setup(user_data)
local ensure_installed = user_data.ensure_installed or {}
if #ensure_installed > 0 then
- require("nvim-treesitter.install").ensure_installed(ensure_installed)
+ if user_data.sync_install then
+ require("nvim-treesitter.install").ensure_sync_installed(ensure_installed)
+ else
+ require("nvim-treesitter.install").ensure_installed(ensure_installed)
+ end
end
config.modules.ensure_installed = nil
diff --git a/lua/nvim-treesitter/install.lua b/lua/nvim-treesitter/install.lua
index d57b48565..8b7dd042d 100644
--- a/lua/nvim-treesitter/install.lua
+++ b/lua/nvim-treesitter/install.lua
@@ -521,6 +521,7 @@ function M.write_lockfile(verbose, skip_langs)
end
M.ensure_installed = install { exclude_configured_parsers = true }
+M.ensure_sync_installed = install { with_sync = true, exclude_configured_parsers = true }
M.commands = {
TSInstall = {