-- ============================================================ -- TROUBLE.NVIM -- Better diagnostics / references / quickfix UI -- ============================================================ vim.pack.add { { src = 'https://github.com/folke/trouble.nvim', }, } require('trouble').setup { auto_close = false, auto_open = false, auto_preview = true, focus = true, modes = { diagnostics = { auto_open = false, }, }, icons = { indent = { top = '│ ', middle = '├╴', last = '└╴', fold_open = ' ', fold_closed = ' ', ws = ' ', }, }, } local trouble = require 'trouble' -- ============================================================ -- KEYMAPS -- ============================================================ -- General diagnostics vim.keymap.set('n', 'xx', function() trouble.toggle 'diagnostics' end, { desc = 'Trouble: Diagnostics' }) -- Workspace diagnostics vim.keymap.set('n', 'xw', function() trouble.toggle 'workspace_diagnostics' end, { desc = 'Trouble: Workspace Diagnostics' }) -- Current buffer diagnostics vim.keymap.set('n', 'xd', function() trouble.toggle 'document_diagnostics' end, { desc = 'Trouble: Document Diagnostics' }) -- Quickfix vim.keymap.set('n', 'xq', function() trouble.toggle 'quickfix' end, { desc = 'Trouble: Quickfix' }) -- Location list vim.keymap.set('n', 'xl', function() trouble.toggle 'loclist' end, { desc = 'Trouble: Location List' }) -- LSP references vim.keymap.set('n', 'gr', function() trouble.toggle 'lsp_references' end, { desc = 'Trouble: References' }) -- Symbols vim.keymap.set('n', 'xs', function() trouble.toggle 'symbols' end, { desc = 'Trouble: Symbols' }) -- Toggle previous/next diagnostics vim.keymap.set('n', '[x', function() trouble.prev { skip_groups = true, jump = true } end, { desc = 'Previous Trouble Item' }) vim.keymap.set('n', ']x', function() trouble.next { skip_groups = true, jump = true } end, { desc = 'Next Trouble Item' })