nvim: add lupandimbones colorscheme

This commit is contained in:
2026-03-27 00:00:41 +01:00
parent 34fd4bd6c9
commit ac0480b08e

View File

@@ -0,0 +1,55 @@
local colors_name = "lupandimbones"
vim.g.colors_name = colors_name -- Required when defining a colorscheme
local lush = require "lush"
local hsluv = lush.hsluv -- Human-friendly hsl
local util = require "zenbones.util"
local bg = vim.o.background
-- Define a palette. Use `palette_extend` to fill unspecified colors
local palette
if bg == "light" then
palette = util.palette_extend({
bg = hsluv "#ebeee8",
fg = hsluv "#1f212e",
rose = hsluv "#9d6948",
leaf = hsluv "#66824a",
wood = hsluv "#bd720f",
water = hsluv "#3a7878",
blossom = hsluv "#70675c",
sky = hsluv "#463da9",
}, bg)
else
palette = util.palette_extend({
bg = hsluv "#0d0d0c",
fg = hsluv "#5c6570",
rose = hsluv "#814c31",
leaf = hsluv "#526241",
wood = hsluv "#d78c42",
water = hsluv "#3a7878",
blossom = hsluv "#70675c",
sky = hsluv "#584b9b",
}, bg)
end
-- Generate the lush specs using the generator util
local generator = require "zenbones.specs"
local base_specs = generator.generate(palette, bg, generator.get_global_config(colors_name, bg))
-- Optionally extend specs using Lush
local specs = lush.extends({ base_specs }).with(function()
return {
Statement { base_specs.Statement, fg = palette.rose },
String { fg = palette.leaf },
Special { fg = palette.water },
Type { fg = palette.sky, gui = "italic" },
Delimiter { fg = palette.blossom },
}
end)
-- Pass the specs to lush to apply
lush(specs)
-- Optionally set term colors
require("zenbones.term").apply_colors(palette)