-- nvim/.config/nvim/lua/plugins/editor/trouble.lua
return {
"folke/trouble.nvim",
cmd = { "Trouble" },
opts = {
modes = {
lsp = {
win = { position = "right" },
},
},
keys = {
["<esc>"] = "close",
["q"] = "close",
["<cr>"] = "jump",
["o"] = "jump_close",
["K"] = "preview",
},
},
keys = {
{ "<leader>xx", "<cmd>Trouble diagnostics toggle<cr>", desc = "diagnostics" },
{ "<leader>xX", "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", desc = "buffer diagnostics" },
{ "<leader>cs", "<cmd>Trouble symbols toggle focus=false<cr>", desc = "symbols" },
{ "<leader>cl", "<cmd>Trouble lsp toggle focus=false win.position=right<cr>", desc = "lsp refs/impl" },
{ "<leader>xL", "<cmd>Trouble loclist toggle<cr>", desc = "loc list" },
{ "<leader>xQ", "<cmd>Trouble qflist toggle<cr>", desc = "qf list" },
{ "[q", function()
if require("trouble").is_open() then require("trouble").prev({ skip_groups = true, jump = true })
else pcall(vim.cmd, "cprev") end
end, desc = "prev trouble/qf" },
{ "]q", function()
if require("trouble").is_open() then require("trouble").next({ skip_groups = true, jump = true })
else pcall(vim.cmd, "cnext") end
end, desc = "next trouble/qf" },
},
}