local prefix = "sr" return { { "roobert/search-replace.nvim", opts = { default_replace_single_buffer_options = "gcI", default_replace_multi_buffer_options = "egcI", }, -- stylua: ignore keys = { { prefix .. "b", "SearchReplaceSingleBufferVisualSelection", desc = "Buffer", mode = "v" }, { prefix .. "v", "SearchReplaceWithinVisualSelection", desc = "Visual Selection", mode = "v" }, { prefix .. "w", "SearchReplaceWithinVisualSelectionCWord", desc = "Word on Buffer", mode = "v" }, { prefix .. "b", "SearchReplaceSingleBufferOpen", desc = "Buffer", mode = "n" }, { prefix .. "w", "SearchReplaceSingleBufferCWord", desc = "Word on Buffer", mode = "n" }, { prefix .. "W", "SearchReplaceSingleBufferCWORD", desc = "WORD on Buffer", mode = "n" }, { prefix .. "e", "SearchReplaceSingleBufferCExpr", desc = "Expression on Buffer", mode = "n" }, }, }, { "folke/which-key.nvim", opts = { spec = { { prefix, group = "replace", icon = " " }, }, }, }, { "MagicDuck/grug-far.nvim", keys = { { prefix .. "p", function() local grug = require("grug-far") local ext = vim.bo.buftype == "" and vim.fn.expand("%:e") grug.grug_far({ transient = true, prefills = { filesFilter = ext and ext ~= "" and "*." .. ext or nil, }, }) end, mode = { "n", "v" }, desc = "Project", }, }, }, }