//! Ayu Dark: Ayu, 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 (themes/*.yaml, generated src/generated/*.ts); url https://github.com/ayu-theme/ayu-colors; genizah ~/05-genizah/ayu-colors; commit b0fd979a1ddf050101b43311fa598a1a9c5f1bbc //! VS Code port (roles, terminal colours); url https://github.com/ayu-theme/vscode-ayu; genizah ~/05-genizah/vscode-ayu; commit d676974ebb245fa5a7ae4444027f72801017f1b6 //! Tags: the tab (focused = the active tab, unfocused = the inactive one). //! Adjusted to meet pardes's floors (chrome only; text, syntax and ANSI are untouched): //! - focused tag ground #10141c -> #33363b: 1.03:1 off the unfocused #0d1017, pardes needs 1.5:1 on a dark page //! - unfocused tag text #5a6378 -> #747c8e: 3.16:1 on #0d1017, tag text needs 4.5:1 to be read and run //! - rules between panes #1b1f29 -> #393b42: 1.12:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) //! - scroll thumb #2e3441 -> #313743: 1.48:1 on its track #10141c //! Upstream notes: Roles from vscode-ayu's generated ayu-dark.json (bordered //! variant, the one package.json ships as the default); syntax roles are its //! tokenColors and each is checked equal to ayu-colors syntax.* in //! src/generated/dark.ts (that file is ayu-colors' own generator output: `npx //! tsx scripts/generate-themes.ts` run in the genizah checkout; it resolves the //! OKLCH l1..l5 steps and -L/A modifiers of themes/dark.yaml). type = //! tokenColors "Entity name" (scope entity.name, covers entity.name.type; there //! is no entity.name.type rule). number and constant share syntax.constant. //! status_* from VS Code statusBar.* (one status bar: status_nc_* null). //! tabline_* from tab.*; tabline_fill = editorGroupHeader.tabsBackground. Alpha //! composited over editor.background (selection, line numbers, cursorline, //! split, scrollbar thumb). scroll_track null: VS Code has no track key //! (transparent over the editor). search_fg, selection_fg null: not set. //! info/hint null: neither vscode-ayu nor ayu-colors defines an info/hint //! colour (VS Code falls back to its own defaults). accent = focusBorder = //! common.accent.tint. ansi is vscode-ayu's terminal.ansi* //! (src/template.ts:458-473: normal = syntax.* darken(0.1) except green = //! vcs.added, black/white/brightBlack from a fixed table at template.ts:5), //! which differs from ayu-colors' own terminal.* section (listed in palette as //! terminal.*). palette = every colour of src/generated/dark.ts; alpha entries //! composited over editor.bg (editor.*) or ui.bg (others); skipped shadows: //! ui.panel.shadow, ui.popup.shadow. pub const theme = .{ .name = "ayu_dark", // ~/05-genizah/vscode-ayu/ayu-dark.json:106 editor.background; source ~/05-genizah/ayu-colors/src/generated/dark.ts:146 editor.bg #10141c .bg = .{ 0x10, 0x14, 0x1c }, // ~/05-genizah/vscode-ayu/ayu-dark.json:107 editor.foreground; source ~/05-genizah/ayu-colors/src/generated/dark.ts:128 editor.fg #bfbdb6 .fg = .{ 0xbf, 0xbd, 0xb6 }, // ~/05-genizah/vscode-ayu/ayu-dark.json:112 editor.selectionBackground #3388ff40 composited over editor.background #10141c (~/05-genizah/vscode-ayu/ayu-dark.json:106 editor.background) .sel_bg = .{ 0x19, 0x31, 0x55 }, // the original keeps text colours over its selection; its text colour .sel_fg = .{ 0xbf, 0xbd, 0xb6 }, // ~/05-genizah/vscode-ayu/ayu-dark.json:102 tab.inactiveBackground; source ~/05-genizah/ayu-colors/src/generated/dark.ts:163 ui.bg #0d1017 .tag_bg = .{ 0x0d, 0x10, 0x17 }, // ~/05-genizah/vscode-ayu/ayu-dark.json:103 tab.inactiveForeground; source ~/05-genizah/ayu-colors/src/generated/dark.ts:149 ui.fg #5a6378 #5a6378, adjusted .tag_fg = .{ 0x74, 0x7c, 0x8e }, // ~/05-genizah/vscode-ayu/ayu-dark.json:96 tab.activeBackground; source ~/05-genizah/ayu-colors/src/generated/dark.ts:146 editor.bg #10141c #10141c, adjusted .tag_active_bg = .{ 0x33, 0x36, 0x3b }, // ~/05-genizah/vscode-ayu/ayu-dark.json:97 tab.activeForeground; source ~/05-genizah/ayu-colors/src/generated/dark.ts:128 editor.fg #bfbdb6 .tag_active_fg = .{ 0xbf, 0xbd, 0xb6 }, // the focused grip: ~/05-genizah/vscode-ayu/ayu-dark.json:4 focusBorder [also tab.activeBorderTop]; source ~/05-genizah/ayu-colors/src/generated/dark.ts:167 common.accent.tint #e6b450 .box = .{ 0xe6, 0xb4, 0x50 }, // derived: the grip at rest, the accent #e6b450 faded toward the unfocused tag #0d1017 as far as 1.6:1 off it (0.24 of the way) .box_dim = .{ 0x41, 0x37, 0x25 }, // an unsaved grip: the original's modified colour, ~/05-genizah/vscode-ayu/ayu-dark.json:145 editorGutter.modifiedBackground [also gitDecoration.modifiedResourceForeground]; source ~/05-genizah/ayu-colors/src/generated/dark.ts:118 vcs.modified #73b8ff .box_dirty = .{ 0x73, 0xb8, 0xff }, // derived: the column grip, the original's type colour, ~/05-genizah/vscode-ayu/ayu-dark.json:622 tokenColors "Entity name" foreground; = syntax.entity (~/05-genizah/ayu-colors/src/generated/dark.ts:88 syntax.entity) .column_box = .{ 0x59, 0xc2, 0xff }, // ~/05-genizah/vscode-ayu/ayu-dark.json:460 tokenColors "Keyword" foreground; = syntax.keyword (~/05-genizah/ayu-colors/src/generated/dark.ts:92 syntax.keyword) .kw = .{ 0xff, 0x8f, 0x40 }, // ~/05-genizah/vscode-ayu/ayu-dark.json:384 tokenColors "String" foreground; = syntax.string (~/05-genizah/ayu-colors/src/generated/dark.ts:89 syntax.string) .str = .{ 0xaa, 0xd9, 0x4c }, // ~/05-genizah/vscode-ayu/ayu-dark.json:404 tokenColors "Number" foreground; = syntax.constant (~/05-genizah/ayu-colors/src/generated/dark.ts:95 syntax.constant) .num = .{ 0xd2, 0xa6, 0xff }, // ~/05-genizah/vscode-ayu/ayu-dark.json:374 tokenColors "Comment" foreground; = syntax.comment (~/05-genizah/ayu-colors/src/generated/dark.ts:94 syntax.comment) .comment = .{ 0x5a, 0x66, 0x73 }, // ~/05-genizah/vscode-ayu/ayu-dark.json:108 editorLineNumber.foreground #5a6378a6 composited over editor.background #10141c (~/05-genizah/vscode-ayu/ayu-dark.json:106 editor.background) [gutter has no own bg, so editor bg] .lineno = .{ 0x40, 0x47, 0x58 }, // ~/05-genizah/vscode-ayu/ayu-dark.json:109 editorLineNumber.activeForeground [gutter has no own bg, so editor bg] .lineno_active = .{ 0x5a, 0x63, 0x78 }, // derived: none in the original; the page .scroll_track = .{ 0x10, 0x14, 0x1c }, // ~/05-genizah/vscode-ayu/ayu-dark.json:44 scrollbarSlider.background #5a637866 composited over editor.background #10141c (~/05-genizah/vscode-ayu/ayu-dark.json:106 editor.background) #2e3441, adjusted .scroll_thumb = .{ 0x31, 0x37, 0x43 }, // ~/05-genizah/vscode-ayu/ayu-dark.json:92 editorGroup.border; source ~/05-genizah/ayu-colors/src/generated/dark.ts:150 ui.line #1b1f29 #1b1f29, adjusted .border = .{ 0x39, 0x3b, 0x42 }, // ~/05-genizah/vscode-ayu/ayu-dark.json:119 editor.findMatchBackground; source ~/05-genizah/ayu-colors/src/generated/dark.ts:135 editor.findMatch.active #4c4126 .search_bg = .{ 0x4c, 0x41, 0x26 }, // derived: the original keeps text colours over a match; the page's text, whichever reads better on it .search_fg = .{ 0xbf, 0xbd, 0xb6 }, // ~/05-genizah/vscode-ayu/ayu-dark.json:143 editorError.foreground; source ~/05-genizah/ayu-colors/src/generated/dark.ts:170 common.error #d95757 .diagnostic_error = .{ 0xd9, 0x57, 0x57 }, // ~/05-genizah/vscode-ayu/ayu-dark.json:144 editorWarning.foreground; source ~/05-genizah/ayu-colors/src/generated/dark.ts:167 common.accent.tint #e6b450 .diagnostic_warning = .{ 0xe6, 0xb4, 0x50 }, .palette = .{ .{ 0x1b, 0x1f, 0x29 }, // 0: ~/05-genizah/vscode-ayu/ayu-dark.json:264 terminal.ansiBlack .{ 0xf0, 0x6b, 0x73 }, // 1: ~/05-genizah/vscode-ayu/ayu-dark.json:265 terminal.ansiRed .{ 0x70, 0xbf, 0x56 }, // 2: ~/05-genizah/vscode-ayu/ayu-dark.json:266 terminal.ansiGreen .{ 0xfd, 0xb0, 0x4c }, // 3: ~/05-genizah/vscode-ayu/ayu-dark.json:267 terminal.ansiYellow .{ 0x4f, 0xbf, 0xff }, // 4: ~/05-genizah/vscode-ayu/ayu-dark.json:268 terminal.ansiBlue .{ 0xd0, 0xa1, 0xff }, // 5: ~/05-genizah/vscode-ayu/ayu-dark.json:269 terminal.ansiMagenta .{ 0x93, 0xe2, 0xc8 }, // 6: ~/05-genizah/vscode-ayu/ayu-dark.json:270 terminal.ansiCyan .{ 0xc7, 0xc7, 0xc7 }, // 7: ~/05-genizah/vscode-ayu/ayu-dark.json:271 terminal.ansiWhite .{ 0x68, 0x68, 0x68 }, // 8: ~/05-genizah/vscode-ayu/ayu-dark.json:272 terminal.ansiBrightBlack .{ 0xf0, 0x71, 0x78 }, // 9: ~/05-genizah/vscode-ayu/ayu-dark.json:273 terminal.ansiBrightRed .{ 0xaa, 0xd9, 0x4c }, // 10: ~/05-genizah/vscode-ayu/ayu-dark.json:274 terminal.ansiBrightGreen .{ 0xff, 0xb4, 0x54 }, // 11: ~/05-genizah/vscode-ayu/ayu-dark.json:275 terminal.ansiBrightYellow .{ 0x59, 0xc2, 0xff }, // 12: ~/05-genizah/vscode-ayu/ayu-dark.json:276 terminal.ansiBrightBlue .{ 0xd2, 0xa6, 0xff }, // 13: ~/05-genizah/vscode-ayu/ayu-dark.json:277 terminal.ansiBrightMagenta .{ 0x95, 0xe6, 0xcb }, // 14: ~/05-genizah/vscode-ayu/ayu-dark.json:278 terminal.ansiBrightCyan .{ 0xff, 0xff, 0xff }, // 15: ~/05-genizah/vscode-ayu/ayu-dark.json:279 terminal.ansiBrightWhite }, };