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', }, 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' -- or create your custom action local custom_actions = transform_mod { open_trouble_qflist = function(prompt_bufnr) trouble.toggle 'quickfix' end, } telescope.setup { defaults = { path_display = { 'smart' }, mappings = { i = { [''] = actions.move_selection_previous, -- move to prev result [''] = actions.move_selection_next, -- move to next result [''] = actions.send_selected_to_qflist + custom_actions.open_trouble_qflist, [''] = trouble_telescope.open, }, }, }, } telescope.load_extension 'fzf' -- set keymaps local keymap = vim.keymap -- for conciseness keymap.set('n', 'f', 'Telescope find_files', { desc = 'Fuzzy find files in cwd' }) keymap.set('n', 'fr', 'Telescope oldfiles', { desc = 'Fuzzy find recent files' }) keymap.set('n', 'g', 'Telescope live_grep', { desc = 'Find string in cwd' }) keymap.set('n', 'fc', 'Telescope grep_string', { desc = 'Find string under cursor in cwd' }) keymap.set('n', 'ft', 'TodoTelescope', { desc = 'Find todos' }) end, }