diff options
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/nvim-treesitter/configs.lua | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/lua/nvim-treesitter/configs.lua b/lua/nvim-treesitter/configs.lua index c66838d9b..204498e8d 100644 --- a/lua/nvim-treesitter/configs.lua +++ b/lua/nvim-treesitter/configs.lua @@ -161,7 +161,7 @@ local function enable_all(mod, lang, blocklist) for _, bufnr in pairs(api.nvim_list_bufs()) do local ft = api.nvim_buf_get_option(bufnr, 'ft') if not lang or parsers.lang_match_ft(lang, ft) then - if not vim.tbl_contains(blocklist, lang) then + if not vim.tbl_contains(blocklist, lang or parsers.ft_to_lang(ft)) then enable_module(mod, bufnr, lang) end end @@ -301,21 +301,17 @@ end -- Setup call for users to override module configurations. -- @param user_data module overrides function M.setup(user_data) - for name, data in pairs(user_data) do - if name == 'ensure_installed' then - config.ensure_installed = data - require'nvim-treesitter.install'.ensure_installed(data) - else - config.modules[name] = vim.tbl_deep_extend('force', config.modules[name] or {}, data) + config.modules = vim.tbl_deep_extend('force', config.modules, user_data) - recurse_modules(function(_, _, new_path) - if data.enable then - enable_all(new_path, nil, data.disable) - end + require'nvim-treesitter.install'.ensure_installed(user_data.ensure_installed) + config.modules.ensure_installed = nil - end, config.modules) + recurse_modules(function(_, _, new_path) + local data = utils.get_at_path(config.modules, new_path) + if data.enable then + enable_all(new_path, nil, data.disable) end - end + end, config.modules) end -- Defines a table of modules that can be attached/detached to buffers |
