Skip to content

Commit

Permalink
refactor(init): integration_default
Browse files Browse the repository at this point in the history
  • Loading branch information
mrtnvgr committed Jul 29, 2023
1 parent 4913a8b commit 86eb61a
Showing 1 changed file with 18 additions and 8 deletions.
26 changes: 18 additions & 8 deletions lua/catppuccin/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,21 @@ local function get_flavour(default)
return flavour or M.options.flavour or vim.g.catppuccin_flavour or M.options.background[vim.o.background]
end

local function set_default_integration_values(options, value)
options = vim.deepcopy(M.default_options)

for key, _ in pairs(options.integrations) do
local integration = options.integrations[key]
if type(integration) == "table" and integration.enabled ~= nil then
options.integrations[key].enabled = value
elseif type(integration) == "boolean" then
options.integrations[key] = value
end
end

return options
end

local did_setup = false

function M.load(flavour)
Expand All @@ -142,16 +157,11 @@ function M.setup(user_conf)
-- Parsing user config
user_conf = user_conf or {}
local options = M.default_options

if user_conf.integration_default ~= nil then
options = vim.deepcopy(M.default_options)
for key, _ in pairs(options.integrations) do
if type(options.integrations[key]) == "table" and options.integrations[key].enabled ~= nil then
options.integrations[key].enabled = user_conf.integration_default
else
options.integrations[key] = user_conf.integration_default
end
end
options = set_default_integration_values(options, user_conf.integration_default)
end

M.options = vim.tbl_deep_extend("keep", user_conf, options)
M.options.highlight_overrides.all = user_conf.custom_highlights or M.options.highlight_overrides.all

Expand Down

0 comments on commit 86eb61a

Please sign in to comment.