return { { "ThePrimeagen/refactoring.nvim", requires = { { "nvim-lua/plenary.nvim" }, { "nvim-treesitter/nvim-treesitter" }, }, opts = {}, -- stylua: ignore keys = { { "Rs", function() require("telescope").extensions.refactoring.refactors() end, mode = { "v" }, desc = "Refactor Options", }, { "cRi", function() require("refactoring").refactor("Inline Variable") end, mode = {"n","v"}, desc = "Inline Variable" }, { "cRb", function() require('refactoring').refactor('Exract Block') end, mode = {"n"}, desc = "Extract Block" }, { "cRf", function() require('refactoring').refactor('Exract Block To File') end, mode = {"n"}, desc = "Extract Block to File" }, { "cRP", function() require('refactoring').debug.printf({below = false}) end, mode = {"n"}, desc = "Debug Print" }, { "cRp", function() require('refactoring').debug.print_var({normal = true}) end, mode = {"n"}, desc = "Debug Print Variable" }, { "cRc", function() require('refactoring').debug.cleanup({}) end, mode = {"n"}, desc = "Debug Cleanup" }, { "cRf", function() require('refactoring').refactor('Extract Function') end, mode = {"v"}, desc = "Extract Function" }, { "cRF", function() require('refactoring').refactor('Extract Function to File') end, mode = {"v"}, desc = "Extract Function to File" }, { "cRx", function() require('refactoring').refactor('Extract Variable') end, mode = {"v"}, desc = "Extract Variable" }, { "cRp", function() require('refactoring').debug.print_var({}) end, mode = {"v"}, desc = "Debug Print Variable" }, }, }, { "folke/which-key.nvim", opts = { defaults = { ["cR"] = { name = "+refactor" }, }, }, }, }