2024-05-24 16:07:28 +03:00
|
|
|
return {
|
|
|
|
|
{
|
|
|
|
|
"nvim-treesitter/nvim-treesitter",
|
|
|
|
|
build = ":TSUpdate",
|
|
|
|
|
config = function()
|
2026-01-17 23:21:53 +02:00
|
|
|
local ts = require("nvim-treesitter")
|
2024-05-24 16:07:28 +03:00
|
|
|
|
2024-10-05 10:18:03 +03:00
|
|
|
vim.filetype.add({
|
|
|
|
|
extension = {
|
|
|
|
|
fsh = "glsl",
|
|
|
|
|
vsh = "glsl",
|
|
|
|
|
|
|
|
|
|
hbs = "html",
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
|
2026-01-17 23:21:53 +02:00
|
|
|
ts.install({
|
|
|
|
|
-- web dev
|
|
|
|
|
"html",
|
|
|
|
|
"css",
|
|
|
|
|
"scss",
|
|
|
|
|
"javascript",
|
|
|
|
|
"typescript",
|
|
|
|
|
"svelte",
|
2024-07-09 13:37:12 +03:00
|
|
|
|
2026-01-17 23:21:53 +02:00
|
|
|
-- config
|
|
|
|
|
"toml",
|
|
|
|
|
"yaml",
|
|
|
|
|
"markdown",
|
|
|
|
|
"dockerfile",
|
|
|
|
|
"just",
|
2024-05-24 16:07:28 +03:00
|
|
|
|
2026-01-17 23:21:53 +02:00
|
|
|
-- vim
|
|
|
|
|
"vim",
|
|
|
|
|
"vimdoc",
|
|
|
|
|
"lua",
|
|
|
|
|
"query",
|
2024-05-24 16:07:28 +03:00
|
|
|
|
2026-01-17 23:21:53 +02:00
|
|
|
-- the cool stuff
|
|
|
|
|
"elixir",
|
|
|
|
|
"heex",
|
|
|
|
|
"rust",
|
|
|
|
|
"python",
|
|
|
|
|
"zig",
|
|
|
|
|
"nim",
|
|
|
|
|
"clojure",
|
|
|
|
|
"gleam",
|
|
|
|
|
"bash",
|
|
|
|
|
"hurl",
|
|
|
|
|
"gdscript",
|
2024-05-24 16:07:28 +03:00
|
|
|
|
2026-01-17 23:21:53 +02:00
|
|
|
-- the not so cool stuff
|
|
|
|
|
"c",
|
|
|
|
|
"java",
|
|
|
|
|
"groovy",
|
|
|
|
|
"glsl",
|
|
|
|
|
"wgsl",
|
|
|
|
|
})
|
2024-05-24 16:07:28 +03:00
|
|
|
|
2026-01-17 23:21:53 +02:00
|
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
|
|
|
pattern = { "<filetype>" },
|
|
|
|
|
callback = function()
|
|
|
|
|
vim.treesitter.start()
|
|
|
|
|
end,
|
2024-05-24 16:07:28 +03:00
|
|
|
})
|
2026-01-17 23:21:53 +02:00
|
|
|
|
|
|
|
|
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()"
|
2024-05-24 16:07:28 +03:00
|
|
|
end,
|
|
|
|
|
},
|
|
|
|
|
}
|