local utils = require "lib.utils" local oklab = require "lib.oklab" local palette = utils.get_palette() local output = [[-- autogenerated from palette.json local M = {} local function tone_set(colors) return setmetatable(colors, { __call = function(self) return self[1] end, }) end M.palette = { ]] for name, value in utils.opairs(palette) do output = output .. " " .. name .. " = tone_set {\n" for variant, variant_value in utils.opairs(value) do local color = oklab.rgb2hex(oklab.oklab2rgb(oklab.oklch2oklab(variant_value))) output = output .. " " .. (variant == "normal" and [["]] or variant .. [[ = "]]) .. color .. "\",\n" end output = output .. " },\n" end output = output .. " transparent = \"#00000000\"\n}\n\nreturn M" print(output)