mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-01 19:17:02 -04:00
30 lines
832 B
Lua
30 lines
832 B
Lua
local api = vim.api
|
|
local parsers = require'nvim-treesitter.parsers'
|
|
local configs = require 'nvim-treesitter.configs'
|
|
local install = require'nvim-treesitter.install'
|
|
local locals = require'nvim-treesitter.locals'
|
|
local highlight = require'nvim-treesitter.highlight'
|
|
|
|
local M = {}
|
|
|
|
function M.available_parsers()
|
|
return vim.tbl_keys(configs.repositories)
|
|
end
|
|
|
|
-- This function sets up everythin needed for a given language
|
|
-- this is the main interface through the plugin
|
|
function M.setup(lang)
|
|
if parsers.has_parser(lang) then
|
|
local autocmd = "autocmd NvimTreesitter FileType %s lua require'nvim-treesitter.highlight'.setup()"
|
|
api.nvim_command(string.format(autocmd, lang))
|
|
end
|
|
end
|
|
|
|
-- This function initialize the plugin
|
|
-- it is run at startup
|
|
M._root = {}
|
|
function M._root.setup()
|
|
install.setup()
|
|
end
|
|
|
|
return M
|