feat(telescope): add a filetype live grep

This commit is contained in:
Oliver
2025-05-21 12:55:46 +02:00
parent 50afa3bc6c
commit 08ef0a0c90

View File

@@ -47,6 +47,28 @@ return {
filesize_limit = 0.5, -- MB
},
})
local function grepInFiles()
local actions = require("telescope.actions")
local action_state = require("telescope.actions.state")
builtin.filetypes({
attach_mappings = function(prompt_bufnr, _)
actions.select_default:replace(function()
actions.close(prompt_bufnr)
local selection = action_state.get_selected_entry()
local filetype = selection.value
builtin.live_grep({
additional_args = function()
return { "--glob", "*." .. filetype }
end,
})
end)
return true
end,
})
end
vim.keymap.set("n", "<leader>ft", grepInFiles, { desc = "Live grep by filetype" })
vim.keymap.set('n', '<leader>*', builtin.grep_string, {desc = "Grep current string"})
vim.keymap.set('n', '<leader>ff', builtin.find_files, {desc = "Find files"})
vim.keymap.set('n', '<leader>fg', builtin.git_branches, {desc = "Find Git branches" })