mirror of
https://github.com/Tilo-K/neovim-config.git
synced 2026-07-03 13:43:02 +00:00
Added refactor plugin
This commit is contained in:
49
init.lua
49
init.lua
@@ -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('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 })
|
||||||
|
|||||||
4
lua/custom/plugins/refactoring.lua
Normal file
4
lua/custom/plugins/refactoring.lua
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
return {
|
||||||
|
'ThePrimeagen/refactoring.nvim',
|
||||||
|
requires = { { 'nvim-lua/plenary.nvim' }, { 'nvim-lua/plenary.nvim' } },
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user