Telescope: Add function to grep from files by pattern

This commit is contained in:
t0xa 2025-10-02 10:04:01 +03:00
parent 2a5a948af7
commit 8eb03f9c92

View file

@ -7,8 +7,25 @@ require("telescope").setup {
-- Load fzf extension to imporve performance -- Load fzf extension to imporve performance
pcall(require("telescope").load_extension, "fzf") pcall(require("telescope").load_extension, "fzf")
-- Glob pattern searcher
local function live_grep_with_glob()
vim.ui.input({
prompt = "Glob pattern: ",
default = "", -- Optional default value
}, function(input)
if input then
require('telescope.builtin').live_grep({
glob_pattern = input
})
end
end)
end
local builtin = require("telescope.builtin") local builtin = require("telescope.builtin")
local keymap = vim.keymap local keymap = vim.keymap
-- Create a Neovim command
vim.api.nvim_create_user_command('TelescopeGrepGlob', live_grep_with_glob, {})
keymap.set("n", "<leader>ff", builtin.find_files, { desc = "FZF: find files in cwd" }) keymap.set("n", "<leader>ff", builtin.find_files, { desc = "FZF: find files in cwd" })
keymap.set("n", "<leader>fml", builtin.marks, { desc = "FZF: find marks list" }) keymap.set("n", "<leader>fml", builtin.marks, { desc = "FZF: find marks list" })
keymap.set("n", "<leader>fmp", builtin.man_pages, { desc = "FZF: find available man pages" }) keymap.set("n", "<leader>fmp", builtin.man_pages, { desc = "FZF: find available man pages" })
@ -17,3 +34,4 @@ keymap.set("n", "<leader>fb", builtin.buffers, { desc = "FZF: display opened buf
keymap.set("n", "<leader>fh", builtin.help_tags, { desc = "FZF: display help tags" }) keymap.set("n", "<leader>fh", builtin.help_tags, { desc = "FZF: display help tags" })
keymap.set("n", "<leader>ft", "<cmd>TodoTelescope<cr>", { desc = "FZF: display TODO comments" }) keymap.set("n", "<leader>ft", "<cmd>TodoTelescope<cr>", { desc = "FZF: display TODO comments" })
keymap.set("n", "<leader>fds", builtin.lsp_document_symbols, { desc = "FZF: Document symbols" }) keymap.set("n", "<leader>fds", builtin.lsp_document_symbols, { desc = "FZF: Document symbols" })
keymap.set('n', '<leader>fp', live_grep_with_glob, { desc = 'Live grep with glob pattern' })