From be40f6b9e38926e4f21433e1f4347a7b88c35c99 Mon Sep 17 00:00:00 2001 From: Michael Chris Lopez Date: Thu, 2 Dec 2021 16:44:18 +0800 Subject: [PATCH] provide ness variant specs to runners --- lua/zenbones/shipwright/init.lua | 36 +++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/lua/zenbones/shipwright/init.lua b/lua/zenbones/shipwright/init.lua index 979a78d..6b44670 100644 --- a/lua/zenbones/shipwright/init.lua +++ b/lua/zenbones/shipwright/init.lua @@ -1,23 +1,38 @@ local M = {} -local function make_env(colorscheme) - local specs = colorscheme.specs - vim.opt.background = colorscheme.background - package.loaded[specs] = nil +local function make_specs(specs_name, ness) + local background = vim.opt.background:get() + package.loaded[specs_name] = 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 p = require(specs .. ".palette")[colorscheme.background] - local env = builder.make_env { + local p = require(specs_name .. ".palette")[colorscheme.background] + local env = { name = colorscheme.name, - specs_name = specs, - specs = require(specs), + specs_name = specs_name, p = p, background = colorscheme.background, description = colorscheme.description, term = require("zenbones.term").colors_map(p), 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 local function make_build_fn(file) @@ -62,7 +77,8 @@ local function make_runners(config) end 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") for _, colorscheme in ipairs(colorschemes) do for _, file in ipairs(runner_files) do