mirror of
https://github.com/itme-brain/nvim.git
synced 2026-05-08 07:00:13 -04:00
46 lines
986 B
Lua
46 lines
986 B
Lua
local treesitter_filetypes = {
|
|
"lua",
|
|
"c",
|
|
"cpp",
|
|
"python",
|
|
"nix",
|
|
"rust",
|
|
"bash",
|
|
"markdown",
|
|
"html",
|
|
"javascript",
|
|
"javascriptreact",
|
|
"css",
|
|
"vim",
|
|
"gitconfig",
|
|
"gitrebase",
|
|
"gitattributes",
|
|
"gitcommit",
|
|
"gitignore",
|
|
}
|
|
|
|
local language_by_filetype = {
|
|
gitconfig = "git_config",
|
|
gitrebase = "git_rebase",
|
|
javascriptreact = "javascript",
|
|
}
|
|
|
|
for filetype, language in pairs(language_by_filetype) do
|
|
vim.treesitter.language.register(language, filetype)
|
|
end
|
|
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
group = vim.api.nvim_create_augroup("config_treesitter", { clear = true }),
|
|
pattern = treesitter_filetypes,
|
|
callback = function(event)
|
|
local language = vim.treesitter.language.get_lang(vim.bo[event.buf].filetype)
|
|
if not language then
|
|
return
|
|
end
|
|
|
|
local ok, has_parser = pcall(vim.treesitter.language.add, language)
|
|
if ok and has_parser then
|
|
pcall(vim.treesitter.start, event.buf, language)
|
|
end
|
|
end,
|
|
})
|