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, } vim.keymap.set('n', 'xx', 'TroubleToggle', { silent = true, noremap = true }) vim.keymap.set('n', 'xw', 'TroubleToggle workspace_diagnostics', { silent = true, noremap = true }) vim.keymap.set('n', 'xd', 'TroubleToggle document_diagnostics', { silent = true, noremap = true }) vim.keymap.set('n', 'xl', 'TroubleToggle loclist', { silent = true, noremap = true }) vim.keymap.set('n', 'xq', 'TroubleToggle quickfix', { silent = true, noremap = true }) vim.keymap.set('n', 'gR', 'TroubleToggle lsp_references', { silent = true, noremap = true }) -- 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, }