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

74 lines
1.1 KiB
Lua

return {
{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
config = function()
local ts = require("nvim-treesitter")
vim.filetype.add({
extension = {
fsh = "glsl",
vsh = "glsl",
hbs = "html",
},
})
ts.install({
-- web dev
"html",
"css",
"scss",
"javascript",
"typescript",
"svelte",
-- config
"toml",
"yaml",
"markdown",
"dockerfile",
"just",
-- vim
"vim",
"vimdoc",
"lua",
"query",
-- the cool stuff
"elixir",
"heex",
"rust",
"python",
"zig",
"nim",
"clojure",
"gleam",
"bash",
"hurl",
"gdscript",
-- the not so cool stuff
"c",
"java",
"groovy",
"glsl",
"wgsl",
})
vim.api.nvim_create_autocmd("FileType", {
pattern = { "<filetype>" },
callback = function()
vim.treesitter.start()
end,
})
vim.wo[0][0].foldexpr = "v:lua.vim.treesitter.foldexpr()"
vim.wo[0][0].foldmethod = "expr"
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
end,
},
}