require("refactoring").setup({}) -- load refactoring Telescope extension require("telescope").load_extension("refactoring") -- remap to open the Telescope refactoring menu in visual mode vim.api.nvim_set_keymap( "v", "rr", "lua require('telescope').extensions.refactoring.refactors()", { noremap = true } ) -- Remaps for the refactoring operations currently offered by the plugin vim.api.nvim_set_keymap( "v", "rx", [[ lua require('refactoring').refactor('Extract Function')]], { noremap = true, silent = true, expr = false } ) vim.api.nvim_set_keymap( "v", "rxf", [[ lua require('refactoring').refactor('Extract Function To File')]], { noremap = true, silent = true, expr = false } ) vim.api.nvim_set_keymap( "v", "rxv", [[ lua require('refactoring').refactor('Extract Variable')]], { noremap = true, silent = true, expr = false } ) vim.api.nvim_set_keymap( "v", "ri", [[ lua require('refactoring').refactor('Inline Variable')]], { noremap = true, silent = true, expr = false } ) -- Extract block doesn't need visual mode vim.api.nvim_set_keymap( "n", "rxb", [[ lua require('refactoring').refactor('Extract Block')]], { noremap = true, silent = true, expr = false } ) vim.api.nvim_set_keymap( "n", "rxbf", [[ lua require('refactoring').refactor('Extract Block To File')]], { 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", "ri", [[ lua require('refactoring').refactor('Inline Variable')]], { noremap = true, silent = true, expr = false } ) vim.api.nvim_set_keymap( "n", "rx", [[ lua require('refactoring').refactor('Extract Variable')]], { noremap = true, silent = true, expr = false } )