Skip to content

Commit

Permalink
fix(mapper): remove unnecessary globals (#529)
Browse files Browse the repository at this point in the history
  • Loading branch information
LordMZTE authored Jul 4, 2023
1 parent 1289437 commit c75562c
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 37 deletions.
62 changes: 25 additions & 37 deletions lua/catppuccin/lib/mapper.lua
Original file line number Diff line number Diff line change
@@ -1,39 +1,12 @@
local M = {}

local function get_integrations()
local integrations = O["integrations"]
local final_integrations = {}

for integration in pairs(integrations) do
local cot = false
if type(integrations[integration]) == "table" then
if integrations[integration]["enabled"] == true then cot = true end
else
if integrations[integration] == true then cot = true end
end

if cot then
final_integrations = vim.tbl_deep_extend(
"force",
final_integrations,
require("catppuccin.groups.integrations." .. integration).get()
)
end
end

return final_integrations
end

function M.apply(flavour)
flavour = flavour or require("catppuccin").flavour
-- Borrowing global var
_G._O = O
_G._C = C
_G._U = U

_G.O = require("catppuccin").options
_G.C = require("catppuccin.palettes").get_palette(flavour)
_G.U = require "catppuccin.utils.colors"
local _O, _C, _U = O, C, U -- Borrowing global var (setfenv doesn't work with require)
O = require("catppuccin").options
C = require("catppuccin.palettes").get_palette(flavour)
U = require "catppuccin.utils.colors"

C.none = "NONE"

Expand All @@ -51,20 +24,35 @@ function M.apply(flavour)
local theme = {}
theme.syntax = require("catppuccin.groups.syntax").get()
theme.editor = require("catppuccin.groups.editor").get()
theme.integrations = get_integrations() -- plugins
local final_integrations = {}

for integration in pairs(O.integrations) do
local cot = false
if type(O.integrations[integration]) == "table" then
if O.integrations[integration].enabled == true then cot = true end
else
if O.integrations[integration] == true then cot = true end
end

if cot then
final_integrations = vim.tbl_deep_extend(
"force",
final_integrations,
require("catppuccin.groups.integrations." .. integration).get()
)
end
end
theme.integrations = final_integrations -- plugins
theme.terminal = require("catppuccin.groups.terminal").get() -- terminal colors
local user_highlights = require("catppuccin").options.highlight_overrides
local user_highlights = O.highlight_overrides
if type(user_highlights[flavour]) == "function" then user_highlights[flavour] = user_highlights[flavour](C) end
theme.custom_highlights = vim.tbl_deep_extend(
"keep",
user_highlights[flavour] or {},
type(user_highlights.all) == "function" and user_highlights.all(C) or user_highlights.all or {}
)

-- Returning global var
_G.O = _G._O
_G.C = _G._C
_G.U = _G._U
O, C, U = _O, _C, _U -- Returning global var

return theme
end
Expand Down
7 changes: 7 additions & 0 deletions vim.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,13 @@ globals:
args:
- type: function

C:
property: full-write
O:
property: full-write
U:
property: full-write

C.rosewater:
type: string
property: read-only
Expand Down

0 comments on commit c75562c

Please sign in to comment.