nvim: Enable treesitter refactor and text objects

This commit is contained in:
Sanchayan Maity 2021-01-12 16:34:52 +05:30
parent 3e72b0f5ad
commit 41f1e85929
2 changed files with 51 additions and 0 deletions

View file

@ -136,6 +136,8 @@ local init = function ()
-- For C, Lua and Rust
use {
'nvim-treesitter/nvim-treesitter',
'nvim-treesitter/nvim-treesitter-textobjects',
'nvim-treesitter/nvim-treesitter-refactor',
config = "require('treesitter')",
}
-- All writing needs

View file

@ -3,4 +3,53 @@ require'nvim-treesitter.configs'.setup {
highlight = {
enable = true,
},
textobjects = {
select = {
enable = true,
keymaps = {
["af"] = "@function.outer",
["if"] = "@function.inner",
["ac"] = "@class.outer",
["ic"] = "@class.inner",
},
},
swap = {
enable = true,
swap_next = {
["gs"] = "@parameter.inner",
},
swap_previous = {
["gS"] = "@parameter.inner",
},
},
move = {
enable = true,
goto_next_start = {
["]f"] = "@function.outer",
["]]"] = "@class.outer",
},
goto_next_end = {
["]F"] = "@function.outer",
["]["] = "@class.outer",
},
goto_previous_start = {
["[f"] = "@function.outer",
["[["] = "@class.outer",
},
goto_previous_end = {
["[F"] = "@function.outer",
["[]"] = "@class.outer",
},
},
},
refactor = {
highlight_definitions = { enable = true },
highlight_current_scope = { enable = false },
smart_rename = {
enable = true,
keymaps = {
smart_rename = "grr",
},
},
},
}