dev (formatter): formatted with StyLua utils/

dev-doc
Pocco81 3 years ago
parent 685a90ad9a
commit 69ef80d89d

@ -1,7 +1,7 @@
local M = {}
function M.available_commands()
return vim.tbl_keys(require("catppuccino.core.list_cs"))
return vim.tbl_keys(require("catppuccino.core.list_cs"))
end
return M

@ -1,28 +1,28 @@
local M = {}
local function color_is_bright(r, g, b)
-- Counting the perceptive luminance - human eye favors green color
local luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255
if luminance > 0.5 then
return true -- Bright colors, black font
else
return false -- Dark colors, white font
end
-- Counting the perceptive luminance - human eye favors green color
local luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255
if luminance > 0.5 then
return true -- Bright colors, black font
else
return false -- Dark colors, white font
end
end
function M.hex2rgb(hex)
return tonumber("0x"..hex:sub(1,2)), tonumber("0x"..hex:sub(3,4)), tonumber("0x"..hex:sub(5,6))
return tonumber("0x" .. hex:sub(1, 2)), tonumber("0x" .. hex:sub(3, 4)), tonumber("0x" .. hex:sub(5, 6))
end
function M.assert_brightness(color)
local hex = color:gsub("#", "")
local r = M.hex2rgb(string.sub(hex, 1, 2))
local g = M.hex2rgb(string.sub(hex, 3, 4))
local b = M.hex2rgb(string.sub(hex, 5, 6))
local hex = color:gsub("#", "")
local r = M.hex2rgb(string.sub(hex, 1, 2))
local g = M.hex2rgb(string.sub(hex, 3, 4))
local b = M.hex2rgb(string.sub(hex, 5, 6))
if (color_is_bright(tonumber(r), tonumber(g), tonumber(b)) == true) then
if color_is_bright(tonumber(r), tonumber(g), tonumber(b)) == true then
return true -- bright
end
end
return false -- dull
end

