.dotfiles/.config/nvim/lua/nvwynd/plugins/treesitter.lua

83 lines
1.4 KiB
Lua

return {
{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
init = function()
local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
parser_config.c3 = {
install_info = {
url = "https://github.com/c3lang/tree-sitter-c3",
files = { "src/parser.c", "src/scanner.c" },
branch = "main",
},
}
end,
dependencies = {
{ "nushell/tree-sitter-nu", build = ":TSUpdate nu" },
},
config = function()
local configs = require("nvim-treesitter.configs")
vim.filetype.add({
extension = {
fsh = "glsl",
vsh = "glsl",
hbs = "html",
c3 = "c3",
c3i = "c3",
c3t = "c3",
},
})
vim.treesitter.language.register("html", "handlebars")
vim.treesitter.language.register("glsl", { "vsh", "fsh" })
configs.setup({
ensure_installed = {
-- web dev
"html",
"css",
"scss",
"javascript",
"typescript",
-- config
"toml",
"yaml",
"markdown",
"dockerfile",
"nu",
-- vim
"vim",
"vimdoc",
"lua",
"query",
-- the cool stuff
"elixir",
"heex",
"rust",
"python",
"zig",
"nim",
"bash",
"hurl",
-- the not so cool stuff
"c",
"java",
"groovy",
"glsl",
"wgsl",
},
sync_install = false,
highlight = { enable = true },
indent = { enable = true },
})
end,
},
}