return { { "folke/trouble.nvim", keys = { { "", function() require("trouble").next { jump = true, skip_groups = true } end, }, { "", function() require("trouble").prev { jump = true, skip_groups = true } end, }, }, }, { "nvim-telescope/telescope.nvim", tag = "0.1.8", dependencies = { "nvim-lua/plenary.nvim" }, keys = { { "dd", function() require("telescope.builtin").diagnostics() end, desc = "[D]iagnostics", }, { "gd", function() require("telescope.builtin").lsp_definitions() end, desc = "LSP def", }, { "gr", function() require("telescope.builtin").lsp_references() end, desc = "[L]SP, Find [R]eferences", }, { "ws", function() require("telescope.builtin").lsp_workspace_symbols() end, desc = "LSP, [W]orkspace [S]ymbols", }, { "gi", function() require("telescope.builtin").lsp_implementations() end, desc = "[L]sp, [I]mplementations", }, { "gt", function() require("telescope.builtin").lsp_type_definitions() end, desc = "[L]SP, Type Definitions", }, { "ff", function() local builtin = require "telescope.builtin" builtin.find_files() end, desc = "Telescope: Find files", }, { "fg", function() local builtin = require "telescope.builtin" builtin.buffers() end, }, { "fg", function() local builtin = require "telescope.builtin" builtin.live_grep() end, }, }, config = function() local builtin = require "telescope.builtin" local open_with_trouble = require("trouble.sources.telescope").open -- Search with telescope and open with trouble local telescope = require "telescope" telescope.setup { defaults = { mappings = { i = { [""] = open_with_trouble }, n = { [""] = open_with_trouble }, }, }, } end, }, }