Added refactor plugin

This commit is contained in:
2023-06-10 21:11:22 +02:00
parent dbc818972e
commit d054843f43
2 changed files with 53 additions and 0 deletions

View File

@@ -507,3 +507,52 @@ vim.api.nvim_set_keymap('n', '<Leader>s', '<Plug>YSurround', {})
vim.api.nvim_set_keymap('n', '<Leader>ss', '<cmd>lua vim.lsp.buf.signature_help()<CR>', { noremap = true, silent = true })
vim.api.nvim_set_keymap('v', '<C-r>', [["hy:%s/<C-r>h//gc<left><left><left>]], { noremap = true })
require('refactoring').setup({
prompt_func_return_type = {
go = true,
java = true,
cpp = true,
c = true,
h = true,
hpp = true,
cxx = true,
},
prompt_func_param_type = {
go = true,
java = true,
cpp = true,
c = true,
h = true,
hpp = true,
cxx = true,
},
printf_statements = {},
print_var_statements = {},
})
-- Remaps for the refactoring operations currently offered by the plugin
vim.api.nvim_set_keymap("v", "<leader>re", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function')<CR>]],
{ noremap = true, silent = true, expr = false })
vim.api.nvim_set_keymap("v", "<leader>rf",
[[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function To File')<CR>]],
{ noremap = true, silent = true, expr = false })
vim.api.nvim_set_keymap("v", "<leader>rv", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Variable')<CR>]],
{ noremap = true, silent = true, expr = false })
vim.api.nvim_set_keymap("v", "<leader>ri", [[ <Esc><Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]],
{ noremap = true, silent = true, expr = false })
-- Extract block doesn't need visual mode
vim.api.nvim_set_keymap("n", "<leader>rb", [[ <Cmd>lua require('refactoring').refactor('Extract Block')<CR>]],
{ noremap = true, silent = true, expr = false })
vim.api.nvim_set_keymap("n", "<leader>rbf", [[ <Cmd>lua require('refactoring').refactor('Extract Block To File')<CR>]],
{ noremap = true, silent = true, expr = false })
-- Inline variable can also pick up the identifier currently under the cursor without visual mode
vim.api.nvim_set_keymap("n", "<leader>ri", [[ <Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]],
{ noremap = true, silent = true, expr = false })