return { "folke/trouble.nvim", dependencies = "nvim-tree/nvim-web-devicons", cmd = "Trouble", keys = function() local icon = require("fschauen.util.icons").ui.TrafficLight local key = function(lhs, rhs, desc) return { lhs, rhs, desc = icon .. " " .. desc } end return { -- stylua: ignore start key("T ", "Trouble diagnostics", "[T]rouble diagnostics"), key("Td", "Trouble lsp_definitions", "[T]roubldSP [d]efinitions"), key("TD", "Trouble lsp_declarations", "[T]rouble LSP [d]eclarations"), key("Ti", "Trouble lsp_implementations", "[T]rouble LSP [i]mplementations"), key("Tl", "Trouble loclist", "[T]rouble [l]ocation list"), key("Tq", "Trouble quickfix", "[T]rouble [q]uickfix list"), key("Tr", "Trouble lsp_references", "[T]rouble LSP [r]eferences"), key("Ts", "Trouble symbols", "[T]rouble LSP [s]ymbols"), key("Tt", "Trouble todo", "[T]rouble [t]odo"), key("TT", "Trouble lsp_type_definitions", "[T]rouble LSP [t]ype definition"), -- stylua: ignore end } end, opts = { padding = false, -- don't add an extra new line of top of the list auto_preview = false, -- don't preview automatically }, }