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.providers.telescope' -- or create your custom action local custom_actions = transform_mod { open_trouble_qflist = function(prompt_bufnr) trouble.toggle 'quickfix' end, } local trouble_telescope = require 'trouble.sources.telescope' 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, -- Updated line }, }, }, } telescope.load_extension 'fzf' -- set keymaps local map = vim.keymap.set -- for conciseness -- Telescope mappings map('n', 'sf', 'Telescope find_files', { noremap = true, silent = true, desc = 'Find Files' }) map('n', 'sw', 'Telescope live_grep', { noremap = true, silent = true, desc = 'Search Word' }) map('n', 'sn', 'Telescope neovim', { noremap = true, silent = true, desc = 'Neovim Files' }) map('n', '', 'Telescope buffers', { noremap = true, silent = true, desc = 'Buffers' }) local builtin = require 'telescope.builtin' map('n', 'sn', function() builtin.find_files { cwd = vim.fn.stdpath 'config' } end, { desc = '[S]earch [N]eovim files' }) map('n', 'ff', builtin.find_files, { desc = '[S]earch [F]iles' }) map('n', 'sh', builtin.help_tags, { desc = '[S]earch [H]elp' }) map('n', 'sk', builtin.keymaps, { desc = '[S]earch [K]eymaps' }) map('n', 'sg', builtin.live_grep, { desc = '[S]earch by [G]rep' }) map('n', 'sd', builtin.diagnostics, { desc = '[S]earch [D]iagnostics' }) map('n', 'sr', builtin.resume, { desc = '[S]earch [R]esume' }) map('n', 's.', builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' }) map('n', '', builtin.buffers, { desc = '[ ] Find existing buffers' }) map('n', 'q', vim.cmd.q) -- Additional custom mappings map('n', '/', function() builtin.current_buffer_fuzzy_find(require('telescope.themes').get_dropdown()) end, { desc = '[/] Fuzzily search in current buffer' }) map('n', 's/', function() builtin.live_grep { grep_open_files = true, prompt_title = 'Live Grep in Open Files' } end, { desc = '[S]earch [/] in Open Files' }) end, }