tokyo-night.go

  1package styles
  2
  3import "github.com/charmbracelet/glamour/v2/ansi"
  4
  5// TokyoNightStyleConfig is the tokyo night style.
  6var TokyoNightStyleConfig = ansi.StyleConfig{
  7	Document: ansi.StyleBlock{
  8		StylePrimitive: ansi.StylePrimitive{
  9			BlockPrefix: "\n",
 10			BlockSuffix: "\n",
 11			Color:       stringPtr("#a9b1d6"),
 12		},
 13		Margin: uintPtr(defaultMargin),
 14	},
 15	BlockQuote: ansi.StyleBlock{
 16		StylePrimitive: ansi.StylePrimitive{},
 17		Indent:         uintPtr(1),
 18		IndentToken:    stringPtr("│ "),
 19	},
 20	List: ansi.StyleList{
 21		StyleBlock: ansi.StyleBlock{
 22			StylePrimitive: ansi.StylePrimitive{
 23				Color: stringPtr("#a9b1d6"),
 24			},
 25		},
 26		LevelIndent: defaultListIndent,
 27	},
 28	Heading: ansi.StyleBlock{
 29		StylePrimitive: ansi.StylePrimitive{
 30			BlockSuffix: "\n",
 31			Color:       stringPtr("#bb9af7"),
 32			Bold:        boolPtr(true),
 33		},
 34	},
 35	H1: ansi.StyleBlock{
 36		StylePrimitive: ansi.StylePrimitive{
 37			Prefix: "# ",
 38			Bold:   boolPtr(true),
 39		},
 40	},
 41	H2: ansi.StyleBlock{
 42		StylePrimitive: ansi.StylePrimitive{
 43			Prefix: "## ",
 44		},
 45	},
 46	H3: ansi.StyleBlock{
 47		StylePrimitive: ansi.StylePrimitive{
 48			Prefix: "### ",
 49		},
 50	},
 51	H4: ansi.StyleBlock{
 52		StylePrimitive: ansi.StylePrimitive{
 53			Prefix: "#### ",
 54		},
 55	},
 56	H5: ansi.StyleBlock{
 57		StylePrimitive: ansi.StylePrimitive{
 58			Prefix: "##### ",
 59		},
 60	},
 61	H6: ansi.StyleBlock{
 62		StylePrimitive: ansi.StylePrimitive{
 63			Prefix: "###### ",
 64		},
 65	},
 66	Strikethrough: ansi.StylePrimitive{
 67		CrossedOut: boolPtr(true),
 68	},
 69	Emph: ansi.StylePrimitive{
 70		Italic: boolPtr(true),
 71	},
 72	Strong: ansi.StylePrimitive{
 73		Bold: boolPtr(true),
 74	},
 75	HorizontalRule: ansi.StylePrimitive{
 76		Color:  stringPtr("#565f89"),
 77		Format: "\n--------\n",
 78	},
 79	Item: ansi.StylePrimitive{
 80		BlockPrefix: "• ",
 81	},
 82	Enumeration: ansi.StylePrimitive{
 83		BlockPrefix: ". ",
 84		Color:       stringPtr("#7aa2f7"),
 85	},
 86	Task: ansi.StyleTask{
 87		StylePrimitive: ansi.StylePrimitive{},
 88		Ticked:         "[āœ“] ",
 89		Unticked:       "[ ] ",
 90	},
 91	Link: ansi.StylePrimitive{
 92		Color:     stringPtr("#7aa2f7"),
 93		Underline: boolPtr(true),
 94	},
 95	LinkText: ansi.StylePrimitive{
 96		Color: stringPtr("#2ac3de"),
 97	},
 98	Image: ansi.StylePrimitive{
 99		Color:     stringPtr("#7aa2f7"),
100		Underline: boolPtr(true),
101	},
102	ImageText: ansi.StylePrimitive{
103		Color:  stringPtr("#2ac3de"),
104		Format: "Image: {{.text}} →",
105	},
106	Code: ansi.StyleBlock{
107		StylePrimitive: ansi.StylePrimitive{
108			Color: stringPtr("#9ece6a"),
109		},
110	},
111	CodeBlock: ansi.StyleCodeBlock{
112		StyleBlock: ansi.StyleBlock{
113			StylePrimitive: ansi.StylePrimitive{
114				Color: stringPtr("#ff9e64"),
115			},
116			Margin: uintPtr(defaultMargin),
117		},
118		Chroma: &ansi.Chroma{
119			Text: ansi.StylePrimitive{
120				Color: stringPtr("#a9b1d6"),
121			},
122			Error: ansi.StylePrimitive{
123				Color:           stringPtr("#a9b1d6"),
124				BackgroundColor: stringPtr("#f7768e"),
125			},
126			Comment: ansi.StylePrimitive{
127				Color: stringPtr("#565f89"),
128			},
129			CommentPreproc: ansi.StylePrimitive{
130				Color: stringPtr("#2ac3de"),
131			},
132			Keyword: ansi.StylePrimitive{
133				Color: stringPtr("#2ac3de"),
134			},
135			KeywordReserved: ansi.StylePrimitive{
136				Color: stringPtr("#2ac3de"),
137			},
138			KeywordNamespace: ansi.StylePrimitive{
139				Color: stringPtr("#2ac3de"),
140			},
141			KeywordType: ansi.StylePrimitive{
142				Color: stringPtr("#7aa2f7"),
143			},
144			Operator: ansi.StylePrimitive{
145				Color: stringPtr("#2ac3de"),
146			},
147			Punctuation: ansi.StylePrimitive{
148				Color: stringPtr("#a9b1d6"),
149			},
150			Name: ansi.StylePrimitive{
151				Color: stringPtr("#7aa2f7"),
152			},
153			NameConstant: ansi.StylePrimitive{
154				Color: stringPtr("#bb9af7"),
155			},
156			NameBuiltin: ansi.StylePrimitive{
157				Color: stringPtr("#7aa2f7"),
158			},
159			NameTag: ansi.StylePrimitive{
160				Color: stringPtr("#2ac3de"),
161			},
162			NameAttribute: ansi.StylePrimitive{
163				Color: stringPtr("#9ece6a"),
164			},
165			NameClass: ansi.StylePrimitive{
166				Color: stringPtr("#7aa2f7"),
167			},
168			NameDecorator: ansi.StylePrimitive{
169				Color: stringPtr("#9ece6a"),
170			},
171			NameFunction: ansi.StylePrimitive{
172				Color: stringPtr("#9ece6a"),
173			},
174			LiteralNumber: ansi.StylePrimitive{},
175			LiteralString: ansi.StylePrimitive{
176				Color: stringPtr("#e0af68"),
177			},
178			LiteralStringEscape: ansi.StylePrimitive{
179				Color: stringPtr("#2ac3de"),
180			},
181			GenericDeleted: ansi.StylePrimitive{
182				Color: stringPtr("#f7768e"),
183			},
184			GenericEmph: ansi.StylePrimitive{
185				Italic: boolPtr(true),
186			},
187			GenericInserted: ansi.StylePrimitive{
188				Color: stringPtr("#9ece6a"),
189			},
190			GenericStrong: ansi.StylePrimitive{
191				Bold: boolPtr(true),
192			},
193			GenericSubheading: ansi.StylePrimitive{
194				Color: stringPtr("#bb9af7"),
195			},
196			Background: ansi.StylePrimitive{
197				BackgroundColor: stringPtr("#1a1b26"),
198			},
199		},
200	},
201	Table: ansi.StyleTable{
202		StyleBlock: ansi.StyleBlock{
203			StylePrimitive: ansi.StylePrimitive{},
204		},
205	},
206	DefinitionDescription: ansi.StylePrimitive{
207		BlockPrefix: "\n🠶 ",
208	},
209}