summaryrefslogtreecommitdiff
path: root/src/themes/lapis.zig
blob: 46623fc2fd329a55549692c15889c64a01c815e7 (plain) (blame)
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
//! Lapis: 0x4200.cafe's illuminated manuscript (web/theme/lapis.css) as a
//! pardes theme. Ultramarine vellum, gold leaf and vermilion rubrics: the
//! page is lapis-deep, the tags lapis with their names in gold, the text
//! vellum. The site's ornament comes with it as the theme's `decor`, drawn
//! inside the existing chrome (docs/render-pipeline.md §10, decision 1):
//! a gold dot grid on the page under the pane bodies, a gold and lapis
//! checker in the scroll column, every tag a gold-framed plaque with the
//! trail's hard vermilion shadow (inside its own band: in a tiled layout a
//! shadow past it would fall on the next pane or its grip, and no ornament
//! may cover a focus indicator), the focused one striped like the code
//! window's title bar, and the file name's vermilion offset shadow.
pub const theme = .{
    .name = "lapis",
    // --lapis-deep, --vellum
    .bg = .{ 0x0a, 0x10, 0x30 },
    .fg = .{ 0xee, 0xe6, 0xd2 },
    // A gold highlight in lapis ink, as the directory's current entry.
    .sel_bg = .{ 0xe8, 0xc4, 0x6a },
    .sel_fg = .{ 0x0f, 0x1a, 0x4a },
    // --lapis, --vellum-dim
    .tag_bg = .{ 0x0f, 0x1a, 0x4a },
    .tag_fg = .{ 0x9a, 0xa6, 0xd9 },
    .tag_name_fg = .{ 0xe8, 0xc4, 0x6a },
    .tag_active_name_fg = .{ 0xf2, 0xd2, 0x80 },
    // The plaques' hover lapis, taken a step further: 1.5:1 off the tag.
    .tag_active_bg = .{ 0x25, 0x39, 0x7d },
    .tag_active_fg = .{ 0xee, 0xe6, 0xd2 },
    .box = .{ 0xe8, 0xc4, 0x6a },
    .box_dim = .{ 0x3a, 0x4a, 0x8a },
    .box_border = .{ 0x9a, 0xa6, 0xd9 },
    .box_dirty = .{ 0xff, 0x6a, 0x4a },
    .column_box = .{ 0xff, 0x6a, 0x4a },
    .column_box_dim = .{ 0x8a, 0x3a, 0x3a },
    // Rubrics: vermilion keywords, gilded strings, the code window's green
    // for numbers, vellum-dim comments.
    .kw = .{ 0xff, 0x6a, 0x4a },
    .str = .{ 0xe8, 0xc4, 0x6a },
    .num = .{ 0xe7, 0xff, 0xe0 },
    .comment = .{ 0x9a, 0xa6, 0xd9 },
    .lineno = .{ 0x5a, 0x6a, 0xa8 },
    .lineno_active = .{ 0x6a, 0x7a, 0xb8 },
    // --lapis-ink under a gold thumb (the page's scrollbar-color).
    .scroll_track = .{ 0x05, 0x0a, 0x24 },
    .scroll_thumb = .{ 0xe8, 0xc4, 0x6a },
    // Gold rules, a vermilion hairline between a tag and its text.
    .border = .{ 0xe8, 0xc4, 0x6a },
    // An empty column is the page, not a slab of gold leaf.
    .empty_col = .{ 0x0a, 0x10, 0x30 },
    .tag_rule = .{ 0xd4, 0x41, 0x2f },
    .search_bg = .{ 0x6a, 0x2a, 0x1c },
    .search_fg = .{ 0xff, 0xd0, 0xb0 },
    .diagnostic_error = .{ 0xff, 0x6a, 0x4a },
    .diagnostic_warning = .{ 0xe8, 0xc4, 0x6a },
    .diagnostic_info = .{ 0x9a, 0xc6, 0xff },
    .diagnostic_hint = .{ 0xa8, 0xe0, 0xc0 },
    .decor = .{
        .page_dots = .{ 0xe8, 0xc4, 0x6a },
        // #e8c46a22 on the site: a dot a pixel and a half across every 22.
        .page_dot_alpha = 0x22,
        .page_dot_px = 22,
        .rail_checker = .{ 0xe8, 0xc4, 0x6a },
        .rail_checker_px = 3,
        // The trail: a 2px gold frame and a 5px vermilion shadow; the code
        // window's title bar: gold and lapis stripes of 2px.
        .tag_border = .{ 0xe8, 0xc4, 0x6a },
        .tag_border_px = 2,
        .tag_shadow = .{ 0xd4, 0x41, 0x2f },
        .tag_shadow_px = 5,
        .tag_stripe = .{ 0xe8, 0xc4, 0x6a },
        .tag_stripe_px = 2,
        .title_shadow = .{ 0xd4, 0x41, 0x2f },
        .title_shadow_px = 2,
    },
    .palette = .{
        .{ 0x0a, 0x10, 0x30 },
        .{ 0xff, 0x6a, 0x4a },
        .{ 0xa8, 0xe0, 0xc0 },
        .{ 0xe8, 0xc4, 0x6a },
        .{ 0x9a, 0xc6, 0xff },
        .{ 0xd8, 0xa0, 0xe8 },
        .{ 0x8a, 0xd8, 0xd8 },
        .{ 0xee, 0xe6, 0xd2 },
        .{ 0x9a, 0xa6, 0xd9 },
        .{ 0xff, 0x9a, 0x6a },
        .{ 0xc8, 0xf0, 0xd8 },
        .{ 0xff, 0xde, 0x90 },
        .{ 0xc0, 0xdc, 0xff },
        .{ 0xe8, 0xc0, 0xf4 },
        .{ 0xb0, 0xec, 0xec },
        .{ 0xff, 0xf8, 0xe8 },
    },
};