From 8b55833db646f0acb5481ee21f98a426da4a93e9 Mon Sep 17 00:00:00 2001 From: tang donghai Date: Sun, 25 Aug 2024 00:53:07 +0800 Subject: [PATCH] feat: add support of light theme (#195) --- lua/avante/config.lua | 4 ++++ lua/avante/highlights.lua | 27 +++++++++++++++++++-------- lua/avante/sidebar.lua | 4 ++-- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/lua/avante/config.lua b/lua/avante/config.lua index e511521..32d58b2 100644 --- a/lua/avante/config.lua +++ b/lua/avante/config.lua @@ -123,6 +123,10 @@ M.defaults = { hints = { enabled = true, }, + --- @class AvanteThemeConfig + --- @field theme "light" | "dark" + --- @type string + theme = "dark", } ---@type avante.Config diff --git a/lua/avante/highlights.lua b/lua/avante/highlights.lua index 1bd2d31..c698899 100644 --- a/lua/avante/highlights.lua +++ b/lua/avante/highlights.lua @@ -1,12 +1,13 @@ local api = vim.api +local Config = require("avante.config") local M = { TITLE = "AvanteTitle", REVERSED_TITLE = "AvanteReversedTitle", SUBTITLE = "AvanteSubtitle", REVERSED_SUBTITLE = "AvanteReversedSubtitle", - THRIDTITLE = "AvanteThirdTitle", - REVERSED_THRIDTITLE = "AvanteReversedThirdTitle", + THIRDTITLE = "AvanteThirdTitle", + REVERSED_THIRDTITLE = "AvanteReversedThirdTitle", REVERSED_NORMAL = "AvanteReversedNormal", } @@ -18,12 +19,22 @@ M.setup = function() local normal_float = api.nvim_get_hl(0, { name = "NormalFloat" }) api.nvim_set_hl(0, M.REVERSED_NORMAL, { fg = normal.bg }) - api.nvim_set_hl(0, M.TITLE, { fg = "#1e222a", bg = "#98c379" }) - api.nvim_set_hl(0, M.REVERSED_TITLE, { fg = "#98c379" }) - api.nvim_set_hl(0, M.SUBTITLE, { fg = "#1e222a", bg = "#56b6c2" }) - api.nvim_set_hl(0, M.REVERSED_SUBTITLE, { fg = "#56b6c2" }) - api.nvim_set_hl(0, M.THRIDTITLE, { fg = "#ABB2BF", bg = "#353B45" }) - api.nvim_set_hl(0, M.REVERSED_THRIDTITLE, { fg = "#353B45" }) + + if Config.defaults.theme == "light" then + api.nvim_set_hl(0, M.TITLE, { fg = "#1e222a", bg = "#98c379" }) + api.nvim_set_hl(0, M.REVERSED_TITLE, { fg = "#98c379" }) + api.nvim_set_hl(0, M.SUBTITLE, { fg = "#1e222a", bg = "#7998c3" }) + api.nvim_set_hl(0, M.REVERSED_SUBTITLE, { fg = "#7998c3" }) + api.nvim_set_hl(0, M.THIRDTITLE, { fg = "#1e222a", bg = "#a479c3" }) + api.nvim_set_hl(0, M.REVERSED_THIRDTITLE, { fg = "#a479c3" }) + else + api.nvim_set_hl(0, M.TITLE, { fg = "#1e222a", bg = "#98c379" }) + api.nvim_set_hl(0, M.REVERSED_TITLE, { fg = "#98c379" }) + api.nvim_set_hl(0, M.SUBTITLE, { fg = "#1e222a", bg = "#56b6c2" }) + api.nvim_set_hl(0, M.REVERSED_SUBTITLE, { fg = "#56b6c2" }) + api.nvim_set_hl(0, M.THIRDTITLE, { fg = "#ABB2BF", bg = "#353B45" }) + api.nvim_set_hl(0, M.REVERSED_THIRDTITLE, { fg = "#353B45" }) + end api.nvim_set_hl(M.hint_ns, "NormalFloat", { fg = normal_float.fg, bg = normal_float.bg }) diff --git a/lua/avante/sidebar.lua b/lua/avante/sidebar.lua index 734e719..f1caca3 100644 --- a/lua/avante/sidebar.lua +++ b/lua/avante/sidebar.lua @@ -431,8 +431,8 @@ function Sidebar:render_input_container() self.input_container.winid, self.input_container.bufnr, header_text, - Highlights.THRIDTITLE, - Highlights.REVERSED_THRIDTITLE + Highlights.THIRDTITLE, + Highlights.REVERSED_THIRDTITLE ) end