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 = { [""] = actions.move_selection_previous, [""] = actions.move_selection_next, [""] = actions.preview_scrolling_up, [""] = actions.preview_scrolling_down, [""] = open_with_trouble, }, }, }, }) telescope.load_extension("fzf") -- Set keymaps to load pickers local builtin = require("telescope.builtin") utils.nmapkey("ff", function() builtin.find_files(require("telescope.themes").get_dropdown({})) end, "Telescope [f]ind [f]iles in cwd") utils.nmapkey("fr", function() builtin.oldfiles({ cwd_only = true }) end, "Telescope [f]ind [r]ecent files") utils.nmapkey("fs", builtin.live_grep, "Telescope [f]ind [s]tring in cwd") utils.nmapkey("fc", builtin.grep_string, "Telescope [f]ind string under [c]ursor in cwd") utils.nmapkey("ft", "TodoTelescope", "Telescope [f]ind [t]odos") utils.nmapkey("fb", builtin.buffers, "Telescope [f]ind [b]uffer") end, }