Update treesitter to v2

This commit is contained in:
2026-01-21 10:02:46 +01:00
parent 96c5106a2b
commit 5e32efd63d
7 changed files with 134 additions and 83 deletions
+33 -28
View File
@@ -1,43 +1,48 @@
vim.api.nvim_create_autocmd("FileType", {
group = vim.api.nvim_create_augroup("treesitter-config", { clear = true }),
callback = function()
pcall(vim.treesitter.start)
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
vim.wo[0][0].foldexpr = 'v:lua.vim.treesitter.foldexpr()'
vim.wo[0][0].foldmethod = 'expr'
end,
})
return {
{
"nvim-treesitter",
load = function()
vim.cmd.packadd("nvim-treesitter-textobjects")
end,
"nvim-treesitter-textobjects",
event = { "BufReadPost", "BufWritePost", "BufNewFile" },
opts = {
highlight = {
enable = true,
additional_vim_regex_highlighting = false,
},
indent = {
enable = true
},
textobjects = {
select = {
enable = true,
lookahead = true,
keymaps = {
["af"] = "@function.outer",
["if"] = "@function.inner",
["ac"] = "@class.outer",
["ic"] = "@class.inner",
["ia"] = "@parameter.inner",
["aa"] = "@parameter.outer",
},
},
select = {
lookahead = true,
},
},
after = function(plug)
require("nvim-treesitter.configs").setup(plug.opts)
vim.wo.foldmethod = 'expr'
vim.wo.foldexpr = 'v:lua.vim.treesitter.foldexpr()'
require("nvim-treesitter-textobjects").setup(plug.opts)
local select = require("nvim-treesitter-textobjects.select")
vim.keymap.set({ "x", "o" }, "af", function()
select.select_textobject("@function.outer", "textobjects")
end)
vim.keymap.set({ "x", "o" }, "if", function()
select.select_textobject("@function.inner", "textobjects")
end)
vim.keymap.set({ "x", "o" }, "ac", function()
select.select_textobject("@class.outer", "textobjects")
end)
vim.keymap.set({ "x", "o" }, "ic", function()
select.select_textobject("@class.inner", "textobjects")
end)
vim.keymap.set({ "x", "o" }, "aa", function()
select.select_textobject("@parameter.outer", "textobjects")
end)
vim.keymap.set({ "x", "o" }, "ia", function()
select.select_textobject("@parameter.inner", "textobjects")
end)
end
},
{
"vim-illuminate",
load = vim.cmd.packadd,
event = { "BufReadPost", "BufWritePost", "BufNewFile" },
opts = {
providers = {