Skip to content

Commit 03a8853

Browse files
committed
fix(Color): don't use shared global state
Fixes: #362
1 parent 43b6536 commit 03a8853

13 files changed

+26
-15
lines changed

lua/github-theme/group/modules/treesitter.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ function M.get(spec, config, _opts)
88
-- being integrated.
99
local primitives = require(
1010
'github-theme.palette.primitives.'
11-
.. require('github-theme.config').theme
11+
.. spec.palette.meta.name
1212
:gsub('^github_(.-)_default$', '%1')
1313
:gsub('^github_(.-)$', '%1')
1414
)

lua/github-theme/palette/github_dark.lua

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ local scale = primitives.scale
1414
C.WHITE = C(scale.white)
1515
C.BLACK = C(scale.black)
1616
C.BG = C(scale.gray[7])
17+
local BG = C(scale.gray[7])
1718

1819
local function alpha(color, a)
19-
return color:alpha_blend(a):to_css()
20+
return BG:blend(color, a):to_css()
2021
end
2122

2223
local palette = {

lua/github-theme/palette/github_dark_colorblind.lua

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ local scale = primitives.scale
1414
C.WHITE = C(scale.white)
1515
C.BLACK = C(scale.black)
1616
C.BG = C(assert(primitives.canvas.default))
17+
local BG = C(assert(primitives.canvas.default))
1718

1819
local function alpha(color, a)
19-
return color:alpha_blend(a):to_css()
20+
return BG:blend(color, a):to_css()
2021
end
2122

2223
local palette = {

lua/github-theme/palette/github_dark_default.lua

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ local scale = primitives.scale
1313
C.WHITE = C(scale.white)
1414
C.BLACK = C(scale.black)
1515
C.BG = C(assert(primitives.canvas.default))
16+
local BG = C(assert(primitives.canvas.default))
1617

1718
local function alpha(color, a)
18-
return color:alpha_blend(a):to_css()
19+
return BG:blend(color, a):to_css()
1920
end
2021

2122
local palette = {

lua/github-theme/palette/github_dark_dimmed.lua

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ local scale = primitives.scale
1414
C.WHITE = C(scale.white)
1515
C.BLACK = C(scale.black)
1616
C.BG = C(assert(primitives.canvas.default))
17+
local BG = C(assert(primitives.canvas.default))
1718

1819
local function alpha(color, a)
19-
return color:alpha_blend(a):to_css()
20+
return BG:blend(color, a):to_css()
2021
end
2122

2223
local palette = {

lua/github-theme/palette/github_dark_high_contrast.lua

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ local scale = primitives.scale
1414
C.WHITE = C(scale.white)
1515
C.BLACK = C(scale.black)
1616
C.BG = C(assert(primitives.canvas.default))
17+
local BG = C(assert(primitives.canvas.default))
1718

1819
local function alpha(color, a)
19-
return color:alpha_blend(a):to_css()
20+
return BG:blend(color, a):to_css()
2021
end
2122

2223
local palette = {

lua/github-theme/palette/github_dark_tritanopia.lua

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ local scale = primitives.scale
1414
C.WHITE = C(scale.white)
1515
C.BLACK = C(scale.black)
1616
C.BG = C(assert(primitives.canvas.default))
17+
local BG = C(assert(primitives.canvas.default))
1718

1819
local function alpha(color, a)
19-
return color:alpha_blend(a):to_css()
20+
return BG:blend(color, a):to_css()
2021
end
2122

2223
local palette = {

lua/github-theme/palette/github_light.lua

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ local scale = primitives.scale
1414
C.WHITE = C(scale.white)
1515
C.BLACK = C(scale.black)
1616
C.BG = C(scale.white)
17+
local BG = C(scale.white)
1718

1819
local function alpha(color, a)
19-
return color:alpha_blend(a):to_css()
20+
return BG:blend(color, a):to_css()
2021
end
2122

2223
-- Temp override until Primitives are updated

lua/github-theme/palette/github_light_colorblind.lua

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ local scale = primitives.scale
1414
C.WHITE = C(scale.white)
1515
C.BLACK = C(scale.black)
1616
C.BG = C(assert(primitives.canvas.default))
17+
local BG = C(assert(primitives.canvas.default))
1718

1819
local function alpha(color, a)
19-
return color:alpha_blend(a):to_css()
20+
return BG:blend(color, a):to_css()
2021
end
2122

2223
-- Temp override until Primitives are updated

lua/github-theme/palette/github_light_default.lua

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ local scale = primitives.scale
1313
C.WHITE = C(scale.white)
1414
C.BLACK = C(scale.black)
1515
C.BG = C(assert(primitives.canvas.default))
16+
local BG = C(assert(primitives.canvas.default))
1617

1718
local function alpha(color, a)
18-
return color:alpha_blend(a):to_css()
19+
return BG:blend(color, a):to_css()
1920
end
2021

2122
-- Temp override until Primitives are updated

lua/github-theme/palette/github_light_high_contrast.lua

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ local scale = primitives.scale
1414
C.WHITE = C(scale.white)
1515
C.BLACK = C(scale.black)
1616
C.BG = C(assert(primitives.canvas.default))
17+
local BG = C(assert(primitives.canvas.default))
1718

1819
local function alpha(color, a)
19-
return color:alpha_blend(a):to_css()
20+
return BG:blend(color, a):to_css()
2021
end
2122

2223
-- Temp override until Primitives are updated

lua/github-theme/palette/github_light_tritanopia.lua

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ local scale = primitives.scale
1414
C.WHITE = C(scale.white)
1515
C.BLACK = C(scale.black)
1616
C.BG = C(assert(primitives.canvas.default))
17+
local BG = C(assert(primitives.canvas.default))
1718

1819
local function alpha(color, a)
19-
return color:alpha_blend(a):to_css()
20+
return BG:blend(color, a):to_css()
2021
end
2122

2223
-- Temp override until Primitives are updated

test/github-theme/color_spec.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -224,15 +224,15 @@ describe('Color', function()
224224
end)
225225
end)
226226

227-
describe('global state `Color.{WHITE,BLACK,BG}`', function()
227+
describe('global fields/state `Color.{WHITE,BLACK,BG}`', function()
228228
local theme = 'github_dark_dimmed'
229229
before_each(function()
230230
require('github-theme.util.reload')(true)
231231
vim.g.github_theme_force_compile = true
232232
end)
233233

234234
-- See #362
235-
it('should not disrupt palette/spec', function()
235+
it('should not disrupt colors in palette/spec/groups', function()
236236
local groups_expected = require('github-theme.group').load(theme)
237237
require('github-theme.util.reload')(true)
238238

@@ -256,7 +256,7 @@ describe('Color', function()
256256

257257
local function index(_, k)
258258
if k == 'BG' or k == 'WHITE' or k == 'BLACK' then
259-
error(debug.traceback('Color.' .. k .. ' was accessed internally'))
259+
error('Color.' .. k .. ' was accessed internally', 2)
260260
end
261261
return rawget(C --[[@as table]], k)
262262
end

0 commit comments

Comments
 (0)