return { "MagicDuck/grug-far.nvim", --- Ensure existing keymaps and opts remain unaffected config = function(_, opts) require("grug-far").setup(opts) vim.api.nvim_create_autocmd("FileType", { pattern = "grug-far", callback = function() -- Map to quit after ensuring we're in normal mode vim.keymap.set({ "i", "n" }, "", "stopinsert | bd!", { buffer = true }) end, }) end, keys = { { "rc", function() local grug = require("grug-far") local ext = vim.bo.buftype == "" and vim.fn.expand("%:e") grug.open({ transient = true, prefills = { filesFilter = ext and ext ~= "" and "*." .. ext or nil, }, }) end, mode = { "n", "v" }, desc = "Search and Replace", }, }, }