From 5671236dba44270b3001ed82de050c242f0b3c04 Mon Sep 17 00:00:00 2001 From: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com> Date: Fri, 30 Jun 2023 23:11:18 +0800 Subject: [PATCH 1/2] feat(utils): auto-refresh builtin palette on `ColorScheme` --- lua/modules/utils/init.lua | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/lua/modules/utils/init.lua b/lua/modules/utils/init.lua index 1df349d68..b5c2368a3 100644 --- a/lua/modules/utils/init.lua +++ b/lua/modules/utils/init.lua @@ -29,12 +29,30 @@ local M = {} ---@field crust string ---@field none "NONE" ----@type palette +---@type nil|palette local palette = nil +-- Indicates if the autocmd for refreshing the palette has already been registered +-- [status variable] +---@type boolean +local _has_autocmd = false + ---Initialize the palette ---@return palette local function init_palette() + -- Reinitialize the palette on event `ColorScheme` + if not _has_autocmd then + _has_autocmd = true + vim.api.nvim_create_autocmd("ColorScheme", { + group = vim.api.nvim_create_augroup("__builtin_palette", { clear = true }), + pattern = "*", + callback = function() + palette = nil + init_palette() + end, + }) + end + if not palette then palette = vim.g.colors_name:find("catppuccin") and require("catppuccin.palettes").get_palette() or { From c567cf8c9d31cfdaceb7a17b4c945320004cd8f0 Mon Sep 17 00:00:00 2001 From: Jint-lzxy <50296129+Jint-lzxy@users.noreply.github.com> Date: Sat, 1 Jul 2023 00:52:09 +0800 Subject: [PATCH 2/2] fixup! feat(utils): auto-refresh builtin palette on `ColorScheme` --- lua/modules/utils/init.lua | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lua/modules/utils/init.lua b/lua/modules/utils/init.lua index b5c2368a3..0c8634663 100644 --- a/lua/modules/utils/init.lua +++ b/lua/modules/utils/init.lua @@ -32,8 +32,7 @@ local M = {} ---@type nil|palette local palette = nil --- Indicates if the autocmd for refreshing the palette has already been registered --- [status variable] +-- Indicates if autocmd for refreshing the builtin palette has already been registered ---@type boolean local _has_autocmd = false