diff --git a/lua/lazyvim/plugins/editor.lua b/lua/lazyvim/plugins/editor.lua index 72b76568..1f96f8a2 100644 --- a/lua/lazyvim/plugins/editor.lua +++ b/lua/lazyvim/plugins/editor.lua @@ -135,13 +135,16 @@ return { { "sr", function() - require("grug-far").grug_far({ - prefills = { - search = vim.fn.expand(""), - filesFilter = "*." .. vim.fn.expand("%:e"), - }, + local is_visual = vim.fn.mode():lower():find("v") + if is_visual then -- needed to make visual selection work + vim.cmd([[normal! v]]) + end + local grug = require("grug-far"); + (is_visual and grug.with_visual_selection or grug.grug_far)({ + prefills = { filesFilter = "*." .. vim.fn.expand("%:e") }, }) end, + mode = { "n", "v" }, desc = "Search and Replace", }, },