48 lines
1.6 KiB
Lua

local utils = require("utils")
return {
"nvim-telescope/telescope.nvim",
tag = "0.1.8",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons",
"folke/todo-comments.nvim",
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
},
config = function()
local telescope = require("telescope")
local trouble_telescope = require("trouble.sources.telescope")
local actions = require("telescope.actions")
local open_with_trouble = trouble_telescope.open
telescope.setup({
defaults = {
layout_strategy = "center",
layout_config = { width = 120 },
mappings = {
i = {
["<C-k>"] = actions.move_selection_previous,
["<C-j>"] = actions.move_selection_next,
["<PageUp>"] = actions.preview_scrolling_up,
["<PageDown>"] = actions.preview_scrolling_down,
["<C-t>"] = open_with_trouble,
},
},
},
})
telescope.load_extension("fzf")
-- Set keymaps to load pickers
local builtin = require("telescope.builtin")
utils.nmapkey("<leader>ff", function()
builtin.find_files(require("telescope.themes").get_dropdown({}))
end, "Telescope [f]ind [f]iles in cwd")
utils.nmapkey("<leader>fr", function()
builtin.oldfiles({ cwd_only = true })
end, "Telescope [f]ind [r]ecent files")
utils.nmapkey("<leader>fs", builtin.live_grep, "Telescope [f]ind [s]tring in cwd")
utils.nmapkey("<leader>fc", builtin.grep_string, "Telescope [f]ind string under [c]ursor in cwd")
utils.nmapkey("<leader>ft", "<cmd>TodoTelescope<cr>", "Telescope [f]ind [t]odos")
utils.nmapkey("<leader>fb", builtin.buffers, "Telescope [f]ind [b]uffer")
end,
}