return { { 'ThePrimeagen/refactoring.nvim', dependencies = { 'nvim-lua/plenary.nvim', 'nvim-treesitter/nvim-treesitter', }, keys = { { 're', function() require('refactoring').refactor('Extract Function') end, mode = 'x', desc = 'Refactor: Extract Function', }, { 'rf', function() require('refactoring').refactor('Extract Function To File') end, mode = 'x', desc = 'Refactor: Extract To File', }, { 'rv', function() require('refactoring').refactor('Extract Variable') end, mode = 'x', desc = 'Refactor: Extract Variable', }, { 'ri', function() require('refactoring').refactor('Inline Variable') end, mode = { 'n', 'x' }, desc = 'Refactor: Inline Variable', }, { 'rb', function() require('refactoring').refactor('Extract Block') end, desc = 'Refactor: Extract Block', }, { 'rr', function() -- require('refactoring').select_refactor() require('telescope').extensions.refactoring.refactors() end, mode = { 'n', 'x' }, desc = 'Refactor: Select', }, }, opts = {}, }, }