feat: expose each variant as individual theme

ref #98
This commit is contained in:
mvllow 2023-02-20 18:42:47 -06:00
commit 4830f687c3
No known key found for this signature in database
6 changed files with 19 additions and 2 deletions

View file

@ -0,0 +1 @@
require('rose-pine').colorscheme({ variant = 'dawn' })

View file

@ -0,0 +1 @@
require('rose-pine').colorscheme({ variant = 'main' })

View file

@ -0,0 +1 @@
require('rose-pine').colorscheme({ variant = 'moon' })

View file

@ -31,7 +31,8 @@ local M = {}
---@field h6 string ---@field h6 string
---@class Config ---@class Config
---@field dark_variant 'main'|'moon' ---@field variant 'auto'|'main'|'moon'|'dawn'
---@field dark_variant 'main'|'moon'|'dawn'
---@field bold_vert_split boolean ---@field bold_vert_split boolean
---@field dim_nc_background boolean ---@field dim_nc_background boolean
---@field disable_background boolean ---@field disable_background boolean
@ -40,6 +41,7 @@ local M = {}
---@field groups Groups ---@field groups Groups
---@field highlight_groups table<string, any> ---@field highlight_groups table<string, any>
local defaults = { local defaults = {
variant = 'auto',
dark_variant = 'main', dark_variant = 'main',
bold_vert_split = false, bold_vert_split = false,
dim_nc_background = false, dim_nc_background = false,

View file

@ -60,5 +60,15 @@ local variants = {
}, },
} }
if options.variant == 'main' then
return variants.main
end
if options.variant == 'moon' then
return variants.moon
end
if options.variant == 'dawn' then
return variants.dawn
end
return vim.o.background == 'light' and variants.dawn return vim.o.background == 'light' and variants.dawn
or variants[options.dark_variant or 'main'] or variants[options.dark_variant or 'main']

View file

@ -65,7 +65,9 @@ Variant respects `vim.o.background`, using dawn when light and `dark_variant` wh
```lua ```lua
require('rose-pine').setup({ require('rose-pine').setup({
--- @usage 'main' | 'moon' --- @usage 'auto'|'main'|'moon'|'dawn'
variant = 'auto',
--- @usage 'main'|'moon'|'dawn'
dark_variant = 'main', dark_variant = 'main',
bold_vert_split = false, bold_vert_split = false,
dim_nc_background = false, dim_nc_background = false,