provide ness variant specs to runners

This commit is contained in:
Michael Chris Lopez
2021-12-02 16:44:18 +08:00
parent b73474c1b4
commit be40f6b9e3

View File

@@ -1,23 +1,38 @@
local M = {} local M = {}
local function make_env(colorscheme) local function make_specs(specs_name, ness)
local specs = colorscheme.specs local background = vim.opt.background:get()
vim.opt.background = colorscheme.background package.loaded[specs_name] = nil
package.loaded[specs] = nil if ness == nil then
return require(specs_name)
end
vim.g[specs_name .. "_" .. background .. "ness"] = ness
local specs = require(specs_name)
vim.g[specs_name .. "_" .. background .. "ness"] = nil
return specs
end
local function make_env(colorscheme)
local specs_name = colorscheme.specs
local builder = require "shipwright.builder" local builder = require "shipwright.builder"
local p = require(specs .. ".palette")[colorscheme.background] local p = require(specs_name .. ".palette")[colorscheme.background]
local env = builder.make_env { local env = {
name = colorscheme.name, name = colorscheme.name,
specs_name = specs, specs_name = specs_name,
specs = require(specs),
p = p, p = p,
background = colorscheme.background, background = colorscheme.background,
description = colorscheme.description, description = colorscheme.description,
term = require("zenbones.term").colors_map(p), term = require("zenbones.term").colors_map(p),
transform = require "zenbones.shipwright.transform", transform = require "zenbones.shipwright.transform",
} }
return env
vim.opt.background = colorscheme.background
env.specs = make_specs(specs_name)
local ness = colorscheme.background == "light" and { "dim", "bright" } or { "stark", "warm" }
env["specs_" .. ness[1]] = make_specs(specs_name, ness[1])
env["specs_" .. ness[2]] = make_specs(specs_name, ness[2])
return builder.make_env(env)
end end
local function make_build_fn(file) local function make_build_fn(file)
@@ -62,7 +77,8 @@ local function make_runners(config)
end end
M.run = function() M.run = function()
local runner_files = { "vim", "iterm", "alacritty", "kitty", "wezterm", "tmux", "lualine", "lightline" } -- local runner_files = { "vim", "iterm", "alacritty", "kitty", "wezterm", "tmux", "lualine", "lightline" }
local runner_files = { "lualine" }
local colorschemes = vim.fn.json_decode(vim.fn.readfile "colorschemes.json") local colorschemes = vim.fn.json_decode(vim.fn.readfile "colorschemes.json")
for _, colorscheme in ipairs(colorschemes) do for _, colorscheme in ipairs(colorschemes) do
for _, file in ipairs(runner_files) do for _, file in ipairs(runner_files) do