From 4f8c33cf5f194e45b3885b396a99e6eb98ab8e1f Mon Sep 17 00:00:00 2001 From: Aaron Pham Date: Mon, 26 Aug 2024 01:11:05 -0400 Subject: [PATCH] refactor: move highlights to groups with fg and bg (#226) Signed-off-by: Aaron Pham --- lua/avante/highlights.lua | 48 +++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/lua/avante/highlights.lua b/lua/avante/highlights.lua index 3785ae7..9b4477a 100644 --- a/lua/avante/highlights.lua +++ b/lua/avante/highlights.lua @@ -2,15 +2,17 @@ local api = vim.api local Config = require("avante.config") -local M = { - TITLE = "AvanteTitle", - REVERSED_TITLE = "AvanteReversedTitle", - SUBTITLE = "AvanteSubtitle", - REVERSED_SUBTITLE = "AvanteReversedSubtitle", - THIRD_TITLE = "AvanteThirdTitle", - REVERSED_THIRD_TITLE = "AvanteReversedThirdTitle", +local H = { + TITLE = { name = "AvanteTitle", fg = "#1e222a", bg = "#98c379" }, + REVERSED_TITLE = { name = "AvanteReversedTitle", fg = "#98c379" }, + SUBTITLE = { name = "AvanteSubtitle", fg = "#1e222a", bg = "#56b6c2" }, + REVERSED_SUBTITLE = { name = "AvanteReversedSubtitle", fg = "#56b6c2" }, + THIRD_TITLE = { name = "AvanteThirdTitle", fg = "#ABB2BF", bg = "#353B45" }, + REVERSED_THIRD_TITLE = { name = "AvanteReversedThirdTitle", fg = "#353B45" }, } +local M = {} + M.input_ns = api.nvim_create_namespace("avante_input") M.hint_ns = api.nvim_create_namespace("avante_hint") @@ -24,24 +26,11 @@ M.setup = function() local normal_float = api.nvim_get_hl(0, { name = "NormalFloat" }) if Config.behaviour.auto_set_highlight_group then - if not has_set_colors(M.TITLE) then - api.nvim_set_hl(0, M.TITLE, { fg = "#1e222a", bg = "#98c379" }) - end - if not has_set_colors(M.REVERSED_TITLE) then - api.nvim_set_hl(0, M.REVERSED_TITLE, { fg = "#98c379" }) - end - if not has_set_colors(M.SUBTITLE) then - api.nvim_set_hl(0, M.SUBTITLE, { fg = "#1e222a", bg = "#56b6c2" }) - end - if not has_set_colors(M.REVERSED_SUBTITLE) then - api.nvim_set_hl(0, M.REVERSED_SUBTITLE, { fg = "#56b6c2" }) - end - if not has_set_colors(M.THIRD_TITLE) then - api.nvim_set_hl(0, M.THIRD_TITLE, { fg = "#ABB2BF", bg = "#353B45" }) - end - if not has_set_colors(M.REVERSED_THIRD_TITLE) then - api.nvim_set_hl(0, M.REVERSED_THIRD_TITLE, { fg = "#353B45" }) - end + vim.iter(H):each(function(_, hl) + if not has_set_colors(hl.name) then + api.nvim_set_hl(0, hl.name, { fg = hl.fg, bg = hl.bg or nil }) + end + end) end api.nvim_set_hl(M.hint_ns, "NormalFloat", { fg = normal_float.fg, bg = normal_float.bg }) @@ -50,4 +39,13 @@ M.setup = function() api.nvim_set_hl(M.input_ns, "FloatBorder", { fg = normal.fg, bg = normal.bg }) end +setmetatable(M, { + __index = function(t, k) + if H[k] ~= nil then + return H[k].name + end + return t[k] + end, +}) + return M