From 5b99e536fe61f4e746c0490df86ed34ff1e1d833 Mon Sep 17 00:00:00 2001 From: Null Chilly Date: Fri, 12 Apr 2024 22:09:51 +0700 Subject: [PATCH] fix(flavour): respect terminal's background --- lua/catppuccin/init.lua | 46 ++++++++++++++------------------- lua/catppuccin/lib/compiler.lua | 2 +- 2 files changed, 20 insertions(+), 28 deletions(-) diff --git a/lua/catppuccin/init.lua b/lua/catppuccin/init.lua index 85cdd1779..5bc88e487 100644 --- a/lua/catppuccin/init.lua +++ b/lua/catppuccin/init.lua @@ -114,24 +114,25 @@ function M.compile() end local function get_flavour(default) - local flavour - if default and default == M.flavour and vim.o.background ~= (M.flavour == "latte" and "light" or "dark") then - flavour = M.options.background[vim.o.background] - else - flavour = default - end - - if flavour and not M.flavours[flavour] then - vim.notify( - string.format( - "Catppuccin (error): Invalid flavour '%s', flavour must be 'latte', 'frappe', 'macchiato' or 'mocha'", - flavour - ), - vim.log.levels.ERROR - ) - flavour = nil - end - return flavour or M.options.flavour or vim.g.catppuccin_flavour or M.options.background[vim.o.background] + return default or M.options.flavour or vim.g.catppuccin_flavour or M.options.background[vim.o.background] + -- local flavour + -- if default and default == M.flavour and vim.o.background ~= (M.flavour == "latte" and "light" or "dark") then + -- flavour = M.options.background[vim.o.background] + -- else + -- flavour = default + -- end + -- + -- if flavour and not M.flavours[flavour] then + -- vim.notify( + -- string.format( + -- "Catppuccin (error): Invalid flavour '%s', flavour must be 'latte', 'frappe', 'macchiato', 'mocha', 'auto'", + -- flavour + -- ), + -- vim.log.levels.ERROR + -- ) + -- flavour = nil + -- end + -- return flavour or M.options.flavour or vim.g.catppuccin_flavour or M.options.background[vim.o.background] end local did_setup = false @@ -139,15 +140,6 @@ local did_setup = false function M.load(flavour) if M.options.flavour == "auto" then -- set colorscheme based on o:background M.options.flavour = nil -- ensure that this will only run once on startup - if not vim.api.nvim_get_option_info2("background", {}).was_set then -- wait for terminal to set o:background - vim.api.nvim_create_autocmd("OptionSet", { -- https://github.com/neovim/neovim/pull/26284 - once = true, - nested = true, - pattern = "background", - callback = function() M.load(flavour) end, - }) - return - end end if not did_setup then M.setup() end M.flavour = get_flavour(flavour) diff --git a/lua/catppuccin/lib/compiler.lua b/lua/catppuccin/lib/compiler.lua index d669564e3..b08ed0fa4 100644 --- a/lua/catppuccin/lib/compiler.lua +++ b/lua/catppuccin/lib/compiler.lua @@ -28,7 +28,7 @@ function M.compile(flavour) return string.dump(function() vim.o.termguicolors = true if vim.g.colors_name then vim.cmd("hi clear") end -vim.o.background = "%s" +-- vim.o.background = "%s" vim.g.colors_name = "catppuccin-%s" local h = vim.api.nvim_set_hl]], flavour == "latte" and "light" or "dark",