diff --git a/README.md b/README.md index 16e5ea7..321d47f 100644 --- a/README.md +++ b/README.md @@ -45,8 +45,10 @@ If you want to make use of the lua version: colorscheme zenbones-lush colorscheme zenflesh-lush -" Secret https://neovim.io colorscheme +" https://neovim.io flavor colorscheme neovim +" Rosé Pine flavor - https://rosepinetheme.com +colorscheme rosebones ``` ## [Configuration and other documentations](doc/zenbones.md) diff --git a/colors/rosebones.lua b/colors/rosebones.lua new file mode 100644 index 0000000..0132855 --- /dev/null +++ b/colors/rosebones.lua @@ -0,0 +1,14 @@ +vim.g.colors_name = "rosebones" + +local base_name = require("zenbones.util").bg_to_base_name() + +-- reset base palette and specs +package.loaded[base_name .. ".palette"] = nil +package.loaded[base_name] = nil +package.loaded["zenbones.rosebones.palette"] = nil +package.loaded["zenbones.rosebones"] = nil + +-- include our theme file and pass it to lush to apply +require "lush"(require "zenbones.rosebones") + +require("zenbones.rosebones.terminal").setup() diff --git a/doc/zenbones.md b/doc/zenbones.md index b056428..881394f 100644 --- a/doc/zenbones.md +++ b/doc/zenbones.md @@ -20,8 +20,10 @@ If you want to make use of the lua version: colorscheme zenbones-lush colorscheme zenflesh-lush -" Secret https://neovim.io colorscheme +" https://neovim.io flavor colorscheme neovim +" Rosé Pine flavor - https://rosepinetheme.com +colorscheme rosebones ``` It works pretty much the same as the first one but pretty handy when extending diff --git a/lua/zenbones/rosebones/init.lua b/lua/zenbones/rosebones/init.lua new file mode 100644 index 0000000..1bcb56e --- /dev/null +++ b/lua/zenbones/rosebones/init.lua @@ -0,0 +1,17 @@ +local lush = require "lush" + +-- modify base palette (before requiring specs) +local palette = require "zenbones.rosebones.palette" + +-- extend specs using Lush +local base_name = require("zenbones.util").bg_to_base_name() +local theme = require(base_name) + +local specs = lush.extends({ theme }).with(function() + return { + Statement { fg = palette.leaf, gui = "bold" }, + Special { fg = palette.water, gui = "italic" }, + } +end) + +return specs diff --git a/lua/zenbones/rosebones/palette.lua b/lua/zenbones/rosebones/palette.lua new file mode 100644 index 0000000..f1c1a7a --- /dev/null +++ b/lua/zenbones/rosebones/palette.lua @@ -0,0 +1,33 @@ +local lush = require "lush" +local hsl = lush.hsl + +local base_name = require("zenbones.util").bg_to_base_name() +local palette = require(base_name .. ".palette") + +if base_name == "zenbones" then + palette.bg = hsl(32, 57, 95) -- base + palette.bg_bright = palette.bg.abs_li(3).sa(6) + palette.bg_dim = palette.bg.abs_da(3) + -- palette.fg = hsl(245, 50, 91) -- text + palette.fg = hsl(3, 30, 40) -- rose, base: 3, 53, 67 + palette.rose = hsl(343, 35, 55) -- love + palette.leaf = hsl(197, 53, 34) -- pine + palette.wood = hsl(35, 81, 56) -- gold + palette.water = hsl(189, 30, 48) -- foam + palette.blossom = hsl(268, 21, 57) -- iris + palette.sky = hsl(189, 30, 48) -- foam +else + palette.bg = hsl(249, 22, 12) -- base + palette.bg_stark = palette.bg.abs_da(3).sa(8) + palette.bg_warm = hsl(246, 24, 17) -- base moon + -- palette.fg = hsl(245, 50, 91) -- text + palette.fg = hsl(2, 18, 83) -- rose, base: 2, 55, 83 + palette.rose = hsl(343, 76, 68) -- love + palette.leaf = hsl(197, 49, 38) -- pine + palette.wood = hsl(35, 88, 72) -- gold + palette.water = hsl(189, 43, 73) -- foam + palette.blossom = hsl(267, 57, 78) -- iris + palette.sky = hsl(190, 15, 73) -- foam +end + +return palette diff --git a/lua/zenbones/rosebones/terminal.lua b/lua/zenbones/rosebones/terminal.lua new file mode 100644 index 0000000..6d0afe9 --- /dev/null +++ b/lua/zenbones/rosebones/terminal.lua @@ -0,0 +1 @@ +return require(require("zenbones.util").bg_to_base_name() .. ".terminal")