return { 'folke/trouble.nvim', cmd = { 'TroubleToggle', 'Trouble' }, opts = { use_diagnostic_signs = true }, keys = { { 'xx', 'TroubleToggle document_diagnostics', desc = 'Document Diagnostics (Trouble)' }, { 'X', 'TroubleToggle workspace_diagnostics', desc = 'Workspace Diagnostics (Trouble)' }, { 'xL', 'TroubleToggle loclist', desc = 'Location List (Trouble)' }, { 'xq', 'TroubleToggle quickfix', desc = 'Quickfix List (Trouble)' }, { '[q', function() if require('trouble').is_open() then require('trouble').previous { skip_groups = true, jump = true } else local ok, err = pcall(vim.cmd.cprev) if not ok then vim.notify(err, vim.log.levels.ERROR) end end end, desc = 'Previous trouble/quickfix item', }, { ']q', function() if require('trouble').is_open() then require('trouble').next { skip_groups = true, jump = true } else local ok, err = pcall(vim.cmd.cnext) if not ok then vim.notify(err, vim.log.levels.ERROR) end end end, desc = 'Next trouble/quickfix item', }, }, }