mirror of
https://github.com/zoriya/flake.git
synced 2026-08-15 18:43:42 +00:00
Update treesitter to v2
This commit is contained in:
@@ -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 = {
|
||||
|
||||
Reference in New Issue
Block a user