1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
//! Catppuccin Frappé: Catppuccin, 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/catppuccin/palette; genizah ~/05-genizah/catppuccin-palette; commit 07d02aa110ef9eb7e7427afca5c73ba9cf7f8ebd
//! neovim port (highlight mapping, terminal colours, lualine); url https://github.com/catppuccin/nvim; genizah ~/05-genizah/catppuccin-nvim; commit edefef779ab08ce1a4a404713e3012b0d202bd35
//! 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 #292c3c -> #454a5d: 1.00:1 off the unfocused #292c3c, pardes needs 1.5:1 on a dark page
//! - unfocused tag text #51576d -> #9093a2: 1.93:1 on #292c3c, tag text needs 4.5:1 to be read and run
//! - rules between panes #232634 -> #51566a: 1.22:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does)
//! Upstream notes: Highlight mapping: catppuccin/nvim with default options
//! (transparent_background false, float.solid/transparent false, dim_inactive
//! off, color_overrides/highlight_overrides empty, kitty false, i.e. not
//! running under kitty; under kitty the port nudges every palette blue channel
//! by +/-1, palettes/init.lua:19-28). Runtime-computed values done exactly as
//! utils/colors.lua blend (floor(clamp(a*fg+(1-a)*bg)+0.5)): cursorline and
//! search_bg; inputs in the cites. U.darken(c, a, bg) = blend(c, bg, a);
//! U.lighten(c, a, fg) = blend(c, fg, a). Terminal colours: groups/terminal.lua
//! terminal_color_0..15, but NOTE the port only applies them when term_colors =
//! true, and the default is false (init.lua:15, lib/compiler.lua:42); used
//! anyway as the port's own terminal palette. Bright 1-7 equal normal; 0 =
//! overlay0, 8 = overlay1, 5/13 = pink, 7/15 = text. palette.json also carries
//! a separate ansiColors table (the terminal ports' palette), which differs;
//! not used here. tabline_sel is TabLineSel -> link Normal. selection_fg:
//! Visual has no fg (only bold). modified = Changed fg (blue); the gitsigns
//! integration (auto-detected) instead uses GitSignsChange = C.yellow
//! (groups/integrations/gitsigns.lua:11), and neo-tree uses NeoTreeModified =
//! peach. Keyword = mauve directly (Statement also mauve). Diagnostic groups
//! are in groups/lsp.lua (merged into editor groups by lib/mapper.lua:26).
pub const theme = .{
.name = "catppuccin_frappe",
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/editor.lua:35 Normal bg = C.base (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:25)
.bg = .{ 0x30, 0x34, 0x46 },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/editor.lua:35 Normal fg = C.text (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:16)
.fg = .{ 0xc6, 0xd0, 0xf5 },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/editor.lua:107 Visual bg = C.surface1 (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:23)
.sel_bg = .{ 0x51, 0x57, 0x6d },
// the original keeps text colours over its selection; its text colour
.sel_fg = .{ 0xc6, 0xd0, 0xf5 },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/editor.lua:100 StatusLineNC bg = C.mantle (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:26)
.tag_bg = .{ 0x29, 0x2c, 0x3c },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/editor.lua:100 StatusLineNC fg = C.surface1 (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:23) #51576d, adjusted
.tag_fg = .{ 0x90, 0x93, 0xa2 },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/editor.lua:99 StatusLine bg = C.mantle (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:26) #292c3c, adjusted
.tag_active_bg = .{ 0x45, 0x4a, 0x5d },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/editor.lua:99 StatusLine fg = C.text (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:16)
.tag_active_fg = .{ 0xc6, 0xd0, 0xf5 },
// the focused grip: ~/05-genizah/catppuccin-nvim/lua/catppuccin/utils/lualine.lua:20 lualine normal.a bg = C.blue (used by lua/lualine/themes/catppuccin-frappe.lua) -> C.blue (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:14)
.box = .{ 0x8c, 0xaa, 0xee },
// derived: the grip at rest, the accent #8caaee faded toward the unfocused tag #292c3c as far as 1.6:1 off it (0.26 of the way)
.box_dim = .{ 0x43, 0x4d, 0x6a },
// an unsaved grip: the original's warning colour, ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/lsp.lua:51 DiagnosticWarn fg = warning (local warning = C.yellow at line 9) -> C.yellow (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:9)
.box_dirty = .{ 0xe5, 0xc8, 0x90 },
// derived: the column grip, the original's type colour, ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/syntax.lua:32 Type fg = C.yellow (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:9)
.column_box = .{ 0xe5, 0xc8, 0x90 },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/syntax.lua:20 Keyword fg = C.mauve (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:5)
.kw = .{ 0xca, 0x9e, 0xe6 },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/syntax.lua:8 String fg = C.green (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:10)
.str = .{ 0xa6, 0xd1, 0x89 },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/syntax.lua:10 Number fg = C.peach (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:8)
.num = .{ 0xef, 0x9f, 0x76 },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/syntax.lua:5 Comment fg = C.overlay2 (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:19)
.comment = .{ 0x94, 0x9c, 0xbb },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/editor.lua:27 LineNr fg = C.surface1 (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:23)
.lineno = .{ 0x51, 0x57, 0x6d },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/editor.lua:28 CursorLineNr fg = C.lavender (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:15)
.lineno_active = .{ 0xba, 0xbb, 0xf1 },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/editor.lua:72 PmenuSbar bg = C.surface0 (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:24)
.scroll_track = .{ 0x41, 0x45, 0x59 },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/editor.lua:73 PmenuThumb bg = C.overlay0 (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:21)
.scroll_thumb = .{ 0x73, 0x79, 0x94 },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/editor.lua:114 WinSeparator fg = C.crust (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:27) #232634, adjusted
.border = .{ 0x51, 0x56, 0x6a },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/editor.lua:91 Search bg = U.darken(C.sky, 0.30, C.base) = blend(fg sky #99d1db, bg base #303446, alpha 0.3) per ~/05-genizah/catppuccin-nvim/lua/catppuccin/utils/colors.lua:29 -> #506373
.search_bg = .{ 0x50, 0x63, 0x73 },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/editor.lua:91 Search fg = C.text (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:16)
.search_fg = .{ 0xc6, 0xd0, 0xf5 },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/lsp.lua:50 DiagnosticError fg = error (local error = C.red at line 8) -> C.red (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:6)
.diagnostic_error = .{ 0xe7, 0x82, 0x84 },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/lsp.lua:51 DiagnosticWarn fg = warning (local warning = C.yellow at line 9) -> C.yellow (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:9)
.diagnostic_warning = .{ 0xe5, 0xc8, 0x90 },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/lsp.lua:52 DiagnosticInfo fg = info (local info = C.sky at line 10) -> C.sky (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:12)
.diagnostic_info = .{ 0x99, 0xd1, 0xdb },
// ~/05-genizah/catppuccin-nvim/lua/catppuccin/groups/lsp.lua:53 DiagnosticHint fg = hint (local hint = C.teal at line 11) -> C.teal (~/05-genizah/catppuccin-nvim/lua/catppuccin/palettes/frappe.lua:11)
.diagnostic_hint = .{ 0x81, 0xc8, 0xbe },
.palette = .{
.{ 0x51, 0x57, 0x6d }, // 0: ~/05-genizah/catppuccin-palette/palette.json:1470 frappe.ansiColors.black.normal
.{ 0xe7, 0x82, 0x84 }, // 1: ~/05-genizah/catppuccin-palette/palette.json:1514 frappe.ansiColors.red.normal
.{ 0xa6, 0xd1, 0x89 }, // 2: ~/05-genizah/catppuccin-palette/palette.json:1558 frappe.ansiColors.green.normal
.{ 0xe5, 0xc8, 0x90 }, // 3: ~/05-genizah/catppuccin-palette/palette.json:1602 frappe.ansiColors.yellow.normal
.{ 0x8c, 0xaa, 0xee }, // 4: ~/05-genizah/catppuccin-palette/palette.json:1646 frappe.ansiColors.blue.normal
.{ 0xf4, 0xb8, 0xe4 }, // 5: ~/05-genizah/catppuccin-palette/palette.json:1690 frappe.ansiColors.magenta.normal
.{ 0x81, 0xc8, 0xbe }, // 6: ~/05-genizah/catppuccin-palette/palette.json:1734 frappe.ansiColors.cyan.normal
.{ 0xa5, 0xad, 0xce }, // 7: ~/05-genizah/catppuccin-palette/palette.json:1778 frappe.ansiColors.white.normal
.{ 0x62, 0x68, 0x80 }, // 8: ~/05-genizah/catppuccin-palette/palette.json:1490 frappe.ansiColors.black.bright
.{ 0xe6, 0x71, 0x72 }, // 9: ~/05-genizah/catppuccin-palette/palette.json:1534 frappe.ansiColors.red.bright
.{ 0x8e, 0xc7, 0x72 }, // 10: ~/05-genizah/catppuccin-palette/palette.json:1578 frappe.ansiColors.green.bright
.{ 0xd9, 0xba, 0x73 }, // 11: ~/05-genizah/catppuccin-palette/palette.json:1622 frappe.ansiColors.yellow.bright
.{ 0x7b, 0x9e, 0xf0 }, // 12: ~/05-genizah/catppuccin-palette/palette.json:1666 frappe.ansiColors.blue.bright
.{ 0xf2, 0xa4, 0xdb }, // 13: ~/05-genizah/catppuccin-palette/palette.json:1710 frappe.ansiColors.magenta.bright
.{ 0x5a, 0xbf, 0xb5 }, // 14: ~/05-genizah/catppuccin-palette/palette.json:1754 frappe.ansiColors.cyan.bright
.{ 0xb5, 0xbf, 0xe2 }, // 15: ~/05-genizah/catppuccin-palette/palette.json:1798 frappe.ansiColors.white.bright
},
};
|