mirror of
https://github.com/pnx/dotfiles
synced 2026-07-02 14:33:40 +02:00
nvim: treesitter: enable textobjects.
This commit is contained in:
parent
d3a4a487a1
commit
3708aa2f65
1 changed files with 52 additions and 1 deletions
|
|
@ -4,7 +4,7 @@ return {
|
||||||
require("nvim-treesitter.install").update({ with_sync = true })
|
require("nvim-treesitter.install").update({ with_sync = true })
|
||||||
end,
|
end,
|
||||||
dependencies = {
|
dependencies = {
|
||||||
-- "nvim-treesitter/nvim-treesitter-textobjects",
|
"nvim-treesitter/nvim-treesitter-textobjects",
|
||||||
{
|
{
|
||||||
"windwp/nvim-ts-autotag",
|
"windwp/nvim-ts-autotag",
|
||||||
opts = {}
|
opts = {}
|
||||||
|
|
@ -38,6 +38,57 @@ return {
|
||||||
indent = {
|
indent = {
|
||||||
enable = true,
|
enable = true,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
textobjects = {
|
||||||
|
select = {
|
||||||
|
enable = true,
|
||||||
|
lookahead = true,
|
||||||
|
keymaps = {
|
||||||
|
-- Functions/Methods
|
||||||
|
["af"] = { query = "@function.outer", desc = "outer function"},
|
||||||
|
["if"] = { query = "@function.inner", desc = "inner function"},
|
||||||
|
-- Class
|
||||||
|
["ac"] = { query = "@class.outer", desc = "around class" },
|
||||||
|
["ic"] = { query = "@class.inner", desc = "inner class" },
|
||||||
|
-- Parameters/arguments
|
||||||
|
["av"] = { query = "@parameter.outer", desc = "around parameter" },
|
||||||
|
["iv"] = { query = "@parameter.inner", desc = "inner parameter" },
|
||||||
|
}
|
||||||
|
},
|
||||||
|
swap = {
|
||||||
|
enable = true,
|
||||||
|
swap_next = {
|
||||||
|
["<leader>]"] = { query = "@parameter.inner", desc = "Swap next parameter with the one under cursor"},
|
||||||
|
},
|
||||||
|
swap_previous = {
|
||||||
|
["<leader>["] = { query = "@parameter.inner", desc = "Swap previous parameter with the one under cursor"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
move = {
|
||||||
|
enable = true,
|
||||||
|
set_jumps = true,
|
||||||
|
goto_next_start = {
|
||||||
|
["]f"] = { query = "@function.outer", desc = "Goto the beginning of the next function" },
|
||||||
|
["]c"] = { query = "@class.outer", desc = "Goto the beginning of the next class" },
|
||||||
|
["]v"] = { query = "@parameter.inner", desc = "Goto the beginning of the next parameter" },
|
||||||
|
},
|
||||||
|
goto_next_end = {
|
||||||
|
["]F"] = { query = "@function.outer", desc = "Goto the end of the next function" },
|
||||||
|
["]C"] = { query = "@class.outer", desc = "Goto the end of the next class" },
|
||||||
|
["]V"] = { query = "@parameter.inner", desc = "Goto the end of the next parameter" },
|
||||||
|
},
|
||||||
|
goto_previous_start = {
|
||||||
|
["[f"] = { query = "@function.outer", desc = "Goto the beginning of the previous function" },
|
||||||
|
["[c"] = { query = "@class.outer", desc = "Goto the beginning of the previous class" },
|
||||||
|
["[v"] = { query = "@parameter.inner", desc = "Goto the beginning of the previous parameter" },
|
||||||
|
},
|
||||||
|
goto_previous_end = {
|
||||||
|
["[F"] = { query = "@function.outer", desc = "Goto the end of the previous function" },
|
||||||
|
["[C"] = { query = "@class.outer", desc = "Goto the end of the previous class" },
|
||||||
|
["[V"] = { query = "@parameter.inner", desc = "Goto the end of the previous parameter" },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
config = function(_, opts)
|
config = function(_, opts)
|
||||||
local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
|
local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue