local M = { 'nvim-telescope/telescope.nvim', dependencies = { 'nvim-lua/popup.nvim', 'nvim-lua/plenary.nvim', 'nvim-telescope/telescope-ui-select.nvim', { 'nvim-telescope/telescope-fzf-native.nvim', build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' } }, keys = { {'b', [[Telescope buffers]], { noremap = true, silent = true }}, {'f', [[Telescope fd]], { noremap = true, silent = true }}, {'T', [[Telescope]], { noremap = true, silent = true }}, } } function M.config() local telescope = require('telescope') telescope.setup { defaults = { preview = { hide_on_startup = true }, }, pickers = { buffers = { show_all_buffers = true, sort_lastused = false, sort_mru = true, -- theme = "dropdown", mappings = { i = { [''] = 'delete_buffer', }, n = { [''] = 'delete_buffer', } } } }, extensions = { ['ui-select'] = { require('telescope.themes').get_dropdown {} } } } telescope.load_extension('fzf') telescope.load_extension('ui-select') local augr = vim.api.nvim_create_augroup('Telescope', {}) vim.api.nvim_create_autocmd('FileType', { group = augr, pattern = 'TelescopePrompt', callback = function() vim.api.nvim_exec([[ imap Telescope buffers initial_mode=insert nmap Telescope buffers initial_mode=insert imap Telescope fd initial_mode=insert nmap Telescope fd initial_mode=insert imap Telescope builtin initial_mode=insert nmap Telescope builtin initial_mode=insert ]], false) end }) end return M