From 1d2e173db6a9be9a756cd699eceb2fdac30d83ad Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Sun, 7 Jul 2024 18:08:47 +0200 Subject: [PATCH] Refactor trouble, also disable all highlight changes in trouble for the time being, it's simply not working very well. --- home/.config/nvim/lua/plugs/catppuccin.lua | 7 +- home/.config/nvim/lua/plugs/trouble.lua | 132 +++++++++++++++------ 2 files changed, 98 insertions(+), 41 deletions(-) diff --git a/home/.config/nvim/lua/plugs/catppuccin.lua b/home/.config/nvim/lua/plugs/catppuccin.lua index b03014b..a49b927 100644 --- a/home/.config/nvim/lua/plugs/catppuccin.lua +++ b/home/.config/nvim/lua/plugs/catppuccin.lua @@ -67,8 +67,11 @@ return { TelescopePreviewNormal = { link = "EdgeTool" }, TelescopePreviewBorder = { link = "EdgeToolBorder" }, - -- Trouble - TroubleNormal = { link = "EdgeTool" }, + -- -- Trouble + -- TroubleNormal = { bg = colors.red }, + -- TroubleCount = { bg = colors.red }, + -- TroubleCode = { bg = colors.red }, + -- TroubleText = { bg = colors.red }, -- Saga SagaNormal = { link = "EdgeTool" }, diff --git a/home/.config/nvim/lua/plugs/trouble.lua b/home/.config/nvim/lua/plugs/trouble.lua index 175ece4..30b0dfb 100644 --- a/home/.config/nvim/lua/plugs/trouble.lua +++ b/home/.config/nvim/lua/plugs/trouble.lua @@ -23,52 +23,106 @@ local function setup_autosize_callback() }) end +local function change_trouble_highlight_background(color_palette) + local highlights = { + -- "TroubleCode", + -- "TroubleCount", + -- "TroubleDirectory", + -- "TroubleFilename", + -- "TroubleIconArray", + -- "TroubleIconBoolean", + -- "TroubleIconClass", + -- "TroubleIconConstant", + -- "TroubleIconConstructor", + -- "TroubleIconDirectory", + -- "TroubleIconEnum", + -- "TroubleIconEnumMember", + -- "TroubleIconEvent", + -- "TroubleIconField", + -- "TroubleIconFile", + -- "TroubleIconFunction", + -- "TroubleIconInterface", + -- "TroubleIconKey", + -- "TroubleIconMethod", + -- "TroubleIconModule", + -- "TroubleIconNamespace", + -- "TroubleIconNull", + -- "TroubleIconNumber", + -- "TroubleIconObject", + -- "TroubleIconOperator", + -- "TroubleIconPackage", + -- "TroubleIconProperty", + -- "TroubleIconString", + -- "TroubleIconStruct", + -- "TroubleIconTypeParameter", + -- "TroubleIconVariable", + -- "TroubleIndent", + -- "TroubleIndentFoldClosed", + -- "TroubleIndentFoldOpen", + -- "TroubleIndentLast", + -- "TroubleIndentMiddle", + -- "TroubleIndentTop", + -- "TroubleIndentWs", + -- "TroubleNormal", + -- "TroubleNormalNC", + -- "TroublePos", + -- "TroublePreview", + -- "TroubleSource", + -- "TroubleText", + } + + for _, highlight in ipairs(highlights) do + local current_highlight = vim.api.nvim_get_hl(0, { name = highlight }) + current_highlight.bg = "#1e2030" -- color_palette.mantle + vim.api.nvim_set_hl(0, highlight, current_highlight) + end +end + return { "folke/trouble.nvim", config = function() local trouble = require("trouble") trouble.setup({}) + local utils = require("utils") + change_trouble_highlight_background() setup_autosize_callback() - require("utils").add_keymaps({ - n = { - ["x"] = { - cmd = function() - is_trouble_window = true - trouble.toggle({ - mode = "diagnostics", - focus = true, - }) - end - }, - ["ls"] = { - cmd = function() - is_trouble_window = true - trouble.toggle({ - mode = "symbols", - focus = true, - }) - end - }, - ["ll"] = { - cmd = function() - is_trouble_window = true - trouble.toggle({ - mode = "loclist", - focus = true, - }) - end - }, - ["lq"] = { - cmd = function() - is_trouble_window = true - trouble.toggle({ - mode = "quickfix", - focus = true, - }) - end - }, + + local function toggle_trouble_mode(mode_to_toggle) + is_trouble_window = true + trouble.toggle({ + mode = mode_to_toggle, + focus = true, + }) + end + + local commands = { + { + keys = "x", + mode = "diagnostics" + }, + { + keys = "ls", + mode = "symbols" + }, + { + keys = "ll", + mode = "loclist" + }, + { + keys = "lq", + mode = "quickfix" + }, + } + + local keymaps = { n = {} } + for _, command in ipairs(commands) do + keymaps.n["" .. command.keys] = { + cmd = function() + toggle_trouble_mode(command.mode) + end } - }) + end + utils.add_keymaps(keymaps) end }