2020-04-18 19:32:51 +02:00
|
|
|
local api = vim.api
|
2020-04-19 09:45:54 +02:00
|
|
|
local parsers = require'nvim-treesitter.parsers'
|
2020-04-19 14:43:55 +02:00
|
|
|
local install = require'nvim-treesitter.install'
|
2020-04-19 14:20:23 +02:00
|
|
|
local locals = require'nvim-treesitter.locals'
|
2020-04-22 11:13:05 +02:00
|
|
|
local utils = require'nvim-treesitter.utils'
|
|
|
|
|
local info = require'nvim-treesitter.info'
|
|
|
|
|
local configs = require'nvim-treesitter.configs'
|
2020-04-18 19:32:51 +02:00
|
|
|
|
|
|
|
|
local M = {}
|
|
|
|
|
|
|
|
|
|
-- This function sets up everythin needed for a given language
|
|
|
|
|
-- this is the main interface through the plugin
|
|
|
|
|
function M.setup(lang)
|
2020-04-22 11:13:05 +02:00
|
|
|
utils.setup_commands('install', install.commands)
|
|
|
|
|
utils.setup_commands('info', info.commands)
|
|
|
|
|
utils.setup_commands('configs', configs.commands)
|
2020-04-18 19:32:51 +02:00
|
|
|
|
2020-04-22 11:13:05 +02:00
|
|
|
for _, ft in pairs(configs.available_parsers()) do
|
|
|
|
|
for _, mod in pairs(configs.available_modules()) do
|
|
|
|
|
if parsers.has_parser(ft) and configs.is_enabled(mod, ft) then
|
|
|
|
|
local cmd = string.format("lua require'nvim-treesitter.%s'.attach()", mod)
|
|
|
|
|
api.nvim_command(string.format("autocmd FileType %s %s", ft, cmd))
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
2020-04-21 23:40:23 +02:00
|
|
|
end
|
2020-04-19 14:43:55 +02:00
|
|
|
|
2020-04-18 19:32:51 +02:00
|
|
|
return M
|