68 lines
2.0 KiB
Lua
68 lines
2.0 KiB
Lua
|
|
-- ============================================================
|
||
|
|
-- 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', '<leader>xx', function() trouble.toggle 'diagnostics' end, { desc = 'Trouble: Diagnostics' })
|
||
|
|
|
||
|
|
-- Workspace diagnostics
|
||
|
|
vim.keymap.set('n', '<leader>xw', function() trouble.toggle 'workspace_diagnostics' end, { desc = 'Trouble: Workspace Diagnostics' })
|
||
|
|
|
||
|
|
-- Current buffer diagnostics
|
||
|
|
vim.keymap.set('n', '<leader>xd', function() trouble.toggle 'document_diagnostics' end, { desc = 'Trouble: Document Diagnostics' })
|
||
|
|
|
||
|
|
-- Quickfix
|
||
|
|
vim.keymap.set('n', '<leader>xq', function() trouble.toggle 'quickfix' end, { desc = 'Trouble: Quickfix' })
|
||
|
|
|
||
|
|
-- Location list
|
||
|
|
vim.keymap.set('n', '<leader>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', '<leader>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' })
|