dev: automated commit - 2025-10-12 17:49:26
This commit is contained in:
parent
8846fe8a52
commit
332c6aa6d6
4 changed files with 80 additions and 26 deletions
|
|
@ -88,5 +88,8 @@ nmap("qk", "<cmd>cprev<cr>", { desc = "Previous quickfix item" })
|
|||
|
||||
nmap("<Esc>", "<cmd>nohlsearch<CR>", { desc = "Clear search highlights" })
|
||||
|
||||
-- Restore 's' key functionality (Mini.surround overrides it by default)
|
||||
nmap("s", "cl", { desc = "Delete character and enter insert mode" })
|
||||
|
||||
-- Launch lazygit in a new tmux pane, exits when done
|
||||
nmap("<leader>lg", "<cmd>!tmux new-window -c " .. vim.fn.getcwd() .. " -- lazygit <CR><CR>", { desc = "LazyGit" })
|
||||
|
|
|
|||
73
lua/plugins/grug-far.lua
Normal file
73
lua/plugins/grug-far.lua
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
local M = {
|
||||
"MagicDuck/grug-far.nvim",
|
||||
cmd = "GrugFar",
|
||||
keys = {
|
||||
{ "<leader>S", "<cmd>GrugFar<CR>", desc = "GrugFar: Find and Replace" },
|
||||
},
|
||||
}
|
||||
|
||||
M.config = function()
|
||||
require("grug-far").setup({
|
||||
-- Basic configuration
|
||||
minSearchLength = 2,
|
||||
debounceMs = 300,
|
||||
|
||||
-- UI configuration
|
||||
ui = {
|
||||
border = "rounded",
|
||||
size = {
|
||||
width = 0.8,
|
||||
height = 0.8,
|
||||
},
|
||||
},
|
||||
|
||||
-- Search configuration
|
||||
search = {
|
||||
engines = { "ripgrep", "astgrep", "astgrep-rules" },
|
||||
defaultEngine = "ripgrep",
|
||||
},
|
||||
|
||||
-- History configuration - simplified to avoid the autoSave bug
|
||||
history = {
|
||||
enabled = true,
|
||||
maxEntries = 50,
|
||||
},
|
||||
|
||||
-- Result configuration
|
||||
resultLocation = {
|
||||
showNumberLabel = true,
|
||||
},
|
||||
})
|
||||
|
||||
-- Additional keybindings for enhanced functionality
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
group = vim.api.nvim_create_augroup("grug-far-custom-keybinds", { clear = true }),
|
||||
pattern = { "grug-far" },
|
||||
callback = function()
|
||||
-- Toggle --fixed-strings flag
|
||||
vim.keymap.set("n", "<localleader>w", function()
|
||||
local state = unpack(require("grug-far").get_instance(0):toggle_flags({ "--fixed-strings" }))
|
||||
vim.notify("grug-far: toggled --fixed-strings " .. (state and "ON" or "OFF"))
|
||||
end, { buffer = true, desc = "Toggle fixed strings" })
|
||||
|
||||
-- Open result location and close grug-far
|
||||
vim.keymap.set("n", "<C-enter>", function()
|
||||
require("grug-far").get_instance(0):open_location()
|
||||
require("grug-far").get_instance(0):close()
|
||||
end, { buffer = true, desc = "Open location and close" })
|
||||
|
||||
-- Jump back to first input
|
||||
vim.keymap.set("n", "<left>", function()
|
||||
require("grug-far").get_instance(0):goto_first_input()
|
||||
end, { buffer = true, desc = "Jump to first input" })
|
||||
|
||||
-- Toggle multiline mode
|
||||
vim.keymap.set("n", "<localleader>m", function()
|
||||
local state = unpack(require("grug-far").get_instance(0):toggle_flags({ "--multiline" }))
|
||||
vim.notify("grug-far: toggled --multiline " .. (state and "ON" or "OFF"))
|
||||
end, { buffer = true, desc = "Toggle multiline mode" })
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
return M
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
local M = {
|
||||
"nvim-pack/nvim-spectre",
|
||||
}
|
||||
|
||||
M.config = function()
|
||||
require("spectre").setup()
|
||||
|
||||
nmap("<leader>S", '<cmd>lua require("spectre").toggle()<CR>', {
|
||||
desc = "Toggle Spectre",
|
||||
})
|
||||
nmap("<leader>sw", '<cmd>lua require("spectre").open_visual({select_word=true})<CR>', {
|
||||
desc = "[Spectre] Search current word",
|
||||
})
|
||||
nmap("<leader>sw", '<esc><cmd>lua require("spectre").open_visual()<CR>', {
|
||||
desc = "[Spectre] Search current word",
|
||||
})
|
||||
nmap("<leader>sp", '<cmd>lua require("spectre").open_file_search({select_word=true})<CR>', {
|
||||
desc = "[Spectre] Search on current file",
|
||||
})
|
||||
end
|
||||
|
||||
return M
|
||||
Loading…
Add table
Add a link
Reference in a new issue