return { 'folke/trouble.nvim', lazy = false, dependencies = 'nvim-tree/nvim-web-devicons', config = function() require('trouble').setup { auto_preview = false, auto_fold = true, auto_close = true, use_lsp_diagnostic_signs = true, } -- Keybindings local wk = require 'which-key' wk.add { { 'xx', 'TroubleToggle', desc = 'Toggle Trouble' }, { 'xw', 'TroubleToggle workspace_diagnostics', desc = 'Toggle Workspace Diagnostics' }, { 'xd', 'TroubleToggle document_diagnostics', desc = 'Toggle Document Diagnostics' }, { 'xl', 'TroubleToggle loclist', desc = 'Toggle Loclist' }, { 'xq', 'TroubleToggle quickfix', desc = 'Toggle Quickfix' }, { 'gR', 'TroubleToggle lsp_references', desc = 'Toggle LSP References' }, } -- Diagnostic signs -- https://github.com/folke/trouble.nvim/issues/52 local signs = { Error = ' ', Warning = ' ', Hint = ' ', Information = ' ', } for type, icon in pairs(signs) do local hl = 'DiagnosticSign' .. type vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl }) end end, }