Files
dotfiles/vim/.vim/lua/plugins/refactoring.lua
Christian Nieves 56951c0225 Separate configs
2023-06-26 13:01:09 -05:00

62 lines
1.5 KiB
Lua

return {
{
"ThePrimeagen/refactoring.nvim",
dependencies = {
{ "nvim-lua/plenary.nvim" },
{ "nvim-treesitter/nvim-treesitter" },
},
config = function()
require("config.refactoring")
end,
keys = {
-- remap to open the Telescope refactoring menu in visual mode
{
"<leader>rr",
"<Esc><cmd>lua require('telescope').extensions.refactoring.refactors()<CR>",
},
-- Remaps for the refactoring operations currently offered by the plugin
{
"<leader>rx",
[[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function')<CR>]],
mode = "v",
},
{
"<leader>rxf",
[[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function To File')<CR>]],
mode = "v",
},
{
"<leader>rxv",
[[ <Esc><Cmd>lua require('refactoring').refactor('Extract Variable')<CR>]],
mode = "v",
},
{
"<leader>ri",
[[ <Esc><Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]],
mode = "v",
},
-- Extract block doesn't need visual mode
{
"<leader>rxb",
[[ <Cmd>lua require('refactoring').refactor('Extract Block')<CR>]],
},
{
"<leader>rxbf",
[[ <Cmd>lua require('refactoring').refactor('Extract Block To File')<CR>]],
},
-- Inline variable can also pick up the identifier currently under the cursor without visual mode
{
"<leader>ri",
[[ <Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]],
},
{
"<leader>rx",
[[ <Cmd>lua require('refactoring').refactor('Extract Variable')<CR>]],
},
},
},
}