dotfiles/config/nvim/lua/fschauen/plugins/trouble.lua

31 lines
1.4 KiB
Lua

return {
"folke/trouble.nvim",
dependencies = "nvim-tree/nvim-web-devicons",
cmd = "Trouble",
keys = function()
local icon = require("fschauen.util.icons").ui.TrafficLight
local key = function(lhs, rhs, desc) return { lhs, rhs, desc = icon .. " " .. desc } end
return {
-- stylua: ignore start
key("<leader>T ", "<cmd>Trouble diagnostics<cr>", "[T]rouble diagnostics"),
key("<leader>Td", "<cmd>Trouble lsp_definitions<cr>", "[T]roubldSP [d]efinitions"),
key("<leader>TD", "<cmd>Trouble lsp_declarations<cr>", "[T]rouble LSP [d]eclarations"),
key("<leader>Ti", "<cmd>Trouble lsp_implementations<cr>", "[T]rouble LSP [i]mplementations"),
key("<leader>Tl", "<cmd>Trouble loclist<cr>", "[T]rouble [l]ocation list"),
key("<leader>Tq", "<cmd>Trouble quickfix<cr>", "[T]rouble [q]uickfix list"),
key("<leader>Tr", "<cmd>Trouble lsp_references<cr>", "[T]rouble LSP [r]eferences"),
key("<leader>Ts", "<cmd>Trouble symbols<cr>", "[T]rouble LSP [s]ymbols"),
key("<leader>Tt", "<cmd>Trouble todo<cr>", "[T]rouble [t]odo"),
key("<leader>TT", "<cmd>Trouble lsp_type_definitions<cr>", "[T]rouble LSP [t]ype definition"),
-- stylua: ignore end
}
end,
opts = {
padding = false, -- don't add an extra new line of top of the list
auto_preview = false, -- don't preview automatically
},
}