diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-29 10:19:01 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:16 -0300 |
| commit | ea07bb00265fce0734c752e82eb5111b750c4f71 (patch) | |
| tree | f930f89e0706180431c8def95f50298e18630f18 /src/themes/rose_pine_moon.zig | |
| parent | dfd2e318c32c267279cd1bed48e4afc54022ab99 (diff) | |
| download | pardes-ea07bb00265fce0734c752e82eb5111b750c4f71.tar.gz pardes-ea07bb00265fce0734c752e82eb5111b750c4f71.zip | |
Rosé Pine, as close to the original as pardes draws: rose_pine, rose_pine_moon, rose_pine_dawn
Every colour is the original's own, cited file:line in each theme file.
Sources:
palette; https://github.com/rose-pine/palette; ~/05-genizah/rose-pine-palette; 92af52b465ab6e47437aca223c9b8d3009a2023b
neovim port (highlight mapping, terminal colours, lualine); https://github.com/rose-pine/neovim; ~/05-genizah/rose-pine-neovim; ff483051a47e27d84bdef47703538df1ed9f4a47
Chrome moved to meet pardes's floors (text, syntax, ANSI untouched):
rose_pine: focused tag ground #1f1d2e -> #3c3a4e: 1.02:1 off the unfocused #1d1b2a, pardes needs 1.5:1 on a dark page
rose_pine: unfocused tag text #6e6a86 -> #858299: 3.27:1 on #1d1b2a, tag text needs 4.5:1 to be read and run
rose_pine: focused tag text #908caa -> #a8a5bd: 3.42:1 on #3c3a4e, tag text needs 4.5:1
rose_pine_moon: focused tag ground #2a273f -> #45415b: 1.03:1 off the unfocused #27253b, pardes needs 1.5:1 on a dark page
rose_pine_moon: unfocused tag text #6e6a86 -> #918ea3: 2.88:1 on #27253b, tag text needs 4.5:1 to be read and run
rose_pine_moon: focused tag text #908caa -> #b1afc4: 3.02:1 on #45415b, tag text needs 4.5:1
rose_pine_dawn: focused tag ground #fffaf3 -> #e2ddde: 1.02:1 off the unfocused #fdf8f1, pardes needs 1.25:1 on a light page
rose_pine_dawn: unfocused tag text #9893a5 -> #74707d: 2.82:1 on #fdf8f1, tag text needs 4.5:1 to be read and run
rose_pine_dawn: focused tag text #797593 -> #615e76: 3.27:1 on #e2ddde, tag text needs 4.5:1
Diffstat (limited to 'src/themes/rose_pine_moon.zig')
| -rw-r--r-- | src/themes/rose_pine_moon.zig | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/src/themes/rose_pine_moon.zig b/src/themes/rose_pine_moon.zig new file mode 100644 index 00000000..f90975f1 --- /dev/null +++ b/src/themes/rose_pine_moon.zig @@ -0,0 +1,104 @@ +//! Rosé Pine Moon: Rosé Pine, as close to the original as pardes can draw it. +//! Every value is the original's own, cited on its line (path:line key); the +//! chrome pardes needs and the original lacks is derived from its palette. +//! Sources: +//! palette; url https://github.com/rose-pine/palette; genizah ~/05-genizah/rose-pine-palette; commit 92af52b465ab6e47437aca223c9b8d3009a2023b +//! neovim port (highlight mapping, terminal colours, lualine); url https://github.com/rose-pine/neovim; genizah ~/05-genizah/rose-pine-neovim; commit ff483051a47e27d84bdef47703538df1ed9f4a47 +//! Tags: the window bar (StatusLine / StatusLineNC, or mode-line / mode-line-inactive). +//! Adjusted to meet pardes's floors (chrome only; text, syntax and ANSI are untouched): +//! - focused tag ground #2a273f -> #45415b: 1.03:1 off the unfocused #27253b, pardes needs 1.5:1 on a dark page +//! - unfocused tag text #6e6a86 -> #918ea3: 2.88:1 on #27253b, tag text needs 4.5:1 to be read and run +//! - focused tag text #908caa -> #b1afc4: 3.02:1 on #45415b, tag text needs 4.5:1 +//! Upstream notes: Highlight mapping: rose-pine/neovim with default options +//! (variant auto, extend_background_behind_borders true, transparency false, +//! dim_inactive_windows false, groups defaults from lua/rose-pine/config.lua). +//! blend = N groups are composited at runtime by utilities.blend(bg, +//! palette.base, N/100): each channel floor(clamp(a*fg+(1-a)*bg)+0.5); I +//! computed selection_bg (Visual iris@15), search_bg (Search gold@20) and +//! status_nc_bg (StatusLineNC surface@60 over base) that way; inputs in the +//! cites. Palette: palette.json (the build input, build.js:3) has only the 12 +//! base roles. highlight_low/med/high come from the older source/index.ts +//! (which agrees with the neovim port for these, but whose dawn text 575279 is +//! stale vs palette.json and the port's 464261). leaf and _nc exist only in the +//! neovim port. Terminal colours: the neovim port's own +//! vim.g.terminal_color_0..15 (enable.terminal defaults true); bright = normal +//! for 1-7, 0 = overlay, 8 = subtle, 7/15 = text. Note cyan is rose, not foam, +//! in the port. modified = Changed fg (groups.git_change = rose), the port's +//! git 'changed' colour (also GitSignsChange/SignChange). keyword: Keyword = +//! pine exists directly (Statement is also pine). constant: Constant gold; +//! Boolean differs (rose). +pub const theme = .{ + .name = "rose_pine_moon", + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:111 Normal bg = ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:25 moon.base + .bg = .{ 0x23, 0x21, 0x36 }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:111 Normal fg = ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:30 moon.text + .fg = .{ 0xe0, 0xde, 0xf4 }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:146 Visual bg = ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:36 moon.iris, blend = 15 -> composited over palette.base #232136 at alpha 0.15 by utilities.blend (~/05-genizah/rose-pine-neovim/lua/rose-pine/utilities.lua:55, called at ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1176) = #3b3551 + .sel_bg = .{ 0x3b, 0x35, 0x51 }, + // the original keeps text colours over its selection; its text colour + .sel_fg = .{ 0xe0, 0xde, 0xf4 }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:137 StatusLineNC bg = groups.panel = "surface" (~/05-genizah/rose-pine-neovim/lua/rose-pine/config.lua:45) -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:26 moon.surface, blend = 60 -> composited over palette.base #232136 at alpha 0.60 by utilities.blend (~/05-genizah/rose-pine-neovim/lua/rose-pine/utilities.lua:55, called at ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1176) = #27253b + .tag_bg = .{ 0x27, 0x25, 0x3b }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:137 StatusLineNC fg = ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:28 moon.muted #6e6a86, adjusted + .tag_fg = .{ 0x91, 0x8e, 0xa3 }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:136 StatusLine bg = groups.panel = "surface" (~/05-genizah/rose-pine-neovim/lua/rose-pine/config.lua:45) -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:26 moon.surface #2a273f, adjusted + .tag_active_bg = .{ 0x45, 0x41, 0x5b }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:136 StatusLine fg = ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:29 moon.subtle #908caa, adjusted + .tag_active_fg = .{ 0xb1, 0xaf, 0xc4 }, + // the focused grip: ~/05-genizah/rose-pine-neovim/lua/lualine/themes/rose-pine.lua:11 lualine theme normal.a bg = p.rose -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:33 moon.rose + .box = .{ 0xea, 0x9a, 0x97 }, + // derived: the grip at rest, the accent #ea9a97 faded toward the unfocused tag #27253b as far as 1.6:1 off it (0.26 of the way) + .box_dim = .{ 0x5a, 0x43, 0x53 }, + // an unsaved grip: the original's warning colour, ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:159 DiagnosticWarn fg = groups.warn = "gold" (~/05-genizah/rose-pine-neovim/lua/rose-pine/config.lua:51) -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:32 moon.gold + .box_dirty = .{ 0xf6, 0xc1, 0x77 }, + // derived: the column grip, the original's type colour, ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:223 Type fg = ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:35 moon.foam + .column_box = .{ 0x9c, 0xcf, 0xd8 }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:200 Keyword fg = ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:34 moon.pine + .kw = .{ 0x3e, 0x8f, 0xb0 }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:219 String fg = ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:32 moon.gold + .str = .{ 0xf6, 0xc1, 0x77 }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:209 Number fg = ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:32 moon.gold + .num = .{ 0xf6, 0xc1, 0x77 }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:188 Comment fg = ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:29 moon.subtle + .comment = .{ 0x90, 0x8c, 0xaa }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:106 LineNr fg = ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:28 moon.muted + .lineno = .{ 0x6e, 0x6a, 0x86 }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:88 CursorLineNr fg = ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:30 moon.text + .lineno_active = .{ 0xe0, 0xde, 0xf4 }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:120 PmenuSbar bg = groups.panel = "surface" (~/05-genizah/rose-pine-neovim/lua/rose-pine/config.lua:45) -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:26 moon.surface + .scroll_track = .{ 0x2a, 0x27, 0x3f }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:122 PmenuThumb bg = ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:28 moon.muted + .scroll_thumb = .{ 0x6e, 0x6a, 0x86 }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:153 WinSeparator fg = groups.border = "muted" (~/05-genizah/rose-pine-neovim/lua/rose-pine/config.lua:43) -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:28 moon.muted + .border = .{ 0x6e, 0x6a, 0x86 }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:129 Search bg = ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:32 moon.gold, blend = 20 -> composited over palette.base #232136 at alpha 0.20 by utilities.blend (~/05-genizah/rose-pine-neovim/lua/rose-pine/utilities.lua:55, called at ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1176) = #4d4143 + .search_bg = .{ 0x4d, 0x41, 0x43 }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:129 Search fg = ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:30 moon.text + .search_fg = .{ 0xe0, 0xde, 0xf4 }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:155 DiagnosticError fg = groups.error = "love" (~/05-genizah/rose-pine-neovim/lua/rose-pine/config.lua:47) -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:31 moon.love + .diagnostic_error = .{ 0xeb, 0x6f, 0x92 }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:159 DiagnosticWarn fg = groups.warn = "gold" (~/05-genizah/rose-pine-neovim/lua/rose-pine/config.lua:51) -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:32 moon.gold + .diagnostic_warning = .{ 0xf6, 0xc1, 0x77 }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:157 DiagnosticInfo fg = groups.info = "foam" (~/05-genizah/rose-pine-neovim/lua/rose-pine/config.lua:49) -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:35 moon.foam + .diagnostic_info = .{ 0x9c, 0xcf, 0xd8 }, + // ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:156 DiagnosticHint fg = groups.hint = "iris" (~/05-genizah/rose-pine-neovim/lua/rose-pine/config.lua:48) -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:36 moon.iris + .diagnostic_hint = .{ 0xc4, 0xa7, 0xe7 }, + .palette = .{ + .{ 0x39, 0x35, 0x52 }, // 0: ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1191 vim.g.terminal_color_0 = palette.overlay -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:27 moon.overlay + .{ 0xeb, 0x6f, 0x92 }, // 1: ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1193 vim.g.terminal_color_1 = palette.love -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:31 moon.love + .{ 0x3e, 0x8f, 0xb0 }, // 2: ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1195 vim.g.terminal_color_2 = palette.pine -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:34 moon.pine + .{ 0xf6, 0xc1, 0x77 }, // 3: ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1197 vim.g.terminal_color_3 = palette.gold -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:32 moon.gold + .{ 0x9c, 0xcf, 0xd8 }, // 4: ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1199 vim.g.terminal_color_4 = palette.foam -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:35 moon.foam + .{ 0xc4, 0xa7, 0xe7 }, // 5: ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1201 vim.g.terminal_color_5 = palette.iris -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:36 moon.iris + .{ 0xea, 0x9a, 0x97 }, // 6: ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1203 vim.g.terminal_color_6 = palette.rose -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:33 moon.rose + .{ 0xe0, 0xde, 0xf4 }, // 7: ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1205 vim.g.terminal_color_7 = palette.text -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:30 moon.text + .{ 0x90, 0x8c, 0xaa }, // 8: ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1192 vim.g.terminal_color_8 = palette.subtle -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:29 moon.subtle + .{ 0xeb, 0x6f, 0x92 }, // 9: ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1194 vim.g.terminal_color_9 = palette.love -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:31 moon.love + .{ 0x3e, 0x8f, 0xb0 }, // 10: ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1196 vim.g.terminal_color_10 = palette.pine -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:34 moon.pine + .{ 0xf6, 0xc1, 0x77 }, // 11: ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1198 vim.g.terminal_color_11 = palette.gold -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:32 moon.gold + .{ 0x9c, 0xcf, 0xd8 }, // 12: ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1200 vim.g.terminal_color_12 = palette.foam -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:35 moon.foam + .{ 0xc4, 0xa7, 0xe7 }, // 13: ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1202 vim.g.terminal_color_13 = palette.iris -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:36 moon.iris + .{ 0xea, 0x9a, 0x97 }, // 14: ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1204 vim.g.terminal_color_14 = palette.rose -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:33 moon.rose + .{ 0xe0, 0xde, 0xf4 }, // 15: ~/05-genizah/rose-pine-neovim/lua/rose-pine.lua:1206 vim.g.terminal_color_15 = palette.text -> ~/05-genizah/rose-pine-neovim/lua/rose-pine/palette.lua:30 moon.text + }, +}; |
