From d92692309c41581e1f839033fbccd745be732c7e Mon Sep 17 00:00:00 2001 From: Iordanis Petkakis <12776461+dpetka2001@users.noreply.github.com> Date: Wed, 22 Apr 2026 12:32:53 +0300 Subject: [PATCH 1/2] fix(refactoring)!: conform to upstream breaking changes on 2.0 branch (#7124) ## Description `refactoring.nvim` had a new 2.0 release with some breaking changes. Adjust the LazyVim Extra. Left `opts` with everything default as there've been changes there as well, but I don't use the plugin. ## Related Issue(s) Fixes #7122 ## Screenshots ## Checklist - [x] I've read the [CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md) guidelines. --- .../plugins/extras/editor/refactoring.lua | 114 ++++-------------- 1 file changed, 22 insertions(+), 92 deletions(-) diff --git a/lua/lazyvim/plugins/extras/editor/refactoring.lua b/lua/lazyvim/plugins/extras/editor/refactoring.lua index 11ab3786..d1105d3b 100644 --- a/lua/lazyvim/plugins/extras/editor/refactoring.lua +++ b/lua/lazyvim/plugins/extras/editor/refactoring.lua @@ -1,95 +1,64 @@ -local pick = function() - local refactoring = require("refactoring") - if LazyVim.pick.picker.name == "telescope" then - return require("telescope").extensions.refactoring.refactors() - elseif LazyVim.pick.picker.name == "fzf" then - local fzf_lua = require("fzf-lua") - local results = refactoring.get_refactors() - - local opts = { - fzf_opts = {}, - fzf_colors = true, - actions = { - ["default"] = function(selected) - refactoring.refactor(selected[1]) - end, - }, - } - fzf_lua.fzf_exec(results, opts) - else - refactoring.select_refactor() +if LazyVim.has_extra("editor.refactoring") then + if vim.fn.has("nvim-0.12") == 0 then + LazyVim.error("refactoring.nvim requires Neovim 0.12 or higher", { title = "refactoring.nvim" }) + return {} end end return { + { "lewis6991/async.nvim", lazy = true }, + { "ThePrimeagen/refactoring.nvim", event = { "BufReadPre", "BufNewFile" }, - dependencies = { - "nvim-lua/plenary.nvim", - "nvim-treesitter/nvim-treesitter", - }, keys = { { "r", "", desc = "+refactor", mode = { "n", "x" } }, { "rs", - pick, + function() + return require("refactoring").select_refactor() + end, mode = { "n", "x" }, - desc = "Refactor", + desc = "Select Refactor", }, { "ri", function() - return require("refactoring").refactor("Inline Variable") + return require("refactoring").inline_var() end, mode = { "n", "x" }, desc = "Inline Variable", expr = true, }, - { - "rb", - function() - return require("refactoring").refactor("Extract Block") - end, - mode = { "n", "x" }, - desc = "Extract Block", - expr = true, - }, - { - "rf", - function() - return require("refactoring").refactor("Extract Block To File") - end, - mode = { "n", "x" }, - desc = "Extract Block To File", - expr = true, - }, { "rP", function() - require("refactoring").debug.printf({ below = false }) + return require("refactoring.debug").print_loc({ output_location = "below" }) end, - desc = "Debug Print", + desc = "Debug Print Location", + expr = true, }, { "rp", function() - require("refactoring").debug.print_var({ normal = true }) + return require("refactoring.debug").print_var({ output_location = "below" }) .. "iw" end, mode = { "n", "x" }, desc = "Debug Print Variable", + expr = true, }, { "rc", function() - require("refactoring").debug.cleanup({}) + return require("refactoring.debug").cleanup({ restore_view = true }) .. "ag" end, desc = "Debug Cleanup", + expr = true, }, { "rf", function() - return require("refactoring").refactor("Extract Function") + return require("refactoring").extract_func() end, mode = { "n", "x" }, desc = "Extract Function", @@ -98,7 +67,7 @@ return { { "rF", function() - return require("refactoring").refactor("Extract Function To File") + return require("refactoring").extract_func_to_file() end, mode = { "n", "x" }, desc = "Extract Function To File", @@ -107,52 +76,13 @@ return { { "rx", function() - return require("refactoring").refactor("Extract Variable") + return require("refactoring").extract_var() end, mode = { "n", "x" }, desc = "Extract Variable", expr = true, }, - { - "rp", - function() - require("refactoring").debug.print_var() - end, - mode = { "n", "x" }, - desc = "Debug Print Variable", - }, }, - opts = { - prompt_func_return_type = { - go = false, - java = false, - cpp = false, - c = false, - h = false, - hpp = false, - cxx = false, - }, - prompt_func_param_type = { - go = false, - java = false, - cpp = false, - c = false, - h = false, - hpp = false, - cxx = false, - }, - printf_statements = {}, - print_var_statements = {}, - show_success_message = true, -- shows a message with information about the refactor on success - -- i.e. [Refactor] Inlined 3 variable occurrences - }, - config = function(_, opts) - require("refactoring").setup(opts) - if LazyVim.has("telescope.nvim") then - LazyVim.on_load("telescope.nvim", function() - require("telescope").load_extension("refactoring") - end) - end - end, + opts = {}, }, } From cdc47ae6152872ad09d588697906bf93cba3fcd9 Mon Sep 17 00:00:00 2001 From: folke <292349+folke@users.noreply.github.com> Date: Wed, 22 Apr 2026 09:33:58 +0000 Subject: [PATCH 2/2] chore(build): auto-generated vimdocs --- doc/LazyVim.txt | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/doc/LazyVim.txt b/doc/LazyVim.txt index 1288f75d..7802ea89 100644 --- a/doc/LazyVim.txt +++ b/doc/LazyVim.txt @@ -1,4 +1,5 @@ *LazyVim.txt* LazyVim docs + For Neovim Last change: 2026 April 22 ============================================================================== Table of Contents *LazyVim-table-of-contents* @@ -78,22 +79,26 @@ Try it with Docker ~ Install the LazyVim Starter ~ - Make a backup of your current Neovim files: - >sh + +>sh mv ~/.config/nvim ~/.config/nvim.bak mv ~/.local/share/nvim ~/.local/share/nvim.bak - < +< - Clone the starter - >sh + +>sh git clone https://github.com/LazyVim/starter ~/.config/nvim - < +< - Remove the `.git` folder, so you can add it to your own repo later - >sh + +>sh rm -rf ~/.config/nvim/.git - < +< - Start Neovim! - >sh + +>sh nvim - < +< Refer to the comments in the files on how to customize **LazyVim**. ------------------------------------------------------------------------------