nvim: binding "grep undercursor at line start"

This commit is contained in:
Primrose 2025-09-30 12:12:41 +08:00
parent 11f3c5614f
commit 2838449e90
Signed by: primrose
GPG key ID: 4E887A4CA9714ADA

View file

@ -61,24 +61,30 @@ telescope.setup {
-- Enable telescope fzf native, if installed -- Enable telescope fzf native, if installed
pcall(require("telescope").load_extension, "fzf") pcall(require("telescope").load_extension, "fzf")
local function find_undercursor_in_buffer() local function find_undercursor_in_buffer(prefix)
builtin["current_buffer_fuzzy_find"] { return function()
layout_config = { height = 0.8 }, -- Already have word, no need to think builtin["current_buffer_fuzzy_find"] {
default_text = vim.fn.expand("<cword>"), layout_config = { height = 0.8 }, -- Already have word, no need to think
initial_mode = "normal", default_text = prefix .. vim.fn.expand("<cword>"),
} initial_mode = "normal",
}
end
end end
local function grep_undercursor() local function grep_undercursor(prefix)
builtin["live_grep"] { return function()
layout_config = { height = 0.8 }, -- Already have word, no need to think builtin["live_grep"] {
default_text = vim.fn.expand("<cword>"), layout_config = { height = 0.8 }, -- Already have word, no need to think
initial_mode = "normal", default_text = prefix .. vim.fn.expand("<cword>"),
} initial_mode = "normal",
}
end
end end
vim.keymap.set("n", "<leader>/", builtin["current_buffer_fuzzy_find"]) vim.keymap.set("n", "<leader>/", builtin["current_buffer_fuzzy_find"])
vim.keymap.set("n", "<leader>w", find_undercursor_in_buffer) vim.keymap.set("n", "<leader>w", find_undercursor_in_buffer(""))
vim.keymap.set("n", "<leader>W", grep_undercursor) vim.keymap.set("n", "<leader>W", grep_undercursor(""))
vim.keymap.set("n", "<leader>^w", find_undercursor_in_buffer("^"))
vim.keymap.set("n", "<leader>^W", grep_undercursor("^"))
vim.keymap.set("n", "<leader>sf", builtin["find_files"]) vim.keymap.set("n", "<leader>sf", builtin["find_files"])
vim.keymap.set("n", "<leader>sg", builtin["live_grep"]) vim.keymap.set("n", "<leader>sg", builtin["live_grep"])