@ -24,310 +24,310 @@ local hsluv = {}
local hexChars = "0123456789abcdef"
local distance_line_from_origin = function(line)
return math.abs(line.intercept) / math.sqrt((line.slope ^ 2) + 1)
return math.abs(line.intercept) / math.sqrt((line.slope ^ 2) + 1)
end
local length_of_ray_until_intersect = function(theta, line)
return line.intercept / (math.sin(theta) - line.slope * math.cos(theta))
return line.intercept / (math.sin(theta) - line.slope * math.cos(theta))
end
hsluv.get_bounds = function(l)
local result = {}
local sub2
local sub1 = ((l + 16) ^ 3) / 1560896
if sub1 > hsluv.epsilon then
sub2 = sub1
else
sub2 = l / hsluv.kappa
end
for i = 1, 3 do
local m1 = hsluv.m[i][1]
local m2 = hsluv.m[i][2]
local m3 = hsluv.m[i][3]
for t = 0, 1 do
local top1 = (284517 * m1 - 94839 * m3) * sub2
local top2 = (838422 * m3 + 769860 * m2 + 731718 * m1) * l * sub2 - 769860 * t * l
local bottom = (632260 * m3 - 126452 * m2) * sub2 + 126452 * t
table.insert(result, {slope = top1 / bottom, intercept = top2 / bottom})
end
end
return result
local result = {}
local sub2
local sub1 = ((l + 16) ^ 3) / 1560896
if sub1 > hsluv.epsilon then
sub2 = sub1
else
sub2 = l / hsluv.kappa
end
for i = 1, 3 do
local m1 = hsluv.m[i][1]
local m2 = hsluv.m[i][2]
local m3 = hsluv.m[i][3]
for t = 0, 1 do
local top1 = (284517 * m1 - 94839 * m3) * sub2
local top2 = (838422 * m3 + 769860 * m2 + 731718 * m1) * l * sub2 - 769860 * t * l
local bottom = (632260 * m3 - 126452 * m2) * sub2 + 126452 * t
table.insert(result, { slope = top1 / bottom, intercept = top2 / bottom })
end
end
return result
end
hsluv.max_safe_chroma_for_l = function(l)
local bounds = hsluv.get_bounds(l)
local min = 1.7976931348623157e+308
local bounds = hsluv.get_bounds(l)
local min = 1.7976931348623157e+308
for i = 1, 6 do
local length = distance_line_from_origin(bounds[i])
if length >= 0 then
min = math.min(min, length)
end
end
return min
for i = 1, 6 do
local length = distance_line_from_origin(bounds[i])
if length >= 0 then
min = math.min(min, length)
end
end
return min
end
hsluv.max_safe_chroma_for_lh = function(l, h)
local hrad = h / 360 * math.pi * 2
local bounds = hsluv.get_bounds(l)
local min = 1.7976931348623157e+308
local hrad = h / 360 * math.pi * 2
local bounds = hsluv.get_bounds(l)
local min = 1.7976931348623157e+308
for i = 1, 6 do
local bound = bounds[i]
local length = length_of_ray_until_intersect(hrad, bound)
if length >= 0 then
min = math.min(min, length)
end
end
return min
for i = 1, 6 do
local bound = bounds[i]
local length = length_of_ray_until_intersect(hrad, bound)
if length >= 0 then
min = math.min(min, length)
end
end
return min
end
hsluv.dot_product = function(a, b)
local sum = 0
for i = 1, 3 do
sum = sum + a[i] * b[i]
end
return sum
local sum = 0
for i = 1, 3 do
sum = sum + a[i] * b[i]
end
return sum
end
hsluv.from_linear = function(c)
if c <= 0.0031308 then
return 12.92 * c
else
return 1.055 * (c ^ 0.416666666666666685) - 0.055
end
if c <= 0.0031308 then
return 12.92 * c
else
return 1.055 * (c ^ 0.416666666666666685) - 0.055
end
end
hsluv.to_linear = function(c)
if c > 0.04045 then
return ((c + 0.055) / 1.055) ^ 2.4
else
return c / 12.92
end
if c > 0.04045 then
return ((c + 0.055) / 1.055) ^ 2.4
else
return c / 12.92
end
end
hsluv.xyz_to_rgb = function(tuple)
return {
hsluv.from_linear(hsluv.dot_product(hsluv.m[1], tuple)),
hsluv.from_linear(hsluv.dot_product(hsluv.m[2], tuple)),
hsluv.from_linear(hsluv.dot_product(hsluv.m[3], tuple))
}
return {
hsluv.from_linear(hsluv.dot_product(hsluv.m[1], tuple)),
hsluv.from_linear(hsluv.dot_product(hsluv.m[2], tuple)),
hsluv.from_linear(hsluv.dot_product(hsluv.m[3], tuple)),
}
end
hsluv.rgb_to_xyz = function(tuple)
local rgbl = {hsluv.to_linear(tuple[1]), hsluv.to_linear(tuple[2]), hsluv.to_linear(tuple[3])}
return {
hsluv.dot_product(hsluv.minv[1], rgbl),
hsluv.dot_product(hsluv.minv[2], rgbl),
hsluv.dot_product(hsluv.minv[3], rgbl)
}
local rgbl = { hsluv.to_linear(tuple[1]), hsluv.to_linear(tuple[2]), hsluv.to_linear(tuple[3]) }
return {
hsluv.dot_product(hsluv.minv[1], rgbl),
hsluv.dot_product(hsluv.minv[2], rgbl),
hsluv.dot_product(hsluv.minv[3], rgbl),
}
end
hsluv.y_to_l = function(Y)
if Y <= hsluv.epsilon then
return Y / hsluv.refY * hsluv.kappa
else
return 116 * ((Y / hsluv.refY) ^ 0.333333333333333315) - 16
end
if Y <= hsluv.epsilon then
return Y / hsluv.refY * hsluv.kappa
else
return 116 * ((Y / hsluv.refY) ^ 0.333333333333333315) - 16
end
end
hsluv.l_to_y = function(L)
if L <= 8 then
return hsluv.refY * L / hsluv.kappa
else
return hsluv.refY * (((L + 16) / 116) ^ 3)
end
if L <= 8 then
return hsluv.refY * L / hsluv.kappa
else
return hsluv.refY * (((L + 16) / 116) ^ 3)
end
end
hsluv.xyz_to_luv = function(tuple)
local X = tuple[1]
local Y = tuple[2]
local divider = X + 15 * Y + 3 * tuple[3]
local varU = 4 * X
local varV = 9 * Y
if divider ~= 0 then
varU = varU / divider
varV = varV / divider
else
varU = 0
varV = 0
end
local L = hsluv.y_to_l(Y)
if L == 0 then
return {0, 0, 0}
end
return {L, 13 * L * (varU - hsluv.refU), 13 * L * (varV - hsluv.refV)}
local X = tuple[1]
local Y = tuple[2]
local divider = X + 15 * Y + 3 * tuple[3]
local varU = 4 * X
local varV = 9 * Y
if divider ~= 0 then
varU = varU / divider
varV = varV / divider
else
varU = 0
varV = 0
end
local L = hsluv.y_to_l(Y)
if L == 0 then
return { 0, 0, 0 }
end
return { L, 13 * L * (varU - hsluv.refU), 13 * L * (varV - hsluv.refV) }
end
hsluv.luv_to_xyz = function(tuple)
local L = tuple[1]
local U = tuple[2]
local V = tuple[3]
if L == 0 then
return {0, 0, 0}
end
local varU = U / (13 * L) + hsluv.refU
local varV = V / (13 * L) + hsluv.refV
local Y = hsluv.l_to_y(L)
local X = 0 - (9 * Y * varU) / (((varU - 4) * varV) - varU * varV)
return {X, Y, (9 * Y - 15 * varV * Y - varV * X) / (3 * varV)}
local L = tuple[1]
local U = tuple[2]
local V = tuple[3]
if L == 0 then
return { 0, 0, 0 }
end
local varU = U / (13 * L) + hsluv.refU
local varV = V / (13 * L) + hsluv.refV
local Y = hsluv.l_to_y(L)
local X = 0 - (9 * Y * varU) / (((varU - 4) * varV) - varU * varV)
return { X, Y, (9 * Y - 15 * varV * Y - varV * X) / (3 * varV) }
end
hsluv.luv_to_lch = function(tuple)
local L = tuple[1]
local U = tuple[2]
local V = tuple[3]
local C = math.sqrt(U * U + V * V)
local H
if C < 0.00000001 then
H = 0
else
H = math.atan2(V, U) * 180.0 / 3.1415926535897932
if H < 0 then
H = 360 + H
end
end
return {L, C, H}
local L = tuple[1]
local U = tuple[2]
local V = tuple[3]
local C = math.sqrt(U * U + V * V)
local H
if C < 0.00000001 then
H = 0
else
H = math.atan2(V, U) * 180.0 / 3.1415926535897932
if H < 0 then
H = 360 + H
end
end
return { L, C, H }
end
hsluv.lch_to_luv = function(tuple)
local L = tuple[1]
local C = tuple[2]
local Hrad = tuple[3] / 360.0 * 2 * math.pi
return {L, math.cos(Hrad) * C, math.sin(Hrad) * C}
local L = tuple[1]
local C = tuple[2]
local Hrad = tuple[3] / 360.0 * 2 * math.pi
return { L, math.cos(Hrad) * C, math.sin(Hrad) * C }
end
hsluv.hsluv_to_lch = function(tuple)
local H = tuple[1]
local S = tuple[2]
local L = tuple[3]
if L > 99.9999999 then
return {100, 0, H}
end
if L < 0.00000001 then
return {0, 0, H}
end
return {L, hsluv.max_safe_chroma_for_lh(L, H) / 100 * S, H}
local H = tuple[1]
local S = tuple[2]
local L = tuple[3]
if L > 99.9999999 then
return { 100, 0, H }
end
if L < 0.00000001 then
return { 0, 0, H }
end
return { L, hsluv.max_safe_chroma_for_lh(L, H) / 100 * S, H }
end
hsluv.lch_to_hsluv = function(tuple)
local L = tuple[1]
local C = tuple[2]
local H = tuple[3]
local max_chroma = hsluv.max_safe_chroma_for_lh(L, H)
if L > 99.9999999 then
return {H, 0, 100}
end
if L < 0.00000001 then
return {H, 0, 0}
end
local L = tuple[1]
local C = tuple[2]
local H = tuple[3]
local max_chroma = hsluv.max_safe_chroma_for_lh(L, H)
if L > 99.9999999 then
return { H, 0, 100 }
end
if L < 0.00000001 then
return { H, 0, 0 }
end
return {H, C / max_chroma * 100, L}
return { H, C / max_chroma * 100, L }
end
hsluv.hpluv_to_lch = function(tuple)
local H = tuple[1]
local S = tuple[2]
local L = tuple[3]
if L > 99.9999999 then
return {100, 0, H}
end
if L < 0.00000001 then
return {0, 0, H}
end
return {L, hsluv.max_safe_chroma_for_l(L) / 100 * S, H}
local H = tuple[1]
local S = tuple[2]
local L = tuple[3]
if L > 99.9999999 then
return { 100, 0, H }
end
if L < 0.00000001 then
return { 0, 0, H }
end
return { L, hsluv.max_safe_chroma_for_l(L) / 100 * S, H }
end
hsluv.lch_to_hpluv = function(tuple)
local L = tuple[1]
local C = tuple[2]
local H = tuple[3]
if L > 99.9999999 then
return {H, 0, 100}
end
if L < 0.00000001 then
return {H, 0, 0}
end
return {H, C / hsluv.max_safe_chroma_for_l(L) * 100, L}
local L = tuple[1]
local C = tuple[2]
local H = tuple[3]
if L > 99.9999999 then
return { H, 0, 100 }
end
if L < 0.00000001 then
return { H, 0, 0 }
end
return { H, C / hsluv.max_safe_chroma_for_l(L) * 100, L }
end
hsluv.rgb_to_hex = function(tuple)
local h = "#"
for i = 1, 3 do
local c = math.floor(tuple[i] * 255 + 0.5)
local digit2 = math.fmod(c, 16)
local x = (c - digit2) / 16
local digit1 = math.floor(x)
h = h .. string.sub(hexChars, digit1 + 1, digit1 + 1)
h = h .. string.sub(hexChars, digit2 + 1, digit2 + 1)
end
return h
local h = "#"
for i = 1, 3 do
local c = math.floor(tuple[i] * 255 + 0.5)
local digit2 = math.fmod(c, 16)
local x = (c - digit2) / 16
local digit1 = math.floor(x)
h = h .. string.sub(hexChars, digit1 + 1, digit1 + 1)
h = h .. string.sub(hexChars, digit2 + 1, digit2 + 1)
end
return h
end
hsluv.hex_to_rgb = function(hex)
hex = string.lower(hex)
local ret = {}
for i = 0, 2 do
local char1 = string.sub(hex, i * 2 + 2, i * 2 + 2)
local char2 = string.sub(hex, i * 2 + 3, i * 2 + 3)
local digit1 = string.find(hexChars, char1) - 1
local digit2 = string.find(hexChars, char2) - 1
ret[i + 1] = (digit1 * 16 + digit2) / 255.0
end
return ret
hex = string.lower(hex)
local ret = {}
for i = 0, 2 do
local char1 = string.sub(hex, i * 2 + 2, i * 2 + 2)
local char2 = string.sub(hex, i * 2 + 3, i * 2 + 3)
local digit1 = string.find(hexChars, char1) - 1
local digit2 = string.find(hexChars, char2) - 1
ret[i + 1] = (digit1 * 16 + digit2) / 255.0
end
return ret
end
hsluv.lch_to_rgb = function(tuple)
return hsluv.xyz_to_rgb(hsluv.luv_to_xyz(hsluv.lch_to_luv(tuple)))
return hsluv.xyz_to_rgb(hsluv.luv_to_xyz(hsluv.lch_to_luv(tuple)))
end
hsluv.rgb_to_lch = function(tuple)
return hsluv.luv_to_lch(hsluv.xyz_to_luv(hsluv.rgb_to_xyz(tuple)))
return hsluv.luv_to_lch(hsluv.xyz_to_luv(hsluv.rgb_to_xyz(tuple)))
end
hsluv.hsluv_to_rgb = function(tuple)
return hsluv.lch_to_rgb(hsluv.hsluv_to_lch(tuple))
return hsluv.lch_to_rgb(hsluv.hsluv_to_lch(tuple))
end
hsluv.rgb_to_hsluv = function(tuple)
return hsluv.lch_to_hsluv(hsluv.rgb_to_lch(tuple))
return hsluv.lch_to_hsluv(hsluv.rgb_to_lch(tuple))
end
hsluv.hpluv_to_rgb = function(tuple)
return hsluv.lch_to_rgb(hsluv.hpluv_to_lch(tuple))
return hsluv.lch_to_rgb(hsluv.hpluv_to_lch(tuple))
end
hsluv.rgb_to_hpluv = function(tuple)
return hsluv.lch_to_hpluv(hsluv.rgb_to_lch(tuple))
return hsluv.lch_to_hpluv(hsluv.rgb_to_lch(tuple))
end
hsluv.hsluv_to_hex = function(tuple)
return hsluv.rgb_to_hex(hsluv.hsluv_to_rgb(tuple))
return hsluv.rgb_to_hex(hsluv.hsluv_to_rgb(tuple))
end
hsluv.hpluv_to_hex = function(tuple)
return hsluv.rgb_to_hex(hsluv.hpluv_to_rgb(tuple))
return hsluv.rgb_to_hex(hsluv.hpluv_to_rgb(tuple))
end
hsluv.hex_to_hsluv = function(s)
return hsluv.rgb_to_hsluv(hsluv.hex_to_rgb(s))
return hsluv.rgb_to_hsluv(hsluv.hex_to_rgb(s))
end
hsluv.hex_to_hpluv = function(s)
return hsluv.rgb_to_hpluv(hsluv.hex_to_rgb(s))
return hsluv.rgb_to_hpluv(hsluv.hex_to_rgb(s))
end
hsluv.m = {
{3.240969941904521, -1.537383177570093, -0.498610760293},
{-0.96924363628087, 1.87596750150772, 0.041555057407175},
{0.055630079696993, -0.20397695888897, 1.056971514242878}
{ 3.240969941904521, -1.537383177570093, -0.498610760293 },
{ -0.96924363628087, 1.87596750150772, 0.041555057407175 },
{ 0.055630079696993, -0.20397695888897, 1.056971514242878 },
}
hsluv.minv = {
{0.41239079926595, 0.35758433938387, 0.18048078840183},
{0.21263900587151, 0.71516867876775, 0.072192315360733},
{0.019330818715591, 0.11919477979462, 0.95053215224966}
{ 0.41239079926595, 0.35758433938387, 0.18048078840183 },
{ 0.21263900587151, 0.71516867876775, 0.072192315360733 },
{ 0.019330818715591, 0.11919477979462, 0.95053215224966 },
}
hsluv.refY = 1.0
hsluv.refU = 0.19783000664283

