nvim/lua/plugins/treesitter-textobjects.lua
Maurice Grönwoldt 18da9560c6
Initial Commit
2025-07-30 16:05:16 +02:00

40 lines
1.2 KiB
Lua

return {
"nvim-treesitter/nvim-treesitter-textobjects",
dependencies = {
"nvim-treesitter/nvim-treesitter"
},
init = function()
local config = require 'nvim-treesitter.configs';
config.setup({
textobjects = {
select = {
enable = true,
lookahead = true,
keymaps = {
["af"] = "@function.outer",
["if"] = "@function.inner",
["ac"] = "@class.outer",
["ao"] = "@comment.outer",
["ic"] = { query = "@class.inner", desc = "Select inner part of a class region" },
["as"] = { query = "@local.scope", query_group = "locals", desc = "Select language scope" },
},
selection_modes = {
['@parameter.outer'] = 'v', -- charwise
['@function.outer'] = 'V', -- linewise
['@class.outer'] = '<c-v>', -- blockwise
},
include_surrounding_whitespace = true,
},
swap = {
enable = true,
swap_next = {
["<leader>Ca"] = { query = "@parameter.inner", desc = "Swap with next parameter" },
},
swap_previous = {
["<leader>CA"] = "@parameter.inner",
},
},
},
});
end
}