return { 'nvim-telescope/telescope.nvim', branch = '0.1.x', dependencies = { 'nvim-lua/plenary.nvim', { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' }, 'nvim-tree/nvim-web-devicons', 'folke/todo-comments.nvim', }, event = 'VeryLazy', config = function() local telescope = require('telescope') local actions = require('telescope.actions') local transform_mod = require('telescope.actions.mt').transform_mod local trouble = require('trouble') local trouble_telescope = require('trouble.sources.telescope') local custom_actions = transform_mod({ open_trouble_qflist = function(prompt_bufnr) trouble.toggle('quickfix') end, }) telescope.setup({ defaults = { path_display = { 'smart' }, mappings = { n = { ['x'] = actions.delete_buffer, ['q'] = actions.close, }, i = { [''] = actions.move_selection_previous, [''] = actions.move_selection_next, [''] = actions.send_selected_to_qflist + custom_actions.open_trouble_qflist, [''] = trouble_telescope.open, [''] = actions.close, }, }, }, pickers = { buffers = { theme = 'dropdown', sort_mru = true, sort_lastused = true, show_all_buffers = true, }, help_tags = { theme = 'ivy', }, }, extensions = { fzf = {}, }, }) telescope.load_extension('fzf') end, }