@ -11,150 +11,150 @@ util.day_brightness = 0.3
---@param hex_str string hexadecimal value of a color
local hex_to_rgb = function(hex_str)
local hex = "[abcdef0-9][abcdef0-9]"
local pat = "^#(" .. hex .. ")(" .. hex .. ")(" .. hex .. ")$"
hex_str = string.lower(hex_str)
local hex = "[abcdef0-9][abcdef0-9]"
local pat = "^#(" .. hex .. ")(" .. hex .. ")(" .. hex .. ")$"
hex_str = string.lower(hex_str)
assert(string.find(hex_str, pat) ~= nil, "hex_to_rgb: invalid hex_str: " .. tostring(hex_str))
assert(string.find(hex_str, pat) ~= nil, "hex_to_rgb: invalid hex_str: " .. tostring(hex_str))
local red, green, blue = string.match(hex_str, pat)
return {tonumber(red, 16), tonumber(green, 16), tonumber(blue, 16)}
local red, green, blue = string.match(hex_str, pat)
return { tonumber(red, 16), tonumber(green, 16), tonumber(blue, 16) }
end
---@param fg string foreground color
---@param bg string background color
---@param alpha number number between 0 and 1. 0 results in bg, 1 results in fg
function util.blend(fg, bg, alpha)
bg = hex_to_rgb(bg)
fg = hex_to_rgb(fg)
bg = hex_to_rgb(bg)
fg = hex_to_rgb(fg)
local blendChannel = function(i)
local ret = (alpha * fg[i] + ((1 - alpha) * bg[i]))
return math.floor(math.min(math.max(0, ret), 255) + 0.5)
end
local blendChannel = function(i)
local ret = (alpha * fg[i] + ((1 - alpha) * bg[i]))
return math.floor(math.min(math.max(0, ret), 255) + 0.5)
end
return string.format("#%02X%02X%02X", blendChannel(1), blendChannel(2), blendChannel(3))
return string.format("#%02X%02X%02X", blendChannel(1), blendChannel(2), blendChannel(3))
end
function util.darken(hex, amount, bg)
return util.blend(hex, bg or util.bg, math.abs(amount))
return util.blend(hex, bg or util.bg, math.abs(amount))
end
function util.lighten(hex, amount, fg)
return util.blend(hex, fg or util.fg, math.abs(amount))
return util.blend(hex, fg or util.fg, math.abs(amount))
end
function util.brighten(color, percentage)
local hsl = hsluv.hex_to_hsluv(color)
local larpSpace = 100 - hsl[3]
if percentage < 0 then
larpSpace = hsl[3]
end
hsl[3] = hsl[3] + larpSpace * percentage
return hsluv.hsluv_to_hex(hsl)
local hsl = hsluv.hex_to_hsluv(color)
local larpSpace = 100 - hsl[3]
if percentage < 0 then
larpSpace = hsl[3]
end
hsl[3] = hsl[3] + larpSpace * percentage
return hsluv.hsluv_to_hex(hsl)
end
function util.invertColor(color)
if color ~= "NONE" then
local hsl = hsluv.hex_to_hsluv(color)
hsl[3] = 100 - hsl[3]
if hsl[3] < 40 then
hsl[3] = hsl[3] + (100 - hsl[3]) * util.day_brightness
end
return hsluv.hsluv_to_hex(hsl)
end
return color
if color ~= "NONE" then
local hsl = hsluv.hex_to_hsluv(color)
hsl[3] = 100 - hsl[3]
if hsl[3] < 40 then
hsl[3] = hsl[3] + (100 - hsl[3]) * util.day_brightness
end
return hsluv.hsluv_to_hex(hsl)
end
return color
end
function util.string_to_color(colors, value, default)
if not value or value == "" then
return default
end
-- If the value is a hex color code then return it
local hex = "[abcdef0-9][abcdef0-9]"
local pat = "^#" .. hex .. hex .. hex .. "$"
if string.match(value, pat) then
return value
end
local acceptable_colors = {"black", "red", "green", "blue", "magenta", "cyan", "white", "orange", "pink"}
for _, ac in ipairs(acceptable_colors) do
if string.match(value, ac) then
return colors[value]
end
end
-- Did not match anything to return default
return default
if not value or value == "" then
return default
end
-- If the value is a hex color code then return it
local hex = "[abcdef0-9][abcdef0-9]"
local pat = "^#" .. hex .. hex .. hex .. "$"
if string.match(value, pat) then
return value
end
local acceptable_colors = { "black", "red", "green", "blue", "magenta", "cyan", "white", "orange", "pink" }
for _, ac in ipairs(acceptable_colors) do
if string.match(value, ac) then
return colors[value]
end
end
-- Did not match anything to return default
return default
end
function util.highlight(group, color)
local style = color.style and "gui=" .. color.style or "gui=NONE"
local fg = color.fg and "guifg=" .. color.fg or "guifg=NONE"
local bg = color.bg and "guibg=" .. color.bg or "guibg=NONE"
local sp = color.sp and "guisp=" .. color.sp or ""
local hl = "highlight " .. group .. " " .. style .. " " .. fg .. " " .. bg .. " " .. sp
vim.cmd(hl)
if color.link then
vim.cmd("highlight! link " .. group .. " " .. color.link)
end
local style = color.style and "gui=" .. color.style or "gui=NONE"
local fg = color.fg and "guifg=" .. color.fg or "guifg=NONE"
local bg = color.bg and "guibg=" .. color.bg or "guibg=NONE"
local sp = color.sp and "guisp=" .. color.sp or ""
local hl = "highlight " .. group .. " " .. style .. " " .. fg .. " " .. bg .. " " .. sp
vim.cmd(hl)
if color.link then
vim.cmd("highlight! link " .. group .. " " .. color.link)
end
end
function util.syntax(tbl)
for group, colors in pairs(tbl) do
if (type(group) == "number") then
for inner_group, clrs in pairs(colors) do
util.highlight(inner_group, clrs)
end
else
util.highlight(group, colors)
end
end
for group, colors in pairs(tbl) do
if type(group) == "number" then
for inner_group, clrs in pairs(colors) do
util.highlight(inner_group, clrs)
end
else
util.highlight(group, colors)
end
end
end
function util.properties(tbl)
for property, value in pairs(tbl) do
vim.o[property] = value
end
for property, value in pairs(tbl) do
vim.o[property] = value
end
end
function util.terminal(theme)
g.terminal_color_0 = theme.colors.black
g.terminal_color_1 = theme.colors.red
g.terminal_color_2 = theme.colors.green
g.terminal_color_3 = theme.colors.yellow
g.terminal_color_4 = theme.colors.blue
g.terminal_color_5 = theme.colors.magenta
g.terminal_color_6 = theme.colors.cyan
g.terminal_color_7 = theme.colors.white
g.terminal_color_8 = theme.colors.black_br
g.terminal_color_9 = theme.colors.red_br
g.terminal_color_10 = theme.colors.green_br
g.terminal_color_11 = theme.colors.yellow_br
g.terminal_color_12 = theme.colors.blue_br
g.terminal_color_13 = theme.colors.magenta_br
g.terminal_color_14 = theme.colors.cyan_br
g.terminal_color_15 = theme.colors.white_br
g.terminal_color_0 = theme.colors.black
g.terminal_color_1 = theme.colors.red
g.terminal_color_2 = theme.colors.green
g.terminal_color_3 = theme.colors.yellow
g.terminal_color_4 = theme.colors.blue
g.terminal_color_5 = theme.colors.magenta
g.terminal_color_6 = theme.colors.cyan
g.terminal_color_7 = theme.colors.white
g.terminal_color_8 = theme.colors.black_br
g.terminal_color_9 = theme.colors.red_br
g.terminal_color_10 = theme.colors.green_br
g.terminal_color_11 = theme.colors.yellow_br
g.terminal_color_12 = theme.colors.blue_br
g.terminal_color_13 = theme.colors.magenta_br
g.terminal_color_14 = theme.colors.cyan_br
g.terminal_color_15 = theme.colors.white_br
end
function util.load(theme)
vim.cmd("hi clear")
if vim.fn.exists("syntax_on") then
vim.cmd("syntax reset")
end
vim.cmd("hi clear")
if vim.fn.exists("syntax_on") then
vim.cmd("syntax reset")
end
g.colors_name = "catppuccino"
g.colors_name = "catppuccino"
util.properties(theme.properties)
util.syntax(theme.base)
util.syntax(theme.integrations)
util.syntax(theme.base)
util.syntax(theme.integrations)
-- if opts.ui.terminal then
-- util.terminal(theme)
-- end
-- if opts.ui.terminal then
-- util.terminal(theme)
-- end
end
return util

Loading…
Cancel
Save