Skip to content

Commit

Permalink
fix(flavour): respect terminal's background
Browse files Browse the repository at this point in the history
  • Loading branch information
nullchilly committed Apr 12, 2024
1 parent c536623 commit 5b99e53
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 28 deletions.
46 changes: 19 additions & 27 deletions lua/catppuccin/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -114,40 +114,32 @@ 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

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)
Expand Down
2 changes: 1 addition & 1 deletion lua/catppuccin/lib/compiler.lua
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down

0 comments on commit 5b99e53

Please sign in to comment.