return { "nvim-telescope/telescope.nvim", dependencies = { "nvim-telescope/telescope-ui-select.nvim" }, keys = { { "f", "Telescope find_files" }, { "b", "Telescope buffers" }, { "sr", "Telescope oldfiles" }, { "st", "Telescope live_grep" }, }, config = function() local telescope = require "telescope" local actions = require "telescope.actions" telescope.setup { defaults = { prompt_prefix = " ", selection_caret = " ", file_ignore_patterns = { "^\\.git$", "^\\.bin$", "node_modules", "__pycache__", "target", "vendor", }, mappings = { i = { [""] = actions.close, [""] = actions.move_selection_next, [""] = actions.move_selection_previous, [""] = actions.delete_buffer, }, n = { [""] = actions.move_selection_next, [""] = actions.move_selection_previous, [""] = actions.delete_buffer, }, }, }, pickers = { find_files = { theme = "ivy" }, live_grep = { theme = "ivy" }, filetypes = { theme = "ivy" }, buffers = { theme = "ivy" }, oldfiles = { theme = "ivy" }, keymaps = { theme = "ivy" }, git_branches = { theme = "ivy" }, git_commits = { theme = "ivy" }, git_status = { theme = "ivy" }, lsp_definitions = { theme = "ivy" }, lsp_references = { theme = "ivy" }, lsp_implementations = { theme = "ivy" }, lsp_document_symbols = { theme = "ivy" }, }, extensions = { ["ui-select"] = { require("telescope.themes").get_ivy {} }, }, } telescope.load_extension "projects" telescope.load_extension "ui-select" end, }