dotfiles/nvim/.config/nvim/lua/plugins/treesitter_textobject.lua

46 lines
1.4 KiB
Lua

require('nvim-treesitter.configs').setup {
textobjects = {
select = {
enable = true,
-- Automatically jump forward to textobj, similar to targets.vim
lookahead = true,
keymaps = {
-- You can use the capture groups defined in textobjects.scm
["af"] = "@function.outer",
["if"] = "@function.inner",
["acl"] = "@class.outer",
["icl"] = "@class.inner",
["ii"] = "@conditional.inner",
["ai"] = "@conditional.outer",
["il"] = "@loop.inner",
["al"] = "@loop.outer",
["ip"] = "@parameter.inner",
["ap"] = "@parameter.outer",
["as"] = "@statement.outer",
["ica"] = "@call.inner",
["aca"] = "@call.outer",
["aco"] = "@comment.outer",
},
},
swap = {
enable = true,
swap_next = {
["<space>a"] = "@parameter.inner",
},
swap_previous = {
["<space>A"] = "@parameter.inner",
},
},
lsp_interop = {
enable = true,
border = 'none',
peek_definition_code = {
["<leader>df"] = "@function.outer",
},
},
},
}