66
|
1 package styles
|
|
2
|
|
3 import (
|
|
4 "fmt"
|
|
5
|
|
6 "github.com/alecthomas/chroma/v2"
|
|
7 )
|
|
8
|
|
9 var (
|
|
10 // colors used from https://github.com/primer/primitives
|
|
11 ghRed2 = "#ffa198"
|
|
12 ghRed3 = "#ff7b72"
|
|
13 ghRed9 = "#490202"
|
|
14 ghOrange2 = "#ffa657"
|
|
15 ghOrange3 = "#f0883e"
|
|
16 ghGreen1 = "#7ee787"
|
|
17 ghGreen2 = "#56d364"
|
|
18 ghGreen7 = "#0f5323"
|
|
19 ghBlue1 = "#a5d6ff"
|
|
20 ghBlue2 = "#79c0ff"
|
|
21 ghPurple2 = "#d2a8ff"
|
|
22 ghGray3 = "#8b949e"
|
|
23 ghGray4 = "#6e7681"
|
|
24 ghFgSubtle = "#6e7681"
|
|
25 ghFgDefault = "#c9d1d9"
|
|
26 ghBgDefault = "#0d1117"
|
|
27 ghDangerFg = "#f85149"
|
|
28 )
|
|
29
|
|
30 // GitHub Dark style.
|
|
31 var GitHubDark = Register(chroma.MustNewStyle("github-dark", chroma.StyleEntries{
|
|
32 // Default Token Style
|
|
33 chroma.Background: fmt.Sprintf("bg:%s %s", ghBgDefault, ghFgDefault),
|
|
34
|
|
35 chroma.LineNumbers: ghGray4,
|
|
36 // has transparency in VS Code theme as `colors.codemirror.activelineBg`
|
|
37 chroma.LineHighlight: ghGray4,
|
|
38
|
|
39 chroma.Error: ghDangerFg,
|
|
40
|
|
41 chroma.Keyword: ghRed3,
|
|
42 chroma.KeywordConstant: ghBlue2,
|
|
43 chroma.KeywordPseudo: ghBlue2,
|
|
44
|
|
45 chroma.Name: ghFgDefault,
|
|
46 chroma.NameClass: "bold " + ghOrange3,
|
|
47 chroma.NameConstant: "bold " + ghBlue2,
|
|
48 chroma.NameDecorator: "bold " + ghPurple2,
|
|
49 chroma.NameEntity: ghOrange2,
|
|
50 chroma.NameException: "bold " + ghOrange3,
|
|
51 chroma.NameFunction: "bold " + ghPurple2,
|
|
52 chroma.NameLabel: "bold " + ghBlue2,
|
|
53 chroma.NameNamespace: ghRed3,
|
|
54 chroma.NameProperty: ghBlue2,
|
|
55 chroma.NameTag: ghGreen1,
|
|
56 chroma.NameVariable: ghBlue2,
|
|
57
|
|
58 chroma.Literal: ghBlue1,
|
|
59 chroma.LiteralDate: ghBlue2,
|
|
60 chroma.LiteralStringAffix: ghBlue2,
|
|
61 chroma.LiteralStringDelimiter: ghBlue2,
|
|
62 chroma.LiteralStringEscape: ghBlue2,
|
|
63 chroma.LiteralStringHeredoc: ghBlue2,
|
|
64 chroma.LiteralStringRegex: ghBlue2,
|
|
65
|
|
66 chroma.Operator: "bold " + ghRed3,
|
|
67
|
|
68 chroma.Comment: "italic " + ghGray3,
|
|
69 chroma.CommentPreproc: "bold " + ghGray3,
|
|
70 chroma.CommentSpecial: "bold italic " + ghGray3,
|
|
71
|
|
72 chroma.Generic: ghFgDefault,
|
|
73 chroma.GenericDeleted: fmt.Sprintf("bg:%s %s", ghRed9, ghRed2),
|
|
74 chroma.GenericEmph: "italic",
|
|
75 chroma.GenericError: ghRed2,
|
|
76 chroma.GenericHeading: "bold " + ghBlue2,
|
|
77 chroma.GenericInserted: fmt.Sprintf("bg:%s %s", ghGreen7, ghGreen2),
|
|
78 chroma.GenericOutput: ghGray3,
|
|
79 chroma.GenericPrompt: ghGray3,
|
|
80 chroma.GenericStrong: "bold",
|
|
81 chroma.GenericSubheading: ghBlue2,
|
|
82 chroma.GenericTraceback: ghRed3,
|
|
83 chroma.GenericUnderline: "underline",
|
|
84
|
|
85 chroma.TextWhitespace: ghFgSubtle,
|
|
86 }))
|