From 970690d0f2a8dfad832efe6da032d5477763101b Mon Sep 17 00:00:00 2001 From: thek4n Date: Thu, 18 Apr 2024 10:06:26 +0300 Subject: [PATCH] feat(nvim): add plugin refactoring --- .../nvim/lua/plugins/refactoring-nvim.lua | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 home/user/.config/nvim/lua/plugins/refactoring-nvim.lua diff --git a/home/user/.config/nvim/lua/plugins/refactoring-nvim.lua b/home/user/.config/nvim/lua/plugins/refactoring-nvim.lua new file mode 100644 index 0000000..0d1dbc6 --- /dev/null +++ b/home/user/.config/nvim/lua/plugins/refactoring-nvim.lua @@ -0,0 +1,68 @@ +return { + "ThePrimeagen/refactoring.nvim", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-treesitter/nvim-treesitter", + }, + config = function() + require("telescope").load_extension("refactoring") + end, + keys = { + { + "rr", + ":lua require('refactoring').select_refactor()", + desc = "Select refactoring", + mode = {"n", "x"}, + }, + -- Refactoring operations + { + "re", + "lua require('refactoring').refactor('Extract Function')", + desc = "Extract Function", + mode = "x", + }, + { + "rf", + "lua require('refactoring').refactor('Extract Function To File')", + desc = "Extract Function To File", + mode = "x", + }, + { + "rv", + "lua require('refactoring').refactor('Extract Variable')", + desc = "Extract Variable", + mode = "x", + }, + { + "rI", + "lua require('refactoring').refactor('Inline Function')", + desc = "Inline Function", + mode = "n", + }, + { + "ri", + "lua require('refactoring').refactor('Inline Variable')", + desc = "Inline Variable", + mode = {"n", "x"}, + }, + -- Extract block + { + "rb", + "lua require('refactoring').refactor('Extract Block')", + desc = "Extract Block", + mode = "n", + }, + { + "rbf", + "lua require('refactoring').refactor('Extract Block To File')", + desc = "Extract Block To File", + mode = "n", + }, + -- Telescope + { + "fr", + "lua require('telescope').extensions.refactoring.refactors()", + mode = "n", + } + }, +} \ No newline at end of file