dotfiles/.config/nvim/lua/plugins/grug-far.lua

47 lines
1.4 KiB
Lua

return {
"MagicDuck/grug-far.nvim",
opts = {
headerMaxWidth = 80,
keymaps = {
replace = { n = "<localleader>r" },
qflist = { n = "<localleader>q" },
syncLocations = { n = "<localleader>s" },
syncLine = { n = "<localleader>l" },
close = { n = "<localleader>c" },
historyOpen = { n = "<localleader>t" },
historyAdd = { n = "<localleader>a" },
refresh = { n = "<localleader>f" },
openLocation = { n = "<localleader>o" },
openNextLocation = { n = "<S-Down>" },
openPrevLocation = { n = "<S-Up>" },
gotoLocation = { n = "<enter>" },
pickHistoryEntry = { n = "<enter>" },
abort = { n = "<localleader>b" },
help = { n = "g?" },
toggleShowCommand = { n = "<localleader>p" },
swapEngine = { n = "<localleader>e" },
previewLocation = { n = "<localleader>i" },
swapReplacementInterpreter = { n = "<localleader>x" },
applyNext = { n = "<localleader>j" },
applyPrev = { n = "<localleader>k" },
},
},
cmd = "GrugFar",
keys = {
{
"<leader>sr",
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",
},
},
}