▍ humdrum codex / glint v1.0.2
license AGPL-3.0
4.1 KB raw
 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
package theme

import "github.com/charmbracelet/lipgloss"

// Flexoki by Steph Ango (https://stephango.com/flexoki). Accent hexes use the
// 400 variants on dark backgrounds and the 600 variants on light, per Flexoki's
// guidance. The role assignments follow the glint highlighting model: prose at
// base, markup muted, color reserved for headings, code, links, list markers,
// comments, and a highlight background; bold/italic use the higher-contrast
// Emphasis tone.

// FlexokiDark is the Flexoki dark variant: warm near-black paper, soft prose.
func FlexokiDark() Theme {
	link := lipgloss.Color("#3AA99F") // cyan-400
	return Theme{
		Name:         "flexoki-dark",
		GlamourStyle: "dark",
		Background:   lipgloss.Color("#100F0F"), // black
		Text:         lipgloss.Color("#CECDC3"), // base-200 — prose
		Emphasis:     lipgloss.Color("#E6E4D9"), // base-100 — brighter for bold/italic
		Muted:        lipgloss.Color("#575653"), // base-700 — markup, well faded on black
		Heading:      lipgloss.Color("#4385BE"), // blue-400
		Code:         lipgloss.Color("#879A39"), // green-400
		Link:         link,
		Wikilink:     link,                      // merged into Link
		ListMarker:   lipgloss.Color("#CE5D97"), // magenta-400
		Blockquote:   lipgloss.Color("#878580"), // base-500 — quote marker/border
		Comment:      lipgloss.Color("#DA702C"), // orange-400 — visible meta
		Accent:       lipgloss.Color("#D0A215"), // yellow-400
		Highlight:    lipgloss.Color("#3A3517"), // deep olive — ==highlight== bg
		Spell:        lipgloss.Color("#D14D41"), // red-400 — misspell undercurl
		StatusFg:     lipgloss.Color("#100F0F"),
		StatusBg:     lipgloss.Color("#4385BE"),
		SelFg:        lipgloss.Color("#100F0F"),
		SelBg:        lipgloss.Color("#D0A215"),
		Pointer:      lipgloss.Color("#CE5D97"),
	}
}

// FlexokiLight is the Flexoki light variant: cream paper, near-black prose.
func FlexokiLight() Theme {
	link := lipgloss.Color("#24837B") // cyan-600
	return Theme{
		Name:         "flexoki-light",
		GlamourStyle: "light",
		Background:   lipgloss.Color("#FFFCF0"), // paper
		Text:         lipgloss.Color("#1C1B1A"), // base-950 — prose (leaves room below for Emphasis)
		Emphasis:     lipgloss.Color("#100F0F"), // black — darker for bold/italic
		Muted:        lipgloss.Color("#B7B5AC"), // base-300 — markup, well faded on paper
		Heading:      lipgloss.Color("#205EA6"), // blue-600
		Code:         lipgloss.Color("#66800B"), // green-600
		Link:         link,
		Wikilink:     link,                      // merged into Link
		ListMarker:   lipgloss.Color("#A02F6F"), // magenta-600
		Blockquote:   lipgloss.Color("#6F6E69"), // base-600 — quote marker/border
		Comment:      lipgloss.Color("#BC5215"), // orange-600 — visible meta
		Accent:       lipgloss.Color("#AD8301"), // yellow-600
		Highlight:    lipgloss.Color("#F0E6BE"), // pale yellow — ==highlight== bg
		Spell:        lipgloss.Color("#AF3029"), // red-600 — misspell undercurl
		StatusFg:     lipgloss.Color("#FFFCF0"),
		StatusBg:     lipgloss.Color("#205EA6"),
		SelFg:        lipgloss.Color("#FFFCF0"),
		SelBg:        lipgloss.Color("#AD8301"),
		Pointer:      lipgloss.Color("#A02F6F"),
	}
}

// Charm is a charm.land / charmbracelet-brand themed dark palette.
func Charm() Theme {
	link := lipgloss.Color("#5DD5FF")
	return Theme{
		Name:         "charm",
		GlamourStyle: "dark",
		Background:   lipgloss.Color("#16161E"),
		Text:         lipgloss.Color("#DDDDE6"),
		Emphasis:     lipgloss.Color("#FFFDF5"),
		Muted:        lipgloss.Color("#6C6C8A"),
		Heading:      lipgloss.Color("#FF5FAF"),
		Code:         lipgloss.Color("#00FFA3"),
		Link:         link,
		Wikilink:     link,
		ListMarker:   lipgloss.Color("#FF5FAF"),
		Blockquote:   lipgloss.Color("#6C6C8A"),
		Comment:      lipgloss.Color("#FFB454"),
		Accent:       lipgloss.Color("#FFD500"),
		Highlight:    lipgloss.Color("#3A2E4D"),
		Spell:        lipgloss.Color("#FF5F87"), // pink-red — misspell undercurl
		StatusFg:     lipgloss.Color("#16161E"),
		StatusBg:     lipgloss.Color("#6B50FF"),
		SelFg:        lipgloss.Color("#16161E"),
		SelBg:        lipgloss.Color("#FF5FAF"),
		Pointer:      lipgloss.Color("#00FFA3"),
	}
}