diff --git a/colors/forestbones.lua b/colors/forestbones.lua new file mode 100644 index 0000000..9ae0e06 --- /dev/null +++ b/colors/forestbones.lua @@ -0,0 +1,10 @@ +vim.g.colors_name = "forestbones" + +-- reset specs +package.loaded["forestbones"] = nil + +-- include our theme file and pass it to lush to apply +require "lush"(require "forestbones") + +local p = require("forestbones.palette")[vim.opt.background:get()] +require("zenbones.term").apply_colors(p) diff --git a/lua/forestbones/init.lua b/lua/forestbones/init.lua new file mode 100644 index 0000000..fc71782 --- /dev/null +++ b/lua/forestbones/init.lua @@ -0,0 +1,14 @@ +local lush = require "lush" +local generator = require "zenbones.specs" +local bg = vim.opt.background:get() +local p = require("forestbones.palette")[bg] + +local specs = generator.generate(p, bg, generator.get_global_config("forestbones", bg)) + +return lush.extends({ specs }).with(function() + return { + Statement { fg = p.rose }, + Special { fg = p.leaf }, + Type { fg = p.water }, + } +end) diff --git a/lua/forestbones/palette.lua b/lua/forestbones/palette.lua new file mode 100644 index 0000000..1295772 --- /dev/null +++ b/lua/forestbones/palette.lua @@ -0,0 +1,29 @@ +local util = require "zenbones.util" +local lush = require "lush" +local hsluv = lush.hsluv + +local M = {} + +M.light = util.palette_extend({ + bg = hsluv(72, 52, 96), -- base 72, 100, 98 + fg = hsluv(226.3, 24.8, 36), -- base 226.3, 24.8, 43.9 + rose = hsluv(12.7, 90.9, 59), + leaf = hsluv(96.6, 99.9, 62.6), + wood = hsluv(53.5, 100, 70.1), + water = hsluv(236.1, 86.1, 58.1), + blossom = hsluv(327.8, 67, 61.1), + sky = hsluv(151.6, 87.3, 61.5), +}, "light") + +M.dark = util.palette_extend { + bg = hsluv(232.6, 27, 20.7), + fg = hsluv(67.1, 26.4, 92), -- base: 67.1, 26.4, 80.3 + rose = hsluv(11.3, 67.5, 64.4), + leaf = hsluv(105.4, 50.2, 74.5), + wood = hsluv(62.2, 55.8, 77.6), + water = hsluv(179.5, 51, 71.8), + blossom = hsluv(339.1, 46.7, 69.8), + sky = hsluv(136.1, 45.8, 72.6), +} + +return M