35 lines
1.2 KiB
Lua
35 lines
1.2 KiB
Lua
-- Fuzzy finder — search files, text, buffers, recent files
|
|
-- <leader>ff → find files
|
|
-- <leader>fg → search text in project (live grep)
|
|
-- <leader>fb → open buffers
|
|
-- <leader>fr → recently opened files
|
|
-- <leader>fh → help tags
|
|
return {
|
|
{
|
|
"nvim-telescope/telescope.nvim",
|
|
tag = "0.1.x",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim",
|
|
-- Optional: native FZF sorter for faster matching
|
|
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
|
|
},
|
|
config = function()
|
|
local telescope = require("telescope")
|
|
local builtin = require("telescope.builtin")
|
|
|
|
telescope.setup({
|
|
defaults = {
|
|
path_display = { "smart" },
|
|
},
|
|
})
|
|
pcall(telescope.load_extension, "fzf") -- load fzf if compiled ok
|
|
|
|
local map = vim.keymap.set
|
|
map("n", "<leader>ff", builtin.find_files, { desc = "Find files" })
|
|
map("n", "<leader>fg", builtin.live_grep, { desc = "Search in project" })
|
|
map("n", "<leader>fb", builtin.buffers, { desc = "Open buffers" })
|
|
map("n", "<leader>fr", builtin.oldfiles, { desc = "Recent files" })
|
|
map("n", "<leader>fh", builtin.help_tags, { desc = "Help tags" })
|
|
end,
|
|
},
|
|
}
|