craftzdog.solarized-osaka.nvim/lua/solarized-osaka/extra/alacritty.lua
Takuya Matsuyama 0df74ef0ed refactor(colors): Source every color from the palette and drop darken
Point the last computed colors at real tokens so nothing is derived by
blending anymore:

- barbar inactive labels take the new 600 tier, which reads dimmer than
  the 500 accent and, unlike 700, still brightens under the vivid style
- notify borders take the 900 tier, and the debug border takes base02
- black was a blend of the background toward pure black, a value that
  appeared nowhere in the palette; it is base04, so replace it outright
- border was aliased to black, leaving it invisible against the
  background in the dark style; it is now base02, matching WinSeparator

With no callers left, darken and blend go, and with them the mutable
util.bg they relied on -- a shared global whose value depended on which
style had been resolved last.

Every highlight group is unchanged by the black removal. The barbar and
notify groups do shift slightly, since a token can never reproduce a
blend toward the background exactly; they were chosen to read correctly
rather than to match the old values.

Light gains from this: black resolved to a muddy #cac4b5 that measured
1.85:1 on statusline mode chips, and base04 lifts that to 3.21:1. The
same change makes terminal color0 white in the light style, completing
an inversion that already had color7 resolving to a dark value.
2026-08-11 15:38:54 +09:00

57 lines
1 KiB
Lua

local util = require("solarized-osaka.util")
local M = {}
--- @param colors ColorScheme
function M.generate(colors)
local alacrittyColors = {}
for k, v in pairs(colors) do
if type(v) == "string" then
alacrittyColors[k] = v:gsub("^#", "0x")
end
end
local alacritty = util.template(
[[
# solarized-osaka Alacritty Colors
colors:
# Default colors
primary:
background: '${bg}'
foreground: '${fg}'
# Normal colors
normal:
black: '${base04}'
red: '${red}'
green: '${green}'
yellow: '${yellow}'
blue: '${blue}'
magenta: '${magenta}'
cyan: '${cyan}'
white: '${base0}'
# Bright colors
bright:
black: '${bg}'
red: '${red}'
green: '${green}'
yellow: '${yellow}'
blue: '${blue}'
magenta: '${magenta}'
cyan: '${cyan}'
white: '${fg}'
indexed_colors:
- { index: 16, color: '${orange}' }
- { index: 17, color: '${red300}' }
]],
alacrittyColors
)
return alacritty
end
return M