return { 'nvim-telescope/telescope.nvim', cmd = { 'Telescope' }, dependencies = { 'nvim-lua/plenary.nvim', { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make', cond = function() return vim.fn.executable 'make' == 1 end, }, { 'nvim-telescope/telescope-ui-select.nvim' }, { 'nvim-tree/nvim-web-devicons', enabled = vim.g.have_nerd_font }, }, keys = { { 'sh', function() require('telescope.builtin').help_tags() end, desc = '[S]earch [H]elp' }, { 'sk', function() require('telescope.builtin').keymaps() end, desc = '[S]earch [K]eymaps' }, { 'sf', function() require('telescope.builtin').find_files() end, desc = '[S]earch [F]iles' }, { 'ss', function() require('telescope.builtin').builtin() end, desc = '[S]earch [S]elect Telescope' }, { 'sw', function() require('telescope.builtin').grep_string() end, desc = '[S]earch current [W]ord' }, { 'sg', function() require('telescope.builtin').live_grep() end, desc = '[S]earch by [G]rep' }, { 'sd', function() require('telescope.builtin').diagnostics() end, desc = '[S]earch [D]iagnostics' }, { 'sr', function() require('telescope.builtin').resume() end, desc = '[S]earch [R]esume' }, { 's.', function() require('telescope.builtin').oldfiles() end, desc = '[S]earch Recent Files' }, { '', function() require('telescope.builtin').buffers() end, desc = '[ ] Find buffers' }, { '/', function() require('telescope.builtin').current_buffer_fuzzy_find(require('telescope.themes').get_dropdown { winblend = 10, previewer = false, }) end, desc = '[/] Search in current buffer', }, { 's/', function() require('telescope.builtin').live_grep { grep_open_files = true, prompt_title = 'Live Grep in Open Files', } end, desc = '[S]earch [/] in Open Files', }, { 'sn', function() require('telescope.builtin').find_files { cwd = vim.fn.stdpath 'config' } end, desc = '[S]earch [N]eovim files', }, }, config = function() require('telescope').setup { extensions = { ['ui-select'] = { require('telescope.themes').get_dropdown(), }, }, } pcall(require('telescope').load_extension, 'fzf') pcall(require('telescope').load_extension, 'ui-select') end, }