return { { 'nvim-telescope/telescope.nvim', tag = '0.1.5', dependencies = { 'nvim-lua/plenary.nvim' }, config = function() local builtin = require('telescope.builtin') local find_files = function() builtin.find_files({ follow = true }) end local grep = function(grep_func) return function() grep_func({ additional_args = { '--follow' } }) end end vim.keymap.set('n', 'th', builtin.colorscheme, { desc = 'List [Th]eme' }) vim.keymap.set('n', 'ff', find_files, { desc = '[F]ind [F]iles' }) vim.keymap.set('n', 'fh', builtin.help_tags, { desc = '[F]ind [H]elp' }) vim.keymap.set('n', 'fk', builtin.keymaps, { desc = '[F]ind [K]eymaps' }) vim.keymap.set('n', 'fs', builtin.builtin, { desc = '[F]ind [S]elect Telescope' }) -- vim.keymap.set('n', 'fw', builtin.grep_string, { desc = '[F]ind current [W]ord' }) -- vim.keymap.set('n', 'fg', builtin.live_grep, { desc = '[F]ind by [G]rep' }) vim.keymap.set('n', 'fw', grep(builtin.grep_string), { desc = '[F]ind current [W]ord' }) vim.keymap.set('n', 'fg', grep(builtin.live_grep), { desc = '[F]ind by [G]rep' }) vim.keymap.set('n', 'f.', builtin.oldfiles, { desc = '[F]ind Recent Files ("." for repeat)' }) vim.keymap.set('n', 'gh', vim.lsp.buf.hover, { desc = '[G]oto [H]over' }) vim.keymap.set('n', 'gd', builtin.lsp_definitions, { desc = '[G]oto [D]efinition' }) vim.keymap.set('n', 'gu', builtin.lsp_references, { desc = '[G]oto [U]sages' }) vim.keymap.set('n', 's', builtin.lsp_workspace_symbols, { desc = 'Show [S]tructure' }) vim.keymap.set('n', 'ds', builtin.lsp_document_symbols, { desc = 'Show [S]tructure' }) vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, { desc = '[C]ode [A]ction' }) vim.keymap.set('n', '', vim.lsp.buf.code_action, { desc = 'Code Actions' }) vim.keymap.set('n', 'R', vim.lsp.buf.rename, { desc = '[R]ename' }) end, }, { 'nvim-telescope/telescope-ui-select.nvim', config = function() local telescope = require('telescope') telescope.setup({ extensions = { ['ui_select'] = { require('telescope.themes').get_dropdown({}), }, }, }) telescope.load_extension('ui-select') end, }, }