arborium_theme/
builtin_generated.rs

1// Generated theme definitions - DO NOT EDIT MANUALLY.
2// This file is generated by xtask from TOML theme files.
3
4use super::{Color, Style, Theme};
5
6/// Alabaster theme.
7///
8/// Source: https://github.com/tonsky/vscode-theme-alabaster
9pub fn alabaster() -> Theme {
10    Theme {
11        name: "Alabaster".to_string(),
12        is_dark: false,
13        source_url: Some("https://github.com/tonsky/vscode-theme-alabaster".to_string()),
14        background: Some(Color::new(247, 247, 247)),
15        foreground: Some(Color::new(0, 0, 0)),
16        styles: [
17            Style::new().fg(Color::new(122, 62, 157)),
18            Style::new().fg(Color::new(122, 62, 157)),
19            Style::new().fg(Color::new(122, 62, 157)),
20            Style::new(),
21            Style::new().fg(Color::new(50, 92, 192)),
22            Style::new().fg(Color::new(50, 92, 192)),
23            Style::new().fg(Color::new(50, 92, 192)),
24            Style::new().fg(Color::new(0, 0, 0)),
25            Style::new().fg(Color::new(0, 0, 0)),
26            Style::new().fg(Color::new(0, 0, 0)),
27            Style::new().fg(Color::new(0, 0, 0)),
28            Style::new().fg(Color::new(0, 0, 0)),
29            Style::new().fg(Color::new(0, 0, 0)),
30            Style::new().fg(Color::new(0, 0, 0)),
31            Style::new().fg(Color::new(0, 0, 0)),
32            Style::new().fg(Color::new(0, 0, 0)),
33            Style::new().fg(Color::new(0, 0, 0)),
34            Style::new().fg(Color::new(0, 0, 0)),
35            Style::new().fg(Color::new(119, 119, 119)),
36            Style::new().fg(Color::new(0, 0, 0)),
37            Style::new().fg(Color::new(119, 119, 119)),
38            Style::new().fg(Color::new(119, 119, 119)),
39            Style::new().fg(Color::new(119, 119, 119)),
40            Style::new().fg(Color::new(119, 119, 119)),
41            Style::new().fg(Color::new(68, 140, 39)),
42            Style::new().fg(Color::new(119, 119, 119)),
43            Style::new().fg(Color::new(50, 92, 192)),
44            Style::new().fg(Color::new(50, 92, 192)),
45            Style::new().fg(Color::new(50, 92, 192)),
46            Style::new().fg(Color::new(50, 92, 192)),
47            Style::new().fg(Color::new(50, 92, 192)),
48            Style::new().fg(Color::new(50, 92, 192)),
49            Style::new().fg(Color::new(0, 0, 0)),
50            Style::new().fg(Color::new(122, 62, 157)),
51            Style::new().fg(Color::new(0, 0, 0)),
52            Style::new().fg(Color::new(170, 55, 49)),
53            Style::new().fg(Color::new(170, 55, 49)),
54            Style::new().fg(Color::new(50, 92, 192)),
55            Style::new().fg(Color::new(50, 92, 192)),
56            Style::new(),
57            Style::new(),
58            Style::new().fg(Color::new(122, 62, 157)),
59            Style::new().fg(Color::new(0, 0, 0)),
60            Style::new().italic(),
61            Style::new().bold(),
62            Style::new().fg(Color::new(50, 92, 192)).underline(),
63            Style::new().fg(Color::new(50, 92, 192)),
64            Style::new().fg(Color::new(119, 119, 119)),
65            Style::new().fg(Color::new(50, 92, 192)).bold(),
66            Style::new().strikethrough(),
67            Style::new().fg(Color::new(0, 0, 0)),
68            Style::new(),
69            Style::new(),
70            Style::new(),
71            Style::new().fg(Color::new(0, 0, 0)),
72            Style::new().fg(Color::new(0, 0, 0)),
73            Style::new().fg(Color::new(0, 0, 0)),
74            Style::new().fg(Color::new(0, 0, 0)),
75            Style::new().fg(Color::new(0, 0, 0)),
76            Style::new().fg(Color::new(0, 0, 0)),
77            Style::new(),
78            Style::new().fg(Color::new(68, 140, 39)),
79            Style::new().fg(Color::new(68, 140, 39)),
80            Style::new().fg(Color::new(0, 0, 0)),
81            Style::new().fg(Color::new(50, 92, 192)),
82            Style::new().fg(Color::new(50, 92, 192)),
83            Style::new().fg(Color::new(50, 92, 192)),
84            Style::new().fg(Color::new(0, 0, 0)),
85            Style::new().fg(Color::new(0, 0, 0)),
86            Style::new().fg(Color::new(68, 140, 39)),
87            Style::new(),
88            Style::new(),
89            Style::new()
90        ],
91    }
92}
93
94/// Ayu Dark theme.
95///
96/// Source: https://github.com/ayu-theme/ayu-colors
97pub fn ayu_dark() -> Theme {
98    Theme {
99        name: "Ayu Dark".to_string(),
100        is_dark: true,
101        source_url: Some("https://github.com/ayu-theme/ayu-colors".to_string()),
102        background: Some(Color::new(13, 16, 23)),
103        foreground: Some(Color::new(191, 189, 182)),
104        styles: [
105            Style::new(),
106            Style::new().fg(Color::new(210, 166, 255)),
107            Style::new().fg(Color::new(210, 166, 255)),
108            Style::new(),
109            Style::new().fg(Color::new(255, 180, 84)),
110            Style::new().fg(Color::new(255, 180, 84)),
111            Style::new().fg(Color::new(255, 180, 84)),
112            Style::new().fg(Color::new(255, 143, 64)),
113            Style::new().fg(Color::new(255, 143, 64)),
114            Style::new().fg(Color::new(255, 143, 64)),
115            Style::new().fg(Color::new(255, 143, 64)),
116            Style::new().fg(Color::new(255, 143, 64)),
117            Style::new().fg(Color::new(255, 143, 64)),
118            Style::new().fg(Color::new(255, 143, 64)),
119            Style::new().fg(Color::new(255, 143, 64)),
120            Style::new().fg(Color::new(255, 143, 64)),
121            Style::new().fg(Color::new(255, 143, 64)),
122            Style::new().fg(Color::new(255, 143, 64)),
123            Style::new().fg(Color::new(242, 150, 104)),
124            Style::new().fg(Color::new(89, 194, 255)),
125            Style::new(),
126            Style::new(),
127            Style::new(),
128            Style::new().fg(Color::new(230, 182, 115)),
129            Style::new().fg(Color::new(170, 217, 76)),
130            Style::new().fg(Color::new(149, 230, 203)),
131            Style::new().fg(Color::new(57, 186, 230)),
132            Style::new().fg(Color::new(57, 186, 230)),
133            Style::new().fg(Color::new(57, 186, 230)),
134            Style::new().fg(Color::new(89, 194, 255)),
135            Style::new().fg(Color::new(89, 194, 255)),
136            Style::new().fg(Color::new(89, 194, 255)),
137            Style::new().fg(Color::new(191, 189, 182)),
138            Style::new().fg(Color::new(255, 143, 64)),
139            Style::new().fg(Color::new(191, 189, 182)),
140            Style::new().fg(Color::new(98, 106, 115)).italic(),
141            Style::new().fg(Color::new(98, 106, 115)).italic(),
142            Style::new().fg(Color::new(255, 180, 84)),
143            Style::new().fg(Color::new(57, 186, 230)),
144            Style::new(),
145            Style::new(),
146            Style::new().fg(Color::new(210, 166, 255)),
147            Style::new().fg(Color::new(191, 189, 182)),
148            Style::new().italic(),
149            Style::new().bold(),
150            Style::new().fg(Color::new(57, 186, 230)).underline(),
151            Style::new().fg(Color::new(89, 194, 255)),
152            Style::new().fg(Color::new(149, 230, 203)),
153            Style::new().fg(Color::new(89, 194, 255)).bold(),
154            Style::new().strikethrough(),
155            Style::new().fg(Color::new(191, 189, 182)),
156            Style::new(),
157            Style::new(),
158            Style::new(),
159            Style::new().fg(Color::new(255, 143, 64)),
160            Style::new().fg(Color::new(255, 143, 64)),
161            Style::new().fg(Color::new(255, 143, 64)),
162            Style::new().fg(Color::new(255, 143, 64)),
163            Style::new().fg(Color::new(255, 143, 64)),
164            Style::new().fg(Color::new(255, 143, 64)),
165            Style::new(),
166            Style::new().fg(Color::new(170, 217, 76)),
167            Style::new().fg(Color::new(170, 217, 76)),
168            Style::new().fg(Color::new(191, 189, 182)),
169            Style::new().fg(Color::new(255, 180, 84)),
170            Style::new().fg(Color::new(89, 194, 255)),
171            Style::new().fg(Color::new(255, 180, 84)),
172            Style::new().fg(Color::new(255, 143, 64)),
173            Style::new().fg(Color::new(255, 143, 64)),
174            Style::new().fg(Color::new(170, 217, 76)),
175            Style::new(),
176            Style::new(),
177            Style::new()
178        ],
179    }
180}
181
182/// Ayu Light theme.
183///
184/// Source: https://github.com/ayu-theme/ayu-colors
185pub fn ayu_light() -> Theme {
186    Theme {
187        name: "Ayu Light".to_string(),
188        is_dark: false,
189        source_url: Some("https://github.com/ayu-theme/ayu-colors".to_string()),
190        background: Some(Color::new(250, 250, 250)),
191        foreground: Some(Color::new(92, 97, 102)),
192        styles: [
193            Style::new(),
194            Style::new().fg(Color::new(163, 122, 204)),
195            Style::new().fg(Color::new(163, 122, 204)),
196            Style::new(),
197            Style::new().fg(Color::new(242, 174, 73)),
198            Style::new().fg(Color::new(242, 174, 73)),
199            Style::new().fg(Color::new(242, 174, 73)),
200            Style::new().fg(Color::new(250, 141, 62)),
201            Style::new().fg(Color::new(250, 141, 62)),
202            Style::new().fg(Color::new(250, 141, 62)),
203            Style::new().fg(Color::new(250, 141, 62)),
204            Style::new().fg(Color::new(250, 141, 62)),
205            Style::new().fg(Color::new(250, 141, 62)),
206            Style::new().fg(Color::new(250, 141, 62)),
207            Style::new().fg(Color::new(250, 141, 62)),
208            Style::new().fg(Color::new(250, 141, 62)),
209            Style::new().fg(Color::new(250, 141, 62)),
210            Style::new().fg(Color::new(250, 141, 62)),
211            Style::new().fg(Color::new(237, 147, 102)),
212            Style::new().fg(Color::new(57, 158, 230)),
213            Style::new(),
214            Style::new(),
215            Style::new(),
216            Style::new().fg(Color::new(230, 186, 126)),
217            Style::new().fg(Color::new(134, 179, 0)),
218            Style::new().fg(Color::new(76, 191, 153)),
219            Style::new().fg(Color::new(85, 180, 212)),
220            Style::new().fg(Color::new(85, 180, 212)),
221            Style::new().fg(Color::new(85, 180, 212)),
222            Style::new().fg(Color::new(57, 158, 230)),
223            Style::new().fg(Color::new(57, 158, 230)),
224            Style::new().fg(Color::new(57, 158, 230)),
225            Style::new().fg(Color::new(92, 97, 102)),
226            Style::new().fg(Color::new(250, 141, 62)),
227            Style::new().fg(Color::new(92, 97, 102)),
228            Style::new().fg(Color::new(138, 145, 153)).italic(),
229            Style::new().fg(Color::new(138, 145, 153)).italic(),
230            Style::new().fg(Color::new(242, 174, 73)),
231            Style::new().fg(Color::new(85, 180, 212)),
232            Style::new(),
233            Style::new(),
234            Style::new().fg(Color::new(163, 122, 204)),
235            Style::new().fg(Color::new(92, 97, 102)),
236            Style::new().italic(),
237            Style::new().bold(),
238            Style::new().fg(Color::new(85, 180, 212)).underline(),
239            Style::new().fg(Color::new(57, 158, 230)),
240            Style::new().fg(Color::new(76, 191, 153)),
241            Style::new().fg(Color::new(57, 158, 230)).bold(),
242            Style::new().strikethrough(),
243            Style::new().fg(Color::new(92, 97, 102)),
244            Style::new(),
245            Style::new(),
246            Style::new(),
247            Style::new().fg(Color::new(250, 141, 62)),
248            Style::new().fg(Color::new(250, 141, 62)),
249            Style::new().fg(Color::new(250, 141, 62)),
250            Style::new().fg(Color::new(250, 141, 62)),
251            Style::new().fg(Color::new(250, 141, 62)),
252            Style::new().fg(Color::new(250, 141, 62)),
253            Style::new(),
254            Style::new().fg(Color::new(134, 179, 0)),
255            Style::new().fg(Color::new(134, 179, 0)),
256            Style::new().fg(Color::new(92, 97, 102)),
257            Style::new().fg(Color::new(242, 174, 73)),
258            Style::new().fg(Color::new(57, 158, 230)),
259            Style::new().fg(Color::new(242, 174, 73)),
260            Style::new().fg(Color::new(250, 141, 62)),
261            Style::new().fg(Color::new(250, 141, 62)),
262            Style::new().fg(Color::new(134, 179, 0)),
263            Style::new(),
264            Style::new(),
265            Style::new()
266        ],
267    }
268}
269
270/// Catppuccin Frappé theme.
271///
272/// Source: https://github.com/catppuccin/catppuccin
273pub fn catppuccin_frappe() -> Theme {
274    Theme {
275        name: "Catppuccin Frappé".to_string(),
276        is_dark: true,
277        source_url: Some("https://github.com/catppuccin/catppuccin".to_string()),
278        background: Some(Color::new(48, 52, 70)),
279        foreground: Some(Color::new(198, 208, 245)),
280        styles: [
281            Style::new().fg(Color::new(229, 200, 144)),
282            Style::new().fg(Color::new(239, 159, 118)),
283            Style::new().fg(Color::new(239, 159, 118)),
284            Style::new(),
285            Style::new().fg(Color::new(153, 209, 219)),
286            Style::new().fg(Color::new(140, 170, 238)),
287            Style::new().fg(Color::new(140, 170, 238)),
288            Style::new().fg(Color::new(202, 158, 230)),
289            Style::new().fg(Color::new(202, 158, 230)),
290            Style::new().fg(Color::new(202, 158, 230)),
291            Style::new().fg(Color::new(202, 158, 230)),
292            Style::new().fg(Color::new(202, 158, 230)),
293            Style::new().fg(Color::new(202, 158, 230)),
294            Style::new().fg(Color::new(202, 158, 230)),
295            Style::new().fg(Color::new(202, 158, 230)),
296            Style::new().fg(Color::new(202, 158, 230)),
297            Style::new().fg(Color::new(202, 158, 230)),
298            Style::new().fg(Color::new(202, 158, 230)),
299            Style::new().fg(Color::new(129, 200, 190)),
300            Style::new().fg(Color::new(140, 170, 238)),
301            Style::new().fg(Color::new(148, 156, 187)),
302            Style::new().fg(Color::new(148, 156, 187)),
303            Style::new().fg(Color::new(148, 156, 187)),
304            Style::new().fg(Color::new(244, 184, 228)),
305            Style::new().fg(Color::new(166, 209, 137)),
306            Style::new().fg(Color::new(231, 130, 132)),
307            Style::new().fg(Color::new(140, 170, 238)),
308            Style::new().fg(Color::new(140, 170, 238)),
309            Style::new().fg(Color::new(140, 170, 238)),
310            Style::new().fg(Color::new(229, 200, 144)),
311            Style::new().fg(Color::new(229, 200, 144)),
312            Style::new().fg(Color::new(229, 200, 144)),
313            Style::new().fg(Color::new(198, 208, 245)),
314            Style::new().fg(Color::new(231, 130, 132)),
315            Style::new().fg(Color::new(239, 159, 118)),
316            Style::new().fg(Color::new(115, 121, 148)),
317            Style::new().fg(Color::new(115, 121, 148)),
318            Style::new().fg(Color::new(129, 200, 190)),
319            Style::new().fg(Color::new(244, 184, 228)),
320            Style::new(),
321            Style::new(),
322            Style::new().fg(Color::new(239, 159, 118)),
323            Style::new().fg(Color::new(198, 208, 245)),
324            Style::new().italic(),
325            Style::new().bold(),
326            Style::new().fg(Color::new(140, 170, 238)).underline(),
327            Style::new().fg(Color::new(153, 209, 219)),
328            Style::new().fg(Color::new(239, 159, 118)),
329            Style::new().fg(Color::new(202, 158, 230)).bold(),
330            Style::new().strikethrough(),
331            Style::new().fg(Color::new(198, 208, 245)),
332            Style::new(),
333            Style::new(),
334            Style::new(),
335            Style::new().fg(Color::new(202, 158, 230)),
336            Style::new().fg(Color::new(202, 158, 230)),
337            Style::new().fg(Color::new(202, 158, 230)),
338            Style::new().fg(Color::new(202, 158, 230)),
339            Style::new().fg(Color::new(202, 158, 230)),
340            Style::new().fg(Color::new(202, 158, 230)),
341            Style::new(),
342            Style::new().fg(Color::new(166, 209, 137)),
343            Style::new().fg(Color::new(166, 209, 137)),
344            Style::new().fg(Color::new(198, 208, 245)),
345            Style::new().fg(Color::new(140, 170, 238)),
346            Style::new().fg(Color::new(229, 200, 144)),
347            Style::new().fg(Color::new(140, 170, 238)),
348            Style::new().fg(Color::new(202, 158, 230)),
349            Style::new().fg(Color::new(202, 158, 230)),
350            Style::new().fg(Color::new(166, 209, 137)),
351            Style::new(),
352            Style::new(),
353            Style::new()
354        ],
355    }
356}
357
358/// Catppuccin Latte theme.
359///
360/// Source: https://github.com/catppuccin/catppuccin
361pub fn catppuccin_latte() -> Theme {
362    Theme {
363        name: "Catppuccin Latte".to_string(),
364        is_dark: false,
365        source_url: Some("https://github.com/catppuccin/catppuccin".to_string()),
366        background: Some(Color::new(239, 241, 245)),
367        foreground: Some(Color::new(76, 79, 105)),
368        styles: [
369            Style::new().fg(Color::new(223, 142, 29)),
370            Style::new().fg(Color::new(254, 100, 11)),
371            Style::new().fg(Color::new(254, 100, 11)),
372            Style::new(),
373            Style::new().fg(Color::new(4, 165, 229)),
374            Style::new().fg(Color::new(30, 102, 245)),
375            Style::new().fg(Color::new(30, 102, 245)),
376            Style::new().fg(Color::new(136, 57, 239)),
377            Style::new().fg(Color::new(136, 57, 239)),
378            Style::new().fg(Color::new(136, 57, 239)),
379            Style::new().fg(Color::new(136, 57, 239)),
380            Style::new().fg(Color::new(136, 57, 239)),
381            Style::new().fg(Color::new(136, 57, 239)),
382            Style::new().fg(Color::new(136, 57, 239)),
383            Style::new().fg(Color::new(136, 57, 239)),
384            Style::new().fg(Color::new(136, 57, 239)),
385            Style::new().fg(Color::new(136, 57, 239)),
386            Style::new().fg(Color::new(136, 57, 239)),
387            Style::new().fg(Color::new(23, 146, 153)),
388            Style::new().fg(Color::new(30, 102, 245)),
389            Style::new().fg(Color::new(124, 127, 147)),
390            Style::new().fg(Color::new(124, 127, 147)),
391            Style::new().fg(Color::new(124, 127, 147)),
392            Style::new().fg(Color::new(234, 118, 203)),
393            Style::new().fg(Color::new(64, 160, 43)),
394            Style::new().fg(Color::new(210, 15, 57)),
395            Style::new().fg(Color::new(30, 102, 245)),
396            Style::new().fg(Color::new(30, 102, 245)),
397            Style::new().fg(Color::new(30, 102, 245)),
398            Style::new().fg(Color::new(223, 142, 29)),
399            Style::new().fg(Color::new(223, 142, 29)),
400            Style::new().fg(Color::new(223, 142, 29)),
401            Style::new().fg(Color::new(76, 79, 105)),
402            Style::new().fg(Color::new(210, 15, 57)),
403            Style::new().fg(Color::new(254, 100, 11)),
404            Style::new().fg(Color::new(156, 160, 176)),
405            Style::new().fg(Color::new(156, 160, 176)),
406            Style::new().fg(Color::new(23, 146, 153)),
407            Style::new().fg(Color::new(234, 118, 203)),
408            Style::new(),
409            Style::new(),
410            Style::new().fg(Color::new(254, 100, 11)),
411            Style::new().fg(Color::new(76, 79, 105)),
412            Style::new().italic(),
413            Style::new().bold(),
414            Style::new().fg(Color::new(30, 102, 245)).underline(),
415            Style::new().fg(Color::new(4, 165, 229)),
416            Style::new().fg(Color::new(254, 100, 11)),
417            Style::new().fg(Color::new(136, 57, 239)).bold(),
418            Style::new().strikethrough(),
419            Style::new().fg(Color::new(76, 79, 105)),
420            Style::new(),
421            Style::new(),
422            Style::new(),
423            Style::new().fg(Color::new(136, 57, 239)),
424            Style::new().fg(Color::new(136, 57, 239)),
425            Style::new().fg(Color::new(136, 57, 239)),
426            Style::new().fg(Color::new(136, 57, 239)),
427            Style::new().fg(Color::new(136, 57, 239)),
428            Style::new().fg(Color::new(136, 57, 239)),
429            Style::new(),
430            Style::new().fg(Color::new(64, 160, 43)),
431            Style::new().fg(Color::new(64, 160, 43)),
432            Style::new().fg(Color::new(76, 79, 105)),
433            Style::new().fg(Color::new(30, 102, 245)),
434            Style::new().fg(Color::new(223, 142, 29)),
435            Style::new().fg(Color::new(30, 102, 245)),
436            Style::new().fg(Color::new(136, 57, 239)),
437            Style::new().fg(Color::new(136, 57, 239)),
438            Style::new().fg(Color::new(64, 160, 43)),
439            Style::new(),
440            Style::new(),
441            Style::new()
442        ],
443    }
444}
445
446/// Catppuccin Macchiato theme.
447///
448/// Source: https://github.com/catppuccin/catppuccin
449pub fn catppuccin_macchiato() -> Theme {
450    Theme {
451        name: "Catppuccin Macchiato".to_string(),
452        is_dark: true,
453        source_url: Some("https://github.com/catppuccin/catppuccin".to_string()),
454        background: Some(Color::new(36, 39, 58)),
455        foreground: Some(Color::new(202, 211, 245)),
456        styles: [
457            Style::new().fg(Color::new(238, 212, 159)),
458            Style::new().fg(Color::new(245, 169, 127)),
459            Style::new().fg(Color::new(245, 169, 127)),
460            Style::new(),
461            Style::new().fg(Color::new(145, 215, 227)),
462            Style::new().fg(Color::new(138, 173, 244)),
463            Style::new().fg(Color::new(138, 173, 244)),
464            Style::new().fg(Color::new(198, 160, 246)),
465            Style::new().fg(Color::new(198, 160, 246)),
466            Style::new().fg(Color::new(198, 160, 246)),
467            Style::new().fg(Color::new(198, 160, 246)),
468            Style::new().fg(Color::new(198, 160, 246)),
469            Style::new().fg(Color::new(198, 160, 246)),
470            Style::new().fg(Color::new(198, 160, 246)),
471            Style::new().fg(Color::new(198, 160, 246)),
472            Style::new().fg(Color::new(198, 160, 246)),
473            Style::new().fg(Color::new(198, 160, 246)),
474            Style::new().fg(Color::new(198, 160, 246)),
475            Style::new().fg(Color::new(139, 213, 202)),
476            Style::new().fg(Color::new(138, 173, 244)),
477            Style::new().fg(Color::new(147, 154, 183)),
478            Style::new().fg(Color::new(147, 154, 183)),
479            Style::new().fg(Color::new(147, 154, 183)),
480            Style::new().fg(Color::new(245, 189, 230)),
481            Style::new().fg(Color::new(166, 218, 149)),
482            Style::new().fg(Color::new(237, 135, 150)),
483            Style::new().fg(Color::new(138, 173, 244)),
484            Style::new().fg(Color::new(138, 173, 244)),
485            Style::new().fg(Color::new(138, 173, 244)),
486            Style::new().fg(Color::new(238, 212, 159)),
487            Style::new().fg(Color::new(238, 212, 159)),
488            Style::new().fg(Color::new(238, 212, 159)),
489            Style::new().fg(Color::new(202, 211, 245)),
490            Style::new().fg(Color::new(237, 135, 150)),
491            Style::new().fg(Color::new(245, 169, 127)),
492            Style::new().fg(Color::new(110, 115, 141)),
493            Style::new().fg(Color::new(110, 115, 141)),
494            Style::new().fg(Color::new(139, 213, 202)),
495            Style::new().fg(Color::new(245, 189, 230)),
496            Style::new(),
497            Style::new(),
498            Style::new().fg(Color::new(245, 169, 127)),
499            Style::new().fg(Color::new(202, 211, 245)),
500            Style::new().italic(),
501            Style::new().bold(),
502            Style::new().fg(Color::new(138, 173, 244)).underline(),
503            Style::new().fg(Color::new(145, 215, 227)),
504            Style::new().fg(Color::new(245, 169, 127)),
505            Style::new().fg(Color::new(198, 160, 246)).bold(),
506            Style::new().strikethrough(),
507            Style::new().fg(Color::new(202, 211, 245)),
508            Style::new(),
509            Style::new(),
510            Style::new(),
511            Style::new().fg(Color::new(198, 160, 246)),
512            Style::new().fg(Color::new(198, 160, 246)),
513            Style::new().fg(Color::new(198, 160, 246)),
514            Style::new().fg(Color::new(198, 160, 246)),
515            Style::new().fg(Color::new(198, 160, 246)),
516            Style::new().fg(Color::new(198, 160, 246)),
517            Style::new(),
518            Style::new().fg(Color::new(166, 218, 149)),
519            Style::new().fg(Color::new(166, 218, 149)),
520            Style::new().fg(Color::new(202, 211, 245)),
521            Style::new().fg(Color::new(138, 173, 244)),
522            Style::new().fg(Color::new(238, 212, 159)),
523            Style::new().fg(Color::new(138, 173, 244)),
524            Style::new().fg(Color::new(198, 160, 246)),
525            Style::new().fg(Color::new(198, 160, 246)),
526            Style::new().fg(Color::new(166, 218, 149)),
527            Style::new(),
528            Style::new(),
529            Style::new()
530        ],
531    }
532}
533
534/// Catppuccin Mocha theme.
535///
536/// Source: https://github.com/catppuccin/catppuccin
537pub fn catppuccin_mocha() -> Theme {
538    Theme {
539        name: "Catppuccin Mocha".to_string(),
540        is_dark: true,
541        source_url: Some("https://github.com/catppuccin/catppuccin".to_string()),
542        background: Some(Color::new(30, 30, 46)),
543        foreground: Some(Color::new(205, 214, 244)),
544        styles: [
545            Style::new().fg(Color::new(249, 226, 175)),
546            Style::new().fg(Color::new(250, 179, 135)),
547            Style::new().fg(Color::new(250, 179, 135)),
548            Style::new(),
549            Style::new().fg(Color::new(137, 220, 235)),
550            Style::new().fg(Color::new(137, 180, 250)),
551            Style::new().fg(Color::new(137, 180, 250)),
552            Style::new().fg(Color::new(203, 166, 247)),
553            Style::new().fg(Color::new(203, 166, 247)),
554            Style::new().fg(Color::new(203, 166, 247)),
555            Style::new().fg(Color::new(203, 166, 247)),
556            Style::new().fg(Color::new(203, 166, 247)),
557            Style::new().fg(Color::new(203, 166, 247)),
558            Style::new().fg(Color::new(203, 166, 247)),
559            Style::new().fg(Color::new(203, 166, 247)),
560            Style::new().fg(Color::new(203, 166, 247)),
561            Style::new().fg(Color::new(203, 166, 247)),
562            Style::new().fg(Color::new(203, 166, 247)),
563            Style::new().fg(Color::new(148, 226, 213)),
564            Style::new().fg(Color::new(137, 180, 250)),
565            Style::new().fg(Color::new(147, 153, 178)),
566            Style::new().fg(Color::new(147, 153, 178)),
567            Style::new().fg(Color::new(147, 153, 178)),
568            Style::new().fg(Color::new(245, 194, 231)),
569            Style::new().fg(Color::new(166, 227, 161)),
570            Style::new().fg(Color::new(243, 139, 168)),
571            Style::new().fg(Color::new(137, 180, 250)),
572            Style::new().fg(Color::new(137, 180, 250)),
573            Style::new().fg(Color::new(137, 180, 250)),
574            Style::new().fg(Color::new(249, 226, 175)),
575            Style::new().fg(Color::new(249, 226, 175)),
576            Style::new().fg(Color::new(249, 226, 175)),
577            Style::new().fg(Color::new(205, 214, 244)),
578            Style::new().fg(Color::new(243, 139, 168)),
579            Style::new().fg(Color::new(250, 179, 135)),
580            Style::new().fg(Color::new(108, 112, 134)),
581            Style::new().fg(Color::new(108, 112, 134)),
582            Style::new().fg(Color::new(148, 226, 213)),
583            Style::new().fg(Color::new(245, 194, 231)),
584            Style::new(),
585            Style::new(),
586            Style::new().fg(Color::new(250, 179, 135)),
587            Style::new().fg(Color::new(205, 214, 244)),
588            Style::new().italic(),
589            Style::new().bold(),
590            Style::new().fg(Color::new(137, 180, 250)).underline(),
591            Style::new().fg(Color::new(137, 220, 235)),
592            Style::new().fg(Color::new(250, 179, 135)),
593            Style::new().fg(Color::new(203, 166, 247)).bold(),
594            Style::new().strikethrough(),
595            Style::new().fg(Color::new(205, 214, 244)),
596            Style::new(),
597            Style::new(),
598            Style::new(),
599            Style::new().fg(Color::new(203, 166, 247)),
600            Style::new().fg(Color::new(203, 166, 247)),
601            Style::new().fg(Color::new(203, 166, 247)),
602            Style::new().fg(Color::new(203, 166, 247)),
603            Style::new().fg(Color::new(203, 166, 247)),
604            Style::new().fg(Color::new(203, 166, 247)),
605            Style::new(),
606            Style::new().fg(Color::new(166, 227, 161)),
607            Style::new().fg(Color::new(166, 227, 161)),
608            Style::new().fg(Color::new(205, 214, 244)),
609            Style::new().fg(Color::new(137, 180, 250)),
610            Style::new().fg(Color::new(249, 226, 175)),
611            Style::new().fg(Color::new(137, 180, 250)),
612            Style::new().fg(Color::new(203, 166, 247)),
613            Style::new().fg(Color::new(203, 166, 247)),
614            Style::new().fg(Color::new(166, 227, 161)),
615            Style::new(),
616            Style::new(),
617            Style::new()
618        ],
619    }
620}
621
622/// Cobalt2 theme.
623///
624/// Source: https://github.com/wesbos/cobalt2-vscode
625pub fn cobalt2() -> Theme {
626    Theme {
627        name: "Cobalt2".to_string(),
628        is_dark: true,
629        source_url: Some("https://github.com/wesbos/cobalt2-vscode".to_string()),
630        background: Some(Color::new(25, 53, 73)),
631        foreground: Some(Color::new(255, 255, 255)),
632        styles: [
633            Style::new().fg(Color::new(255, 198, 0)),
634            Style::new().fg(Color::new(255, 98, 140)),
635            Style::new().fg(Color::new(255, 98, 140)),
636            Style::new(),
637            Style::new().fg(Color::new(255, 157, 0)),
638            Style::new().fg(Color::new(255, 198, 0)),
639            Style::new().fg(Color::new(255, 198, 0)),
640            Style::new().fg(Color::new(255, 157, 0)),
641            Style::new().fg(Color::new(255, 157, 0)),
642            Style::new().fg(Color::new(255, 157, 0)),
643            Style::new().fg(Color::new(255, 157, 0)),
644            Style::new().fg(Color::new(255, 157, 0)),
645            Style::new().fg(Color::new(255, 157, 0)),
646            Style::new().fg(Color::new(255, 157, 0)),
647            Style::new().fg(Color::new(255, 157, 0)),
648            Style::new().fg(Color::new(255, 157, 0)),
649            Style::new().fg(Color::new(255, 157, 0)),
650            Style::new().fg(Color::new(255, 157, 0)),
651            Style::new().fg(Color::new(255, 255, 255)),
652            Style::new().fg(Color::new(158, 255, 255)),
653            Style::new().fg(Color::new(255, 255, 255)),
654            Style::new().fg(Color::new(255, 255, 255)),
655            Style::new().fg(Color::new(255, 255, 255)),
656            Style::new().fg(Color::new(158, 255, 255)),
657            Style::new().fg(Color::new(165, 255, 144)),
658            Style::new().fg(Color::new(58, 217, 0)),
659            Style::new().fg(Color::new(255, 198, 0)),
660            Style::new().fg(Color::new(255, 198, 0)),
661            Style::new().fg(Color::new(255, 198, 0)),
662            Style::new().fg(Color::new(255, 104, 184)),
663            Style::new().fg(Color::new(255, 104, 184)),
664            Style::new().fg(Color::new(255, 104, 184)),
665            Style::new().fg(Color::new(225, 239, 255)),
666            Style::new().fg(Color::new(255, 98, 140)),
667            Style::new().fg(Color::new(225, 239, 255)),
668            Style::new().fg(Color::new(0, 136, 255)).italic(),
669            Style::new().fg(Color::new(0, 136, 255)).italic(),
670            Style::new().fg(Color::new(255, 157, 0)),
671            Style::new().fg(Color::new(158, 255, 255)),
672            Style::new(),
673            Style::new(),
674            Style::new().fg(Color::new(255, 98, 140)),
675            Style::new().fg(Color::new(255, 255, 255)),
676            Style::new().italic(),
677            Style::new().bold(),
678            Style::new().fg(Color::new(0, 136, 255)).underline(),
679            Style::new().fg(Color::new(158, 255, 255)),
680            Style::new().fg(Color::new(255, 98, 140)),
681            Style::new().fg(Color::new(255, 198, 0)).bold(),
682            Style::new().strikethrough(),
683            Style::new().fg(Color::new(255, 255, 255)),
684            Style::new(),
685            Style::new(),
686            Style::new(),
687            Style::new().fg(Color::new(255, 157, 0)),
688            Style::new().fg(Color::new(255, 157, 0)),
689            Style::new().fg(Color::new(255, 157, 0)),
690            Style::new().fg(Color::new(255, 157, 0)),
691            Style::new().fg(Color::new(255, 157, 0)),
692            Style::new().fg(Color::new(255, 157, 0)),
693            Style::new(),
694            Style::new().fg(Color::new(165, 255, 144)),
695            Style::new().fg(Color::new(165, 255, 144)),
696            Style::new().fg(Color::new(225, 239, 255)),
697            Style::new().fg(Color::new(255, 198, 0)),
698            Style::new().fg(Color::new(255, 104, 184)),
699            Style::new().fg(Color::new(255, 198, 0)),
700            Style::new().fg(Color::new(255, 157, 0)),
701            Style::new().fg(Color::new(255, 157, 0)),
702            Style::new().fg(Color::new(165, 255, 144)),
703            Style::new(),
704            Style::new(),
705            Style::new()
706        ],
707    }
708}
709
710/// Dayfox theme.
711///
712/// Source: https://github.com/EdenEast/nightfox.nvim
713pub fn dayfox() -> Theme {
714    Theme {
715        name: "Dayfox".to_string(),
716        is_dark: false,
717        source_url: Some("https://github.com/EdenEast/nightfox.nvim".to_string()),
718        background: Some(Color::new(246, 242, 238)),
719        foreground: Some(Color::new(61, 43, 90)),
720        styles: [
721            Style::new().fg(Color::new(149, 95, 97)),
722            Style::new().fg(Color::new(40, 121, 128)),
723            Style::new().fg(Color::new(40, 121, 128)),
724            Style::new(),
725            Style::new().fg(Color::new(40, 121, 128)),
726            Style::new().fg(Color::new(40, 72, 169)),
727            Style::new().fg(Color::new(40, 72, 169)),
728            Style::new().fg(Color::new(110, 51, 206)),
729            Style::new().fg(Color::new(110, 51, 206)),
730            Style::new().fg(Color::new(110, 51, 206)),
731            Style::new().fg(Color::new(110, 51, 206)),
732            Style::new().fg(Color::new(110, 51, 206)),
733            Style::new().fg(Color::new(110, 51, 206)),
734            Style::new().fg(Color::new(110, 51, 206)),
735            Style::new().fg(Color::new(110, 51, 206)),
736            Style::new().fg(Color::new(110, 51, 206)),
737            Style::new().fg(Color::new(110, 51, 206)),
738            Style::new().fg(Color::new(110, 51, 206)),
739            Style::new().fg(Color::new(61, 43, 90)),
740            Style::new().fg(Color::new(40, 121, 128)),
741            Style::new().fg(Color::new(130, 77, 91)),
742            Style::new().fg(Color::new(130, 77, 91)),
743            Style::new().fg(Color::new(130, 77, 91)),
744            Style::new().fg(Color::new(164, 64, 181)),
745            Style::new().fg(Color::new(57, 104, 71)),
746            Style::new().fg(Color::new(149, 95, 97)),
747            Style::new().fg(Color::new(110, 51, 206)),
748            Style::new().fg(Color::new(110, 51, 206)),
749            Style::new().fg(Color::new(110, 51, 206)),
750            Style::new().fg(Color::new(172, 84, 2)),
751            Style::new().fg(Color::new(172, 84, 2)),
752            Style::new().fg(Color::new(172, 84, 2)),
753            Style::new().fg(Color::new(61, 43, 90)),
754            Style::new().fg(Color::new(165, 34, 47)),
755            Style::new().fg(Color::new(100, 63, 97)),
756            Style::new().fg(Color::new(131, 122, 114)),
757            Style::new().fg(Color::new(131, 122, 114)),
758            Style::new().fg(Color::new(40, 121, 128)),
759            Style::new().fg(Color::new(164, 64, 181)),
760            Style::new(),
761            Style::new(),
762            Style::new().fg(Color::new(149, 95, 97)),
763            Style::new().fg(Color::new(61, 43, 90)),
764            Style::new().italic(),
765            Style::new().bold(),
766            Style::new().fg(Color::new(40, 72, 169)).underline(),
767            Style::new().fg(Color::new(40, 121, 128)),
768            Style::new().fg(Color::new(164, 64, 181)),
769            Style::new().fg(Color::new(40, 72, 169)).bold(),
770            Style::new().strikethrough(),
771            Style::new().fg(Color::new(61, 43, 90)),
772            Style::new(),
773            Style::new(),
774            Style::new(),
775            Style::new().fg(Color::new(110, 51, 206)),
776            Style::new().fg(Color::new(110, 51, 206)),
777            Style::new().fg(Color::new(110, 51, 206)),
778            Style::new().fg(Color::new(110, 51, 206)),
779            Style::new().fg(Color::new(110, 51, 206)),
780            Style::new().fg(Color::new(110, 51, 206)),
781            Style::new(),
782            Style::new().fg(Color::new(57, 104, 71)),
783            Style::new().fg(Color::new(57, 104, 71)),
784            Style::new().fg(Color::new(61, 43, 90)),
785            Style::new().fg(Color::new(40, 72, 169)),
786            Style::new().fg(Color::new(172, 84, 2)),
787            Style::new().fg(Color::new(40, 72, 169)),
788            Style::new().fg(Color::new(110, 51, 206)),
789            Style::new().fg(Color::new(110, 51, 206)),
790            Style::new().fg(Color::new(57, 104, 71)),
791            Style::new(),
792            Style::new(),
793            Style::new()
794        ],
795    }
796}
797
798/// Desert256 theme.
799///
800/// Source: https://github.com/vim-scripts/desert256.vim
801pub fn desert256() -> Theme {
802    Theme {
803        name: "Desert256".to_string(),
804        is_dark: true,
805        source_url: Some("https://github.com/vim-scripts/desert256.vim".to_string()),
806        background: Some(Color::new(0, 0, 0)),
807        foreground: Some(Color::new(204, 204, 204)),
808        styles: [
809            Style::new().fg(Color::new(205, 92, 92)),
810            Style::new().fg(Color::new(255, 160, 160)),
811            Style::new().fg(Color::new(255, 160, 160)),
812            Style::new(),
813            Style::new().fg(Color::new(240, 230, 140)),
814            Style::new().fg(Color::new(240, 230, 140)),
815            Style::new().fg(Color::new(240, 230, 140)),
816            Style::new().fg(Color::new(240, 230, 140)).bold(),
817            Style::new().fg(Color::new(240, 230, 140)).bold(),
818            Style::new().fg(Color::new(240, 230, 140)).bold(),
819            Style::new().fg(Color::new(240, 230, 140)).bold(),
820            Style::new().fg(Color::new(240, 230, 140)).bold(),
821            Style::new().fg(Color::new(240, 230, 140)).bold(),
822            Style::new().fg(Color::new(240, 230, 140)).bold(),
823            Style::new().fg(Color::new(240, 230, 140)).bold(),
824            Style::new().fg(Color::new(240, 230, 140)).bold(),
825            Style::new().fg(Color::new(240, 230, 140)).bold(),
826            Style::new().fg(Color::new(240, 230, 140)).bold(),
827            Style::new().fg(Color::new(204, 204, 204)),
828            Style::new().fg(Color::new(152, 251, 152)),
829            Style::new().fg(Color::new(204, 204, 204)),
830            Style::new().fg(Color::new(204, 204, 204)),
831            Style::new().fg(Color::new(204, 204, 204)),
832            Style::new().fg(Color::new(255, 222, 173)),
833            Style::new().fg(Color::new(255, 160, 160)),
834            Style::new().fg(Color::new(255, 222, 173)),
835            Style::new().fg(Color::new(240, 230, 140)),
836            Style::new().fg(Color::new(240, 230, 140)),
837            Style::new().fg(Color::new(240, 230, 140)),
838            Style::new().fg(Color::new(189, 183, 107)).bold(),
839            Style::new().fg(Color::new(189, 183, 107)),
840            Style::new().fg(Color::new(189, 183, 107)).bold(),
841            Style::new().fg(Color::new(152, 251, 152)),
842            Style::new().fg(Color::new(255, 160, 160)),
843            Style::new().fg(Color::new(152, 251, 152)),
844            Style::new().fg(Color::new(135, 206, 235)),
845            Style::new().fg(Color::new(135, 206, 235)),
846            Style::new().fg(Color::new(205, 92, 92)),
847            Style::new().fg(Color::new(240, 230, 140)),
848            Style::new(),
849            Style::new(),
850            Style::new().fg(Color::new(255, 160, 160)),
851            Style::new().fg(Color::new(204, 204, 204)),
852            Style::new().italic(),
853            Style::new().bold(),
854            Style::new().fg(Color::new(135, 206, 235)).underline(),
855            Style::new().fg(Color::new(135, 206, 235)),
856            Style::new().fg(Color::new(255, 222, 173)),
857            Style::new().fg(Color::new(240, 230, 140)).bold(),
858            Style::new().strikethrough(),
859            Style::new().fg(Color::new(204, 204, 204)),
860            Style::new(),
861            Style::new(),
862            Style::new(),
863            Style::new().fg(Color::new(240, 230, 140)).bold(),
864            Style::new().fg(Color::new(240, 230, 140)).bold(),
865            Style::new().fg(Color::new(240, 230, 140)).bold(),
866            Style::new().fg(Color::new(240, 230, 140)).bold(),
867            Style::new().fg(Color::new(240, 230, 140)).bold(),
868            Style::new().fg(Color::new(240, 230, 140)).bold(),
869            Style::new(),
870            Style::new().fg(Color::new(255, 160, 160)),
871            Style::new().fg(Color::new(255, 160, 160)),
872            Style::new().fg(Color::new(152, 251, 152)),
873            Style::new().fg(Color::new(240, 230, 140)),
874            Style::new().fg(Color::new(189, 183, 107)).bold(),
875            Style::new().fg(Color::new(240, 230, 140)),
876            Style::new().fg(Color::new(240, 230, 140)).bold(),
877            Style::new().fg(Color::new(240, 230, 140)).bold(),
878            Style::new().fg(Color::new(255, 160, 160)),
879            Style::new(),
880            Style::new(),
881            Style::new()
882        ],
883    }
884}
885
886/// Dracula theme.
887///
888/// Source: https://draculatheme.com
889pub fn dracula() -> Theme {
890    Theme {
891        name: "Dracula".to_string(),
892        is_dark: true,
893        source_url: Some("https://draculatheme.com".to_string()),
894        background: Some(Color::new(40, 42, 54)),
895        foreground: Some(Color::new(248, 248, 242)),
896        styles: [
897            Style::new().fg(Color::new(80, 250, 123)),
898            Style::new().fg(Color::new(189, 147, 249)),
899            Style::new().fg(Color::new(189, 147, 249)),
900            Style::new(),
901            Style::new().fg(Color::new(139, 233, 253)),
902            Style::new().fg(Color::new(80, 250, 123)),
903            Style::new().fg(Color::new(80, 250, 123)),
904            Style::new().fg(Color::new(255, 121, 198)),
905            Style::new().fg(Color::new(255, 121, 198)),
906            Style::new().fg(Color::new(255, 121, 198)),
907            Style::new().fg(Color::new(255, 121, 198)),
908            Style::new().fg(Color::new(255, 121, 198)),
909            Style::new().fg(Color::new(255, 121, 198)),
910            Style::new().fg(Color::new(255, 121, 198)),
911            Style::new().fg(Color::new(255, 121, 198)),
912            Style::new().fg(Color::new(255, 121, 198)),
913            Style::new().fg(Color::new(255, 121, 198)),
914            Style::new().fg(Color::new(255, 121, 198)),
915            Style::new().fg(Color::new(255, 121, 198)),
916            Style::new().fg(Color::new(139, 233, 253)),
917            Style::new().fg(Color::new(248, 248, 242)),
918            Style::new().fg(Color::new(248, 248, 242)),
919            Style::new().fg(Color::new(248, 248, 242)),
920            Style::new().fg(Color::new(255, 121, 198)),
921            Style::new().fg(Color::new(241, 250, 140)),
922            Style::new().fg(Color::new(255, 85, 85)),
923            Style::new().fg(Color::new(255, 121, 198)),
924            Style::new().fg(Color::new(255, 121, 198)),
925            Style::new().fg(Color::new(255, 121, 198)),
926            Style::new().fg(Color::new(139, 233, 253)),
927            Style::new().fg(Color::new(139, 233, 253)),
928            Style::new().fg(Color::new(139, 233, 253)),
929            Style::new().fg(Color::new(248, 248, 242)),
930            Style::new().fg(Color::new(189, 147, 249)),
931            Style::new().fg(Color::new(255, 184, 108)),
932            Style::new().fg(Color::new(98, 114, 164)),
933            Style::new().fg(Color::new(98, 114, 164)),
934            Style::new().fg(Color::new(80, 250, 123)),
935            Style::new().fg(Color::new(139, 233, 253)),
936            Style::new(),
937            Style::new(),
938            Style::new().fg(Color::new(189, 147, 249)),
939            Style::new().fg(Color::new(248, 248, 242)),
940            Style::new().italic(),
941            Style::new().bold(),
942            Style::new().fg(Color::new(139, 233, 253)).underline(),
943            Style::new().fg(Color::new(139, 233, 253)),
944            Style::new().fg(Color::new(255, 121, 198)),
945            Style::new().fg(Color::new(189, 147, 249)).bold(),
946            Style::new().strikethrough(),
947            Style::new().fg(Color::new(248, 248, 242)),
948            Style::new(),
949            Style::new(),
950            Style::new(),
951            Style::new().fg(Color::new(255, 121, 198)),
952            Style::new().fg(Color::new(255, 121, 198)),
953            Style::new().fg(Color::new(255, 121, 198)),
954            Style::new().fg(Color::new(255, 121, 198)),
955            Style::new().fg(Color::new(255, 121, 198)),
956            Style::new().fg(Color::new(255, 121, 198)),
957            Style::new(),
958            Style::new().fg(Color::new(241, 250, 140)),
959            Style::new().fg(Color::new(241, 250, 140)),
960            Style::new().fg(Color::new(248, 248, 242)),
961            Style::new().fg(Color::new(80, 250, 123)),
962            Style::new().fg(Color::new(139, 233, 253)),
963            Style::new().fg(Color::new(80, 250, 123)),
964            Style::new().fg(Color::new(255, 121, 198)),
965            Style::new().fg(Color::new(255, 121, 198)),
966            Style::new().fg(Color::new(241, 250, 140)),
967            Style::new(),
968            Style::new(),
969            Style::new()
970        ],
971    }
972}
973
974/// EF Melissa Dark theme.
975///
976/// Source: https://protesilaos.com/emacs/ef-themes
977pub fn ef_melissa_dark() -> Theme {
978    Theme {
979        name: "EF Melissa Dark".to_string(),
980        is_dark: true,
981        source_url: Some("https://protesilaos.com/emacs/ef-themes".to_string()),
982        background: Some(Color::new(53, 39, 24)),
983        foreground: Some(Color::new(232, 228, 177)),
984        styles: [
985            Style::new().fg(Color::new(228, 181, 63)),
986            Style::new().fg(Color::new(111, 202, 208)),
987            Style::new().fg(Color::new(111, 202, 208)),
988            Style::new(),
989            Style::new().fg(Color::new(240, 170, 197)),
990            Style::new().fg(Color::new(198, 162, 254)),
991            Style::new().fg(Color::new(198, 162, 254)),
992            Style::new().fg(Color::new(255, 162, 31)),
993            Style::new().fg(Color::new(255, 162, 31)),
994            Style::new().fg(Color::new(255, 162, 31)),
995            Style::new().fg(Color::new(255, 162, 31)),
996            Style::new().fg(Color::new(255, 162, 31)),
997            Style::new().fg(Color::new(255, 162, 31)),
998            Style::new().fg(Color::new(255, 162, 31)),
999            Style::new().fg(Color::new(255, 162, 31)),
1000            Style::new().fg(Color::new(255, 162, 31)),
1001            Style::new().fg(Color::new(255, 162, 31)),
1002            Style::new().fg(Color::new(255, 162, 31)),
1003            Style::new().fg(Color::new(204, 170, 112)),
1004            Style::new().fg(Color::new(127, 197, 223)),
1005            Style::new().fg(Color::new(144, 145, 138)),
1006            Style::new().fg(Color::new(144, 145, 138)),
1007            Style::new().fg(Color::new(144, 145, 138)),
1008            Style::new().fg(Color::new(255, 127, 127)),
1009            Style::new().fg(Color::new(160, 209, 58)),
1010            Style::new().fg(Color::new(101, 213, 144)),
1011            Style::new().fg(Color::new(231, 160, 111)),
1012            Style::new().fg(Color::new(231, 160, 111)),
1013            Style::new().fg(Color::new(231, 160, 111)),
1014            Style::new().fg(Color::new(112, 224, 207)),
1015            Style::new().fg(Color::new(111, 202, 208)),
1016            Style::new().fg(Color::new(112, 224, 207)),
1017            Style::new().fg(Color::new(232, 228, 177)),
1018            Style::new().fg(Color::new(255, 143, 152)),
1019            Style::new().fg(Color::new(223, 207, 224)),
1020            Style::new().fg(Color::new(144, 145, 138)).italic(),
1021            Style::new().fg(Color::new(144, 145, 138)).italic(),
1022            Style::new().fg(Color::new(250, 144, 170)),
1023            Style::new().fg(Color::new(152, 191, 255)),
1024            Style::new(),
1025            Style::new(),
1026            Style::new().fg(Color::new(98, 207, 239)),
1027            Style::new().fg(Color::new(232, 228, 177)),
1028            Style::new().italic(),
1029            Style::new().bold(),
1030            Style::new().fg(Color::new(87, 175, 246)).underline(),
1031            Style::new().fg(Color::new(127, 197, 223)),
1032            Style::new().fg(Color::new(234, 183, 128)),
1033            Style::new().fg(Color::new(228, 181, 63)).bold(),
1034            Style::new().strikethrough(),
1035            Style::new().fg(Color::new(232, 228, 177)),
1036            Style::new(),
1037            Style::new(),
1038            Style::new(),
1039            Style::new().fg(Color::new(255, 162, 31)),
1040            Style::new().fg(Color::new(255, 162, 31)),
1041            Style::new().fg(Color::new(255, 162, 31)),
1042            Style::new().fg(Color::new(255, 162, 31)),
1043            Style::new().fg(Color::new(255, 162, 31)),
1044            Style::new().fg(Color::new(255, 162, 31)),
1045            Style::new(),
1046            Style::new().fg(Color::new(160, 209, 58)),
1047            Style::new().fg(Color::new(160, 209, 58)),
1048            Style::new().fg(Color::new(232, 228, 177)),
1049            Style::new().fg(Color::new(198, 162, 254)),
1050            Style::new().fg(Color::new(112, 224, 207)),
1051            Style::new().fg(Color::new(198, 162, 254)),
1052            Style::new().fg(Color::new(255, 162, 31)),
1053            Style::new().fg(Color::new(255, 162, 31)),
1054            Style::new().fg(Color::new(160, 209, 58)),
1055            Style::new(),
1056            Style::new(),
1057            Style::new()
1058        ],
1059    }
1060}
1061
1062/// GitHub Dark theme.
1063///
1064/// Source: https://github.com/primer/github-vscode-theme
1065pub fn github_dark() -> Theme {
1066    Theme {
1067        name: "GitHub Dark".to_string(),
1068        is_dark: true,
1069        source_url: Some("https://github.com/primer/github-vscode-theme".to_string()),
1070        background: Some(Color::new(13, 17, 23)),
1071        foreground: Some(Color::new(230, 237, 243)),
1072        styles: [
1073            Style::new().fg(Color::new(121, 192, 255)),
1074            Style::new().fg(Color::new(121, 192, 255)),
1075            Style::new().fg(Color::new(121, 192, 255)),
1076            Style::new(),
1077            Style::new().fg(Color::new(210, 168, 255)),
1078            Style::new().fg(Color::new(210, 168, 255)),
1079            Style::new().fg(Color::new(210, 168, 255)),
1080            Style::new().fg(Color::new(255, 123, 114)),
1081            Style::new().fg(Color::new(255, 123, 114)),
1082            Style::new().fg(Color::new(255, 123, 114)),
1083            Style::new().fg(Color::new(255, 123, 114)),
1084            Style::new().fg(Color::new(255, 123, 114)),
1085            Style::new().fg(Color::new(255, 123, 114)),
1086            Style::new().fg(Color::new(255, 123, 114)),
1087            Style::new().fg(Color::new(255, 123, 114)),
1088            Style::new().fg(Color::new(255, 123, 114)),
1089            Style::new().fg(Color::new(255, 123, 114)),
1090            Style::new().fg(Color::new(255, 123, 114)),
1091            Style::new().fg(Color::new(255, 123, 114)),
1092            Style::new().fg(Color::new(121, 192, 255)),
1093            Style::new().fg(Color::new(230, 237, 243)),
1094            Style::new().fg(Color::new(230, 237, 243)),
1095            Style::new().fg(Color::new(230, 237, 243)),
1096            Style::new().fg(Color::new(121, 192, 255)),
1097            Style::new().fg(Color::new(165, 214, 255)),
1098            Style::new().fg(Color::new(255, 123, 114)),
1099            Style::new().fg(Color::new(126, 231, 135)),
1100            Style::new().fg(Color::new(126, 231, 135)),
1101            Style::new().fg(Color::new(126, 231, 135)),
1102            Style::new().fg(Color::new(255, 166, 87)),
1103            Style::new().fg(Color::new(255, 166, 87)),
1104            Style::new().fg(Color::new(255, 166, 87)),
1105            Style::new().fg(Color::new(230, 237, 243)),
1106            Style::new().fg(Color::new(255, 166, 87)),
1107            Style::new().fg(Color::new(255, 166, 87)),
1108            Style::new().fg(Color::new(139, 148, 158)),
1109            Style::new().fg(Color::new(139, 148, 158)),
1110            Style::new().fg(Color::new(121, 192, 255)),
1111            Style::new().fg(Color::new(210, 168, 255)),
1112            Style::new(),
1113            Style::new(),
1114            Style::new().fg(Color::new(121, 192, 255)),
1115            Style::new().fg(Color::new(230, 237, 243)),
1116            Style::new().italic(),
1117            Style::new().bold(),
1118            Style::new().fg(Color::new(88, 166, 255)).underline(),
1119            Style::new().fg(Color::new(210, 168, 255)),
1120            Style::new().fg(Color::new(121, 192, 255)),
1121            Style::new().fg(Color::new(210, 168, 255)).bold(),
1122            Style::new().strikethrough(),
1123            Style::new().fg(Color::new(230, 237, 243)),
1124            Style::new(),
1125            Style::new(),
1126            Style::new(),
1127            Style::new().fg(Color::new(255, 123, 114)),
1128            Style::new().fg(Color::new(255, 123, 114)),
1129            Style::new().fg(Color::new(255, 123, 114)),
1130            Style::new().fg(Color::new(255, 123, 114)),
1131            Style::new().fg(Color::new(255, 123, 114)),
1132            Style::new().fg(Color::new(255, 123, 114)),
1133            Style::new(),
1134            Style::new().fg(Color::new(165, 214, 255)),
1135            Style::new().fg(Color::new(165, 214, 255)),
1136            Style::new().fg(Color::new(230, 237, 243)),
1137            Style::new().fg(Color::new(210, 168, 255)),
1138            Style::new().fg(Color::new(255, 166, 87)),
1139            Style::new().fg(Color::new(210, 168, 255)),
1140            Style::new().fg(Color::new(255, 123, 114)),
1141            Style::new().fg(Color::new(255, 123, 114)),
1142            Style::new().fg(Color::new(165, 214, 255)),
1143            Style::new(),
1144            Style::new(),
1145            Style::new()
1146        ],
1147    }
1148}
1149
1150/// GitHub Light theme.
1151///
1152/// Source: https://github.com/primer/github-vscode-theme
1153pub fn github_light() -> Theme {
1154    Theme {
1155        name: "GitHub Light".to_string(),
1156        is_dark: false,
1157        source_url: Some("https://github.com/primer/github-vscode-theme".to_string()),
1158        background: Some(Color::new(255, 255, 255)),
1159        foreground: Some(Color::new(31, 35, 40)),
1160        styles: [
1161            Style::new().fg(Color::new(5, 80, 174)),
1162            Style::new().fg(Color::new(5, 80, 174)),
1163            Style::new().fg(Color::new(5, 80, 174)),
1164            Style::new(),
1165            Style::new().fg(Color::new(130, 80, 223)),
1166            Style::new().fg(Color::new(130, 80, 223)),
1167            Style::new().fg(Color::new(130, 80, 223)),
1168            Style::new().fg(Color::new(207, 34, 46)),
1169            Style::new().fg(Color::new(207, 34, 46)),
1170            Style::new().fg(Color::new(207, 34, 46)),
1171            Style::new().fg(Color::new(207, 34, 46)),
1172            Style::new().fg(Color::new(207, 34, 46)),
1173            Style::new().fg(Color::new(207, 34, 46)),
1174            Style::new().fg(Color::new(207, 34, 46)),
1175            Style::new().fg(Color::new(207, 34, 46)),
1176            Style::new().fg(Color::new(207, 34, 46)),
1177            Style::new().fg(Color::new(207, 34, 46)),
1178            Style::new().fg(Color::new(207, 34, 46)),
1179            Style::new().fg(Color::new(207, 34, 46)),
1180            Style::new().fg(Color::new(5, 80, 174)),
1181            Style::new().fg(Color::new(31, 35, 40)),
1182            Style::new().fg(Color::new(31, 35, 40)),
1183            Style::new().fg(Color::new(31, 35, 40)),
1184            Style::new().fg(Color::new(5, 80, 174)),
1185            Style::new().fg(Color::new(10, 48, 105)),
1186            Style::new().fg(Color::new(207, 34, 46)),
1187            Style::new().fg(Color::new(17, 99, 41)),
1188            Style::new().fg(Color::new(17, 99, 41)),
1189            Style::new().fg(Color::new(17, 99, 41)),
1190            Style::new().fg(Color::new(149, 56, 0)),
1191            Style::new().fg(Color::new(149, 56, 0)),
1192            Style::new().fg(Color::new(149, 56, 0)),
1193            Style::new().fg(Color::new(31, 35, 40)),
1194            Style::new().fg(Color::new(149, 56, 0)),
1195            Style::new().fg(Color::new(149, 56, 0)),
1196            Style::new().fg(Color::new(110, 119, 129)),
1197            Style::new().fg(Color::new(110, 119, 129)),
1198            Style::new().fg(Color::new(5, 80, 174)),
1199            Style::new().fg(Color::new(130, 80, 223)),
1200            Style::new(),
1201            Style::new(),
1202            Style::new().fg(Color::new(5, 80, 174)),
1203            Style::new().fg(Color::new(31, 35, 40)),
1204            Style::new().italic(),
1205            Style::new().bold(),
1206            Style::new().fg(Color::new(9, 105, 218)).underline(),
1207            Style::new().fg(Color::new(130, 80, 223)),
1208            Style::new().fg(Color::new(5, 80, 174)),
1209            Style::new().fg(Color::new(130, 80, 223)).bold(),
1210            Style::new().strikethrough(),
1211            Style::new().fg(Color::new(31, 35, 40)),
1212            Style::new(),
1213            Style::new(),
1214            Style::new(),
1215            Style::new().fg(Color::new(207, 34, 46)),
1216            Style::new().fg(Color::new(207, 34, 46)),
1217            Style::new().fg(Color::new(207, 34, 46)),
1218            Style::new().fg(Color::new(207, 34, 46)),
1219            Style::new().fg(Color::new(207, 34, 46)),
1220            Style::new().fg(Color::new(207, 34, 46)),
1221            Style::new(),
1222            Style::new().fg(Color::new(10, 48, 105)),
1223            Style::new().fg(Color::new(10, 48, 105)),
1224            Style::new().fg(Color::new(31, 35, 40)),
1225            Style::new().fg(Color::new(130, 80, 223)),
1226            Style::new().fg(Color::new(149, 56, 0)),
1227            Style::new().fg(Color::new(130, 80, 223)),
1228            Style::new().fg(Color::new(207, 34, 46)),
1229            Style::new().fg(Color::new(207, 34, 46)),
1230            Style::new().fg(Color::new(10, 48, 105)),
1231            Style::new(),
1232            Style::new(),
1233            Style::new()
1234        ],
1235    }
1236}
1237
1238/// Gruvbox Dark theme.
1239///
1240/// Source: https://github.com/morhetz/gruvbox
1241pub fn gruvbox_dark() -> Theme {
1242    Theme {
1243        name: "Gruvbox Dark".to_string(),
1244        is_dark: true,
1245        source_url: Some("https://github.com/morhetz/gruvbox".to_string()),
1246        background: Some(Color::new(40, 40, 40)),
1247        foreground: Some(Color::new(235, 219, 178)),
1248        styles: [
1249            Style::new().fg(Color::new(250, 189, 47)),
1250            Style::new().fg(Color::new(211, 134, 155)),
1251            Style::new().fg(Color::new(211, 134, 155)),
1252            Style::new(),
1253            Style::new().fg(Color::new(142, 192, 124)),
1254            Style::new().fg(Color::new(142, 192, 124)),
1255            Style::new().fg(Color::new(142, 192, 124)),
1256            Style::new().fg(Color::new(251, 73, 52)),
1257            Style::new().fg(Color::new(251, 73, 52)),
1258            Style::new().fg(Color::new(251, 73, 52)),
1259            Style::new().fg(Color::new(251, 73, 52)),
1260            Style::new().fg(Color::new(251, 73, 52)),
1261            Style::new().fg(Color::new(251, 73, 52)),
1262            Style::new().fg(Color::new(251, 73, 52)),
1263            Style::new().fg(Color::new(251, 73, 52)),
1264            Style::new().fg(Color::new(251, 73, 52)),
1265            Style::new().fg(Color::new(251, 73, 52)),
1266            Style::new().fg(Color::new(251, 73, 52)),
1267            Style::new().fg(Color::new(235, 219, 178)),
1268            Style::new().fg(Color::new(131, 165, 152)),
1269            Style::new().fg(Color::new(235, 219, 178)),
1270            Style::new().fg(Color::new(235, 219, 178)),
1271            Style::new().fg(Color::new(235, 219, 178)),
1272            Style::new().fg(Color::new(254, 128, 25)),
1273            Style::new().fg(Color::new(184, 187, 38)),
1274            Style::new().fg(Color::new(254, 128, 25)),
1275            Style::new().fg(Color::new(251, 73, 52)),
1276            Style::new().fg(Color::new(251, 73, 52)),
1277            Style::new().fg(Color::new(251, 73, 52)),
1278            Style::new().fg(Color::new(250, 189, 47)),
1279            Style::new().fg(Color::new(250, 189, 47)),
1280            Style::new().fg(Color::new(250, 189, 47)),
1281            Style::new().fg(Color::new(235, 219, 178)),
1282            Style::new().fg(Color::new(254, 128, 25)),
1283            Style::new().fg(Color::new(131, 165, 152)),
1284            Style::new().fg(Color::new(146, 131, 116)),
1285            Style::new().fg(Color::new(146, 131, 116)),
1286            Style::new().fg(Color::new(142, 192, 124)),
1287            Style::new().fg(Color::new(251, 73, 52)),
1288            Style::new(),
1289            Style::new(),
1290            Style::new().fg(Color::new(211, 134, 155)),
1291            Style::new().fg(Color::new(235, 219, 178)),
1292            Style::new().italic(),
1293            Style::new().bold(),
1294            Style::new().fg(Color::new(131, 165, 152)).underline(),
1295            Style::new().fg(Color::new(142, 192, 124)),
1296            Style::new().fg(Color::new(254, 128, 25)),
1297            Style::new().fg(Color::new(184, 187, 38)).bold(),
1298            Style::new().strikethrough(),
1299            Style::new().fg(Color::new(235, 219, 178)),
1300            Style::new(),
1301            Style::new(),
1302            Style::new(),
1303            Style::new().fg(Color::new(251, 73, 52)),
1304            Style::new().fg(Color::new(251, 73, 52)),
1305            Style::new().fg(Color::new(251, 73, 52)),
1306            Style::new().fg(Color::new(251, 73, 52)),
1307            Style::new().fg(Color::new(251, 73, 52)),
1308            Style::new().fg(Color::new(251, 73, 52)),
1309            Style::new(),
1310            Style::new().fg(Color::new(184, 187, 38)),
1311            Style::new().fg(Color::new(184, 187, 38)),
1312            Style::new().fg(Color::new(235, 219, 178)),
1313            Style::new().fg(Color::new(142, 192, 124)),
1314            Style::new().fg(Color::new(250, 189, 47)),
1315            Style::new().fg(Color::new(142, 192, 124)),
1316            Style::new().fg(Color::new(251, 73, 52)),
1317            Style::new().fg(Color::new(251, 73, 52)),
1318            Style::new().fg(Color::new(184, 187, 38)),
1319            Style::new(),
1320            Style::new(),
1321            Style::new()
1322        ],
1323    }
1324}
1325
1326/// Gruvbox Light theme.
1327///
1328/// Source: https://github.com/morhetz/gruvbox
1329pub fn gruvbox_light() -> Theme {
1330    Theme {
1331        name: "Gruvbox Light".to_string(),
1332        is_dark: false,
1333        source_url: Some("https://github.com/morhetz/gruvbox".to_string()),
1334        background: Some(Color::new(251, 241, 199)),
1335        foreground: Some(Color::new(60, 56, 54)),
1336        styles: [
1337            Style::new().fg(Color::new(181, 118, 20)),
1338            Style::new().fg(Color::new(143, 63, 113)),
1339            Style::new().fg(Color::new(143, 63, 113)),
1340            Style::new(),
1341            Style::new().fg(Color::new(66, 123, 88)),
1342            Style::new().fg(Color::new(66, 123, 88)),
1343            Style::new().fg(Color::new(66, 123, 88)),
1344            Style::new().fg(Color::new(157, 0, 6)),
1345            Style::new().fg(Color::new(157, 0, 6)),
1346            Style::new().fg(Color::new(157, 0, 6)),
1347            Style::new().fg(Color::new(157, 0, 6)),
1348            Style::new().fg(Color::new(157, 0, 6)),
1349            Style::new().fg(Color::new(157, 0, 6)),
1350            Style::new().fg(Color::new(157, 0, 6)),
1351            Style::new().fg(Color::new(157, 0, 6)),
1352            Style::new().fg(Color::new(157, 0, 6)),
1353            Style::new().fg(Color::new(157, 0, 6)),
1354            Style::new().fg(Color::new(157, 0, 6)),
1355            Style::new().fg(Color::new(60, 56, 54)),
1356            Style::new().fg(Color::new(7, 102, 120)),
1357            Style::new().fg(Color::new(60, 56, 54)),
1358            Style::new().fg(Color::new(60, 56, 54)),
1359            Style::new().fg(Color::new(60, 56, 54)),
1360            Style::new().fg(Color::new(175, 58, 3)),
1361            Style::new().fg(Color::new(121, 116, 14)),
1362            Style::new().fg(Color::new(175, 58, 3)),
1363            Style::new().fg(Color::new(157, 0, 6)),
1364            Style::new().fg(Color::new(157, 0, 6)),
1365            Style::new().fg(Color::new(157, 0, 6)),
1366            Style::new().fg(Color::new(181, 118, 20)),
1367            Style::new().fg(Color::new(181, 118, 20)),
1368            Style::new().fg(Color::new(181, 118, 20)),
1369            Style::new().fg(Color::new(60, 56, 54)),
1370            Style::new().fg(Color::new(175, 58, 3)),
1371            Style::new().fg(Color::new(7, 102, 120)),
1372            Style::new().fg(Color::new(146, 131, 116)),
1373            Style::new().fg(Color::new(146, 131, 116)),
1374            Style::new().fg(Color::new(66, 123, 88)),
1375            Style::new().fg(Color::new(157, 0, 6)),
1376            Style::new(),
1377            Style::new(),
1378            Style::new().fg(Color::new(143, 63, 113)),
1379            Style::new().fg(Color::new(60, 56, 54)),
1380            Style::new().italic(),
1381            Style::new().bold(),
1382            Style::new().fg(Color::new(7, 102, 120)).underline(),
1383            Style::new().fg(Color::new(66, 123, 88)),
1384            Style::new().fg(Color::new(175, 58, 3)),
1385            Style::new().fg(Color::new(121, 116, 14)).bold(),
1386            Style::new().strikethrough(),
1387            Style::new().fg(Color::new(60, 56, 54)),
1388            Style::new(),
1389            Style::new(),
1390            Style::new(),
1391            Style::new().fg(Color::new(157, 0, 6)),
1392            Style::new().fg(Color::new(157, 0, 6)),
1393            Style::new().fg(Color::new(157, 0, 6)),
1394            Style::new().fg(Color::new(157, 0, 6)),
1395            Style::new().fg(Color::new(157, 0, 6)),
1396            Style::new().fg(Color::new(157, 0, 6)),
1397            Style::new(),
1398            Style::new().fg(Color::new(121, 116, 14)),
1399            Style::new().fg(Color::new(121, 116, 14)),
1400            Style::new().fg(Color::new(60, 56, 54)),
1401            Style::new().fg(Color::new(66, 123, 88)),
1402            Style::new().fg(Color::new(181, 118, 20)),
1403            Style::new().fg(Color::new(66, 123, 88)),
1404            Style::new().fg(Color::new(157, 0, 6)),
1405            Style::new().fg(Color::new(157, 0, 6)),
1406            Style::new().fg(Color::new(121, 116, 14)),
1407            Style::new(),
1408            Style::new(),
1409            Style::new()
1410        ],
1411    }
1412}
1413
1414/// Kanagawa Dragon theme.
1415///
1416/// Source: https://github.com/rebelot/kanagawa.nvim
1417pub fn kanagawa_dragon() -> Theme {
1418    Theme {
1419        name: "Kanagawa Dragon".to_string(),
1420        is_dark: true,
1421        source_url: Some("https://github.com/rebelot/kanagawa.nvim".to_string()),
1422        background: Some(Color::new(24, 22, 22)),
1423        foreground: Some(Color::new(197, 201, 197)),
1424        styles: [
1425            Style::new().fg(Color::new(196, 178, 138)),
1426            Style::new().fg(Color::new(182, 146, 123)),
1427            Style::new().fg(Color::new(182, 146, 123)),
1428            Style::new(),
1429            Style::new().fg(Color::new(122, 168, 159)),
1430            Style::new().fg(Color::new(139, 164, 176)),
1431            Style::new().fg(Color::new(139, 164, 176)),
1432            Style::new().fg(Color::new(196, 116, 110)),
1433            Style::new().fg(Color::new(196, 116, 110)),
1434            Style::new().fg(Color::new(196, 116, 110)),
1435            Style::new().fg(Color::new(196, 116, 110)),
1436            Style::new().fg(Color::new(196, 116, 110)),
1437            Style::new().fg(Color::new(196, 116, 110)),
1438            Style::new().fg(Color::new(196, 116, 110)),
1439            Style::new().fg(Color::new(196, 116, 110)),
1440            Style::new().fg(Color::new(196, 116, 110)),
1441            Style::new().fg(Color::new(196, 116, 110)),
1442            Style::new().fg(Color::new(196, 116, 110)),
1443            Style::new().fg(Color::new(196, 116, 110)),
1444            Style::new().fg(Color::new(196, 178, 138)),
1445            Style::new().fg(Color::new(197, 201, 197)),
1446            Style::new().fg(Color::new(197, 201, 197)),
1447            Style::new().fg(Color::new(197, 201, 197)),
1448            Style::new().fg(Color::new(122, 168, 159)),
1449            Style::new().fg(Color::new(138, 154, 123)),
1450            Style::new().fg(Color::new(162, 146, 163)),
1451            Style::new().fg(Color::new(196, 116, 110)),
1452            Style::new().fg(Color::new(196, 116, 110)),
1453            Style::new().fg(Color::new(196, 116, 110)),
1454            Style::new().fg(Color::new(142, 164, 162)),
1455            Style::new().fg(Color::new(142, 164, 162)),
1456            Style::new().fg(Color::new(142, 164, 162)),
1457            Style::new().fg(Color::new(197, 201, 197)),
1458            Style::new().fg(Color::new(196, 116, 110)),
1459            Style::new().fg(Color::new(156, 156, 156)),
1460            Style::new().fg(Color::new(98, 94, 90)),
1461            Style::new().fg(Color::new(98, 94, 90)),
1462            Style::new().fg(Color::new(122, 168, 159)),
1463            Style::new().fg(Color::new(162, 146, 163)),
1464            Style::new(),
1465            Style::new(),
1466            Style::new().fg(Color::new(162, 146, 163)),
1467            Style::new().fg(Color::new(197, 201, 197)),
1468            Style::new().italic(),
1469            Style::new().bold(),
1470            Style::new().fg(Color::new(139, 164, 176)).underline(),
1471            Style::new().fg(Color::new(122, 168, 159)),
1472            Style::new().fg(Color::new(162, 146, 163)),
1473            Style::new().fg(Color::new(142, 164, 162)).bold(),
1474            Style::new().strikethrough(),
1475            Style::new().fg(Color::new(197, 201, 197)),
1476            Style::new(),
1477            Style::new(),
1478            Style::new(),
1479            Style::new().fg(Color::new(196, 116, 110)),
1480            Style::new().fg(Color::new(196, 116, 110)),
1481            Style::new().fg(Color::new(196, 116, 110)),
1482            Style::new().fg(Color::new(196, 116, 110)),
1483            Style::new().fg(Color::new(196, 116, 110)),
1484            Style::new().fg(Color::new(196, 116, 110)),
1485            Style::new(),
1486            Style::new().fg(Color::new(138, 154, 123)),
1487            Style::new().fg(Color::new(138, 154, 123)),
1488            Style::new().fg(Color::new(197, 201, 197)),
1489            Style::new().fg(Color::new(139, 164, 176)),
1490            Style::new().fg(Color::new(142, 164, 162)),
1491            Style::new().fg(Color::new(139, 164, 176)),
1492            Style::new().fg(Color::new(196, 116, 110)),
1493            Style::new().fg(Color::new(196, 116, 110)),
1494            Style::new().fg(Color::new(138, 154, 123)),
1495            Style::new(),
1496            Style::new(),
1497            Style::new()
1498        ],
1499    }
1500}
1501
1502/// Light Owl theme.
1503///
1504/// Source: https://github.com/sdras/night-owl-vscode-theme
1505pub fn light_owl() -> Theme {
1506    Theme {
1507        name: "Light Owl".to_string(),
1508        is_dark: false,
1509        source_url: Some("https://github.com/sdras/night-owl-vscode-theme".to_string()),
1510        background: Some(Color::new(251, 251, 251)),
1511        foreground: Some(Color::new(64, 63, 83)),
1512        styles: [
1513            Style::new().fg(Color::new(72, 118, 214)).italic(),
1514            Style::new().fg(Color::new(72, 118, 214)),
1515            Style::new().fg(Color::new(72, 118, 214)),
1516            Style::new(),
1517            Style::new().fg(Color::new(72, 118, 214)).italic(),
1518            Style::new().fg(Color::new(72, 118, 214)).italic(),
1519            Style::new().fg(Color::new(72, 118, 214)).italic(),
1520            Style::new().fg(Color::new(153, 76, 195)).italic(),
1521            Style::new().fg(Color::new(153, 76, 195)).italic(),
1522            Style::new().fg(Color::new(153, 76, 195)).italic(),
1523            Style::new().fg(Color::new(153, 76, 195)).italic(),
1524            Style::new().fg(Color::new(153, 76, 195)).italic(),
1525            Style::new().fg(Color::new(153, 76, 195)).italic(),
1526            Style::new().fg(Color::new(153, 76, 195)).italic(),
1527            Style::new().fg(Color::new(153, 76, 195)).italic(),
1528            Style::new().fg(Color::new(153, 76, 195)).italic(),
1529            Style::new().fg(Color::new(153, 76, 195)).italic(),
1530            Style::new().fg(Color::new(153, 76, 195)).italic(),
1531            Style::new().fg(Color::new(12, 150, 155)),
1532            Style::new().fg(Color::new(72, 118, 214)),
1533            Style::new().fg(Color::new(64, 63, 83)),
1534            Style::new().fg(Color::new(64, 63, 83)),
1535            Style::new().fg(Color::new(64, 63, 83)),
1536            Style::new().fg(Color::new(12, 150, 155)),
1537            Style::new().fg(Color::new(201, 103, 101)),
1538            Style::new().fg(Color::new(92, 167, 228)),
1539            Style::new().fg(Color::new(153, 76, 195)),
1540            Style::new().fg(Color::new(153, 76, 195)),
1541            Style::new().fg(Color::new(153, 76, 195)),
1542            Style::new().fg(Color::new(17, 17, 17)),
1543            Style::new().fg(Color::new(17, 17, 17)),
1544            Style::new().fg(Color::new(17, 17, 17)),
1545            Style::new().fg(Color::new(64, 63, 83)),
1546            Style::new().fg(Color::new(188, 84, 84)),
1547            Style::new().fg(Color::new(64, 63, 83)),
1548            Style::new().fg(Color::new(152, 159, 177)).italic(),
1549            Style::new().fg(Color::new(152, 159, 177)).italic(),
1550            Style::new().fg(Color::new(153, 76, 195)),
1551            Style::new().fg(Color::new(12, 150, 155)),
1552            Style::new(),
1553            Style::new(),
1554            Style::new().fg(Color::new(170, 9, 130)),
1555            Style::new().fg(Color::new(64, 63, 83)),
1556            Style::new().italic(),
1557            Style::new().bold(),
1558            Style::new().fg(Color::new(72, 118, 214)).underline(),
1559            Style::new().fg(Color::new(72, 118, 214)),
1560            Style::new().fg(Color::new(12, 150, 155)),
1561            Style::new().fg(Color::new(153, 76, 195)).bold(),
1562            Style::new().strikethrough(),
1563            Style::new().fg(Color::new(64, 63, 83)),
1564            Style::new(),
1565            Style::new(),
1566            Style::new(),
1567            Style::new().fg(Color::new(153, 76, 195)).italic(),
1568            Style::new().fg(Color::new(153, 76, 195)).italic(),
1569            Style::new().fg(Color::new(153, 76, 195)).italic(),
1570            Style::new().fg(Color::new(153, 76, 195)).italic(),
1571            Style::new().fg(Color::new(153, 76, 195)).italic(),
1572            Style::new().fg(Color::new(153, 76, 195)).italic(),
1573            Style::new(),
1574            Style::new().fg(Color::new(201, 103, 101)),
1575            Style::new().fg(Color::new(201, 103, 101)),
1576            Style::new().fg(Color::new(64, 63, 83)),
1577            Style::new().fg(Color::new(72, 118, 214)).italic(),
1578            Style::new().fg(Color::new(17, 17, 17)),
1579            Style::new().fg(Color::new(72, 118, 214)).italic(),
1580            Style::new().fg(Color::new(153, 76, 195)).italic(),
1581            Style::new().fg(Color::new(153, 76, 195)).italic(),
1582            Style::new().fg(Color::new(201, 103, 101)),
1583            Style::new(),
1584            Style::new(),
1585            Style::new()
1586        ],
1587    }
1588}
1589
1590/// Lucius Light theme.
1591///
1592/// Source: https://github.com/jonathanfilip/vim-lucius
1593pub fn lucius_light() -> Theme {
1594    Theme {
1595        name: "Lucius Light".to_string(),
1596        is_dark: false,
1597        source_url: Some("https://github.com/jonathanfilip/vim-lucius".to_string()),
1598        background: Some(Color::new(238, 238, 238)),
1599        foreground: Some(Color::new(68, 68, 68)),
1600        styles: [
1601            Style::new().fg(Color::new(0, 135, 135)),
1602            Style::new().fg(Color::new(175, 95, 0)),
1603            Style::new().fg(Color::new(175, 95, 0)),
1604            Style::new(),
1605            Style::new().fg(Color::new(0, 135, 0)),
1606            Style::new().fg(Color::new(0, 135, 0)),
1607            Style::new().fg(Color::new(0, 135, 0)),
1608            Style::new().fg(Color::new(0, 95, 175)),
1609            Style::new().fg(Color::new(0, 95, 175)),
1610            Style::new().fg(Color::new(0, 95, 175)),
1611            Style::new().fg(Color::new(0, 95, 175)),
1612            Style::new().fg(Color::new(0, 95, 175)),
1613            Style::new().fg(Color::new(0, 95, 175)),
1614            Style::new().fg(Color::new(0, 95, 175)),
1615            Style::new().fg(Color::new(0, 95, 175)),
1616            Style::new().fg(Color::new(0, 95, 175)),
1617            Style::new().fg(Color::new(0, 95, 175)),
1618            Style::new().fg(Color::new(0, 95, 175)),
1619            Style::new().fg(Color::new(0, 95, 175)),
1620            Style::new().fg(Color::new(0, 135, 0)),
1621            Style::new().fg(Color::new(68, 68, 68)),
1622            Style::new().fg(Color::new(68, 68, 68)),
1623            Style::new().fg(Color::new(68, 68, 68)),
1624            Style::new().fg(Color::new(135, 0, 135)),
1625            Style::new().fg(Color::new(175, 95, 0)),
1626            Style::new().fg(Color::new(135, 0, 135)),
1627            Style::new().fg(Color::new(0, 95, 175)),
1628            Style::new().fg(Color::new(0, 95, 175)),
1629            Style::new().fg(Color::new(0, 95, 175)),
1630            Style::new().fg(Color::new(0, 95, 135)),
1631            Style::new().fg(Color::new(0, 95, 135)),
1632            Style::new().fg(Color::new(0, 95, 135)),
1633            Style::new().fg(Color::new(68, 68, 68)),
1634            Style::new().fg(Color::new(135, 0, 135)),
1635            Style::new().fg(Color::new(68, 68, 68)),
1636            Style::new().fg(Color::new(128, 128, 128)).italic(),
1637            Style::new().fg(Color::new(128, 128, 128)).italic(),
1638            Style::new().fg(Color::new(0, 135, 135)),
1639            Style::new().fg(Color::new(0, 135, 135)),
1640            Style::new(),
1641            Style::new(),
1642            Style::new().fg(Color::new(175, 95, 0)),
1643            Style::new().fg(Color::new(68, 68, 68)),
1644            Style::new().italic(),
1645            Style::new().bold(),
1646            Style::new().fg(Color::new(0, 95, 175)).underline(),
1647            Style::new().fg(Color::new(0, 95, 175)),
1648            Style::new().fg(Color::new(0, 135, 135)),
1649            Style::new().fg(Color::new(0, 95, 175)).bold(),
1650            Style::new().strikethrough(),
1651            Style::new().fg(Color::new(68, 68, 68)),
1652            Style::new(),
1653            Style::new(),
1654            Style::new(),
1655            Style::new().fg(Color::new(0, 95, 175)),
1656            Style::new().fg(Color::new(0, 95, 175)),
1657            Style::new().fg(Color::new(0, 95, 175)),
1658            Style::new().fg(Color::new(0, 95, 175)),
1659            Style::new().fg(Color::new(0, 95, 175)),
1660            Style::new().fg(Color::new(0, 95, 175)),
1661            Style::new(),
1662            Style::new().fg(Color::new(175, 95, 0)),
1663            Style::new().fg(Color::new(175, 95, 0)),
1664            Style::new().fg(Color::new(68, 68, 68)),
1665            Style::new().fg(Color::new(0, 135, 0)),
1666            Style::new().fg(Color::new(0, 95, 135)),
1667            Style::new().fg(Color::new(0, 135, 0)),
1668            Style::new().fg(Color::new(0, 95, 175)),
1669            Style::new().fg(Color::new(0, 95, 175)),
1670            Style::new().fg(Color::new(175, 95, 0)),
1671            Style::new(),
1672            Style::new(),
1673            Style::new()
1674        ],
1675    }
1676}
1677
1678/// Melange Dark theme.
1679///
1680/// Source: https://github.com/savq/melange-nvim
1681pub fn melange_dark() -> Theme {
1682    Theme {
1683        name: "Melange Dark".to_string(),
1684        is_dark: true,
1685        source_url: Some("https://github.com/savq/melange-nvim".to_string()),
1686        background: Some(Color::new(41, 37, 34)),
1687        foreground: Some(Color::new(236, 225, 215)),
1688        styles: [
1689            Style::new().fg(Color::new(193, 167, 142)),
1690            Style::new().fg(Color::new(207, 155, 194)),
1691            Style::new().fg(Color::new(207, 155, 194)),
1692            Style::new(),
1693            Style::new().fg(Color::new(163, 169, 206)),
1694            Style::new().fg(Color::new(163, 169, 206)),
1695            Style::new().fg(Color::new(163, 169, 206)),
1696            Style::new().fg(Color::new(189, 129, 131)),
1697            Style::new().fg(Color::new(189, 129, 131)),
1698            Style::new().fg(Color::new(189, 129, 131)),
1699            Style::new().fg(Color::new(189, 129, 131)),
1700            Style::new().fg(Color::new(189, 129, 131)),
1701            Style::new().fg(Color::new(189, 129, 131)),
1702            Style::new().fg(Color::new(189, 129, 131)),
1703            Style::new().fg(Color::new(189, 129, 131)),
1704            Style::new().fg(Color::new(189, 129, 131)),
1705            Style::new().fg(Color::new(189, 129, 131)),
1706            Style::new().fg(Color::new(189, 129, 131)),
1707            Style::new().fg(Color::new(189, 129, 131)),
1708            Style::new().fg(Color::new(193, 167, 142)),
1709            Style::new().fg(Color::new(236, 225, 215)),
1710            Style::new().fg(Color::new(236, 225, 215)),
1711            Style::new().fg(Color::new(236, 225, 215)),
1712            Style::new().fg(Color::new(207, 155, 194)),
1713            Style::new().fg(Color::new(133, 182, 149)),
1714            Style::new().fg(Color::new(212, 119, 102)),
1715            Style::new().fg(Color::new(189, 129, 131)),
1716            Style::new().fg(Color::new(189, 129, 131)),
1717            Style::new().fg(Color::new(189, 129, 131)),
1718            Style::new().fg(Color::new(193, 167, 142)),
1719            Style::new().fg(Color::new(193, 167, 142)),
1720            Style::new().fg(Color::new(193, 167, 142)),
1721            Style::new().fg(Color::new(236, 225, 215)),
1722            Style::new().fg(Color::new(212, 119, 102)),
1723            Style::new().fg(Color::new(193, 167, 142)),
1724            Style::new().fg(Color::new(134, 116, 98)).italic(),
1725            Style::new().fg(Color::new(134, 116, 98)).italic(),
1726            Style::new().fg(Color::new(163, 169, 206)),
1727            Style::new().fg(Color::new(207, 155, 194)),
1728            Style::new(),
1729            Style::new(),
1730            Style::new().fg(Color::new(207, 155, 194)),
1731            Style::new().fg(Color::new(236, 225, 215)),
1732            Style::new().italic(),
1733            Style::new().bold(),
1734            Style::new().fg(Color::new(163, 169, 206)).underline(),
1735            Style::new().fg(Color::new(163, 169, 206)),
1736            Style::new().fg(Color::new(235, 192, 109)),
1737            Style::new().fg(Color::new(193, 167, 142)).bold(),
1738            Style::new().strikethrough(),
1739            Style::new().fg(Color::new(236, 225, 215)),
1740            Style::new(),
1741            Style::new(),
1742            Style::new(),
1743            Style::new().fg(Color::new(189, 129, 131)),
1744            Style::new().fg(Color::new(189, 129, 131)),
1745            Style::new().fg(Color::new(189, 129, 131)),
1746            Style::new().fg(Color::new(189, 129, 131)),
1747            Style::new().fg(Color::new(189, 129, 131)),
1748            Style::new().fg(Color::new(189, 129, 131)),
1749            Style::new(),
1750            Style::new().fg(Color::new(133, 182, 149)),
1751            Style::new().fg(Color::new(133, 182, 149)),
1752            Style::new().fg(Color::new(236, 225, 215)),
1753            Style::new().fg(Color::new(163, 169, 206)),
1754            Style::new().fg(Color::new(193, 167, 142)),
1755            Style::new().fg(Color::new(163, 169, 206)),
1756            Style::new().fg(Color::new(189, 129, 131)),
1757            Style::new().fg(Color::new(189, 129, 131)),
1758            Style::new().fg(Color::new(133, 182, 149)),
1759            Style::new(),
1760            Style::new(),
1761            Style::new()
1762        ],
1763    }
1764}
1765
1766/// Melange Light theme.
1767///
1768/// Source: https://github.com/savq/melange-nvim
1769pub fn melange_light() -> Theme {
1770    Theme {
1771        name: "Melange Light".to_string(),
1772        is_dark: false,
1773        source_url: Some("https://github.com/savq/melange-nvim".to_string()),
1774        background: Some(Color::new(241, 241, 241)),
1775        foreground: Some(Color::new(84, 67, 58)),
1776        styles: [
1777            Style::new().fg(Color::new(188, 92, 0)),
1778            Style::new().fg(Color::new(144, 65, 128)),
1779            Style::new().fg(Color::new(144, 65, 128)),
1780            Style::new(),
1781            Style::new().fg(Color::new(70, 90, 164)),
1782            Style::new().fg(Color::new(70, 90, 164)),
1783            Style::new().fg(Color::new(70, 90, 164)),
1784            Style::new().fg(Color::new(188, 92, 0)),
1785            Style::new().fg(Color::new(188, 92, 0)),
1786            Style::new().fg(Color::new(188, 92, 0)),
1787            Style::new().fg(Color::new(188, 92, 0)),
1788            Style::new().fg(Color::new(188, 92, 0)),
1789            Style::new().fg(Color::new(188, 92, 0)),
1790            Style::new().fg(Color::new(188, 92, 0)),
1791            Style::new().fg(Color::new(188, 92, 0)),
1792            Style::new().fg(Color::new(188, 92, 0)),
1793            Style::new().fg(Color::new(188, 92, 0)),
1794            Style::new().fg(Color::new(188, 92, 0)),
1795            Style::new().fg(Color::new(188, 92, 0)),
1796            Style::new().fg(Color::new(188, 92, 0)),
1797            Style::new().fg(Color::new(84, 67, 58)),
1798            Style::new().fg(Color::new(84, 67, 58)),
1799            Style::new().fg(Color::new(84, 67, 58)),
1800            Style::new().fg(Color::new(144, 65, 128)),
1801            Style::new().fg(Color::new(58, 104, 74)),
1802            Style::new().fg(Color::new(191, 0, 33)),
1803            Style::new().fg(Color::new(188, 92, 0)),
1804            Style::new().fg(Color::new(188, 92, 0)),
1805            Style::new().fg(Color::new(188, 92, 0)),
1806            Style::new().fg(Color::new(188, 92, 0)),
1807            Style::new().fg(Color::new(188, 92, 0)),
1808            Style::new().fg(Color::new(188, 92, 0)),
1809            Style::new().fg(Color::new(84, 67, 58)),
1810            Style::new().fg(Color::new(191, 0, 33)),
1811            Style::new().fg(Color::new(188, 92, 0)),
1812            Style::new().fg(Color::new(125, 102, 88)).italic(),
1813            Style::new().fg(Color::new(125, 102, 88)).italic(),
1814            Style::new().fg(Color::new(70, 90, 164)),
1815            Style::new().fg(Color::new(144, 65, 128)),
1816            Style::new(),
1817            Style::new(),
1818            Style::new().fg(Color::new(144, 65, 128)),
1819            Style::new().fg(Color::new(84, 67, 58)),
1820            Style::new().italic(),
1821            Style::new().bold(),
1822            Style::new().fg(Color::new(70, 90, 164)).underline(),
1823            Style::new().fg(Color::new(70, 90, 164)),
1824            Style::new().fg(Color::new(160, 109, 0)),
1825            Style::new().fg(Color::new(188, 92, 0)).bold(),
1826            Style::new().strikethrough(),
1827            Style::new().fg(Color::new(84, 67, 58)),
1828            Style::new(),
1829            Style::new(),
1830            Style::new(),
1831            Style::new().fg(Color::new(188, 92, 0)),
1832            Style::new().fg(Color::new(188, 92, 0)),
1833            Style::new().fg(Color::new(188, 92, 0)),
1834            Style::new().fg(Color::new(188, 92, 0)),
1835            Style::new().fg(Color::new(188, 92, 0)),
1836            Style::new().fg(Color::new(188, 92, 0)),
1837            Style::new(),
1838            Style::new().fg(Color::new(58, 104, 74)),
1839            Style::new().fg(Color::new(58, 104, 74)),
1840            Style::new().fg(Color::new(84, 67, 58)),
1841            Style::new().fg(Color::new(70, 90, 164)),
1842            Style::new().fg(Color::new(188, 92, 0)),
1843            Style::new().fg(Color::new(70, 90, 164)),
1844            Style::new().fg(Color::new(188, 92, 0)),
1845            Style::new().fg(Color::new(188, 92, 0)),
1846            Style::new().fg(Color::new(58, 104, 74)),
1847            Style::new(),
1848            Style::new(),
1849            Style::new()
1850        ],
1851    }
1852}
1853
1854/// Monokai theme.
1855///
1856/// Source: https://monokai.pro
1857pub fn monokai() -> Theme {
1858    Theme {
1859        name: "Monokai".to_string(),
1860        is_dark: true,
1861        source_url: Some("https://monokai.pro".to_string()),
1862        background: Some(Color::new(45, 42, 46)),
1863        foreground: Some(Color::new(252, 252, 250)),
1864        styles: [
1865            Style::new().fg(Color::new(169, 220, 118)),
1866            Style::new().fg(Color::new(171, 157, 242)),
1867            Style::new().fg(Color::new(171, 157, 242)),
1868            Style::new(),
1869            Style::new().fg(Color::new(120, 220, 232)),
1870            Style::new().fg(Color::new(169, 220, 118)),
1871            Style::new().fg(Color::new(169, 220, 118)),
1872            Style::new().fg(Color::new(255, 97, 136)),
1873            Style::new().fg(Color::new(255, 97, 136)),
1874            Style::new().fg(Color::new(255, 97, 136)),
1875            Style::new().fg(Color::new(255, 97, 136)),
1876            Style::new().fg(Color::new(255, 97, 136)),
1877            Style::new().fg(Color::new(255, 97, 136)),
1878            Style::new().fg(Color::new(255, 97, 136)),
1879            Style::new().fg(Color::new(255, 97, 136)),
1880            Style::new().fg(Color::new(255, 97, 136)),
1881            Style::new().fg(Color::new(255, 97, 136)),
1882            Style::new().fg(Color::new(255, 97, 136)),
1883            Style::new().fg(Color::new(255, 97, 136)),
1884            Style::new().fg(Color::new(120, 220, 232)),
1885            Style::new().fg(Color::new(252, 252, 250)),
1886            Style::new().fg(Color::new(252, 252, 250)),
1887            Style::new().fg(Color::new(252, 252, 250)),
1888            Style::new().fg(Color::new(255, 97, 136)),
1889            Style::new().fg(Color::new(255, 216, 102)),
1890            Style::new().fg(Color::new(171, 157, 242)),
1891            Style::new().fg(Color::new(255, 97, 136)),
1892            Style::new().fg(Color::new(255, 97, 136)),
1893            Style::new().fg(Color::new(255, 97, 136)),
1894            Style::new().fg(Color::new(120, 220, 232)),
1895            Style::new().fg(Color::new(120, 220, 232)),
1896            Style::new().fg(Color::new(120, 220, 232)),
1897            Style::new().fg(Color::new(252, 252, 250)),
1898            Style::new().fg(Color::new(171, 157, 242)),
1899            Style::new().fg(Color::new(252, 152, 103)),
1900            Style::new().fg(Color::new(114, 112, 114)),
1901            Style::new().fg(Color::new(114, 112, 114)),
1902            Style::new().fg(Color::new(120, 220, 232)),
1903            Style::new().fg(Color::new(255, 97, 136)),
1904            Style::new(),
1905            Style::new(),
1906            Style::new().fg(Color::new(171, 157, 242)),
1907            Style::new().fg(Color::new(252, 252, 250)),
1908            Style::new().italic(),
1909            Style::new().bold(),
1910            Style::new().fg(Color::new(120, 220, 232)).underline(),
1911            Style::new().fg(Color::new(120, 220, 232)),
1912            Style::new().fg(Color::new(171, 157, 242)),
1913            Style::new().fg(Color::new(255, 216, 102)).bold(),
1914            Style::new().strikethrough(),
1915            Style::new().fg(Color::new(252, 252, 250)),
1916            Style::new(),
1917            Style::new(),
1918            Style::new(),
1919            Style::new().fg(Color::new(255, 97, 136)),
1920            Style::new().fg(Color::new(255, 97, 136)),
1921            Style::new().fg(Color::new(255, 97, 136)),
1922            Style::new().fg(Color::new(255, 97, 136)),
1923            Style::new().fg(Color::new(255, 97, 136)),
1924            Style::new().fg(Color::new(255, 97, 136)),
1925            Style::new(),
1926            Style::new().fg(Color::new(255, 216, 102)),
1927            Style::new().fg(Color::new(255, 216, 102)),
1928            Style::new().fg(Color::new(252, 252, 250)),
1929            Style::new().fg(Color::new(169, 220, 118)),
1930            Style::new().fg(Color::new(120, 220, 232)),
1931            Style::new().fg(Color::new(169, 220, 118)),
1932            Style::new().fg(Color::new(255, 97, 136)),
1933            Style::new().fg(Color::new(255, 97, 136)),
1934            Style::new().fg(Color::new(255, 216, 102)),
1935            Style::new(),
1936            Style::new(),
1937            Style::new()
1938        ],
1939    }
1940}
1941
1942/// Nord theme.
1943///
1944/// Source: https://www.nordtheme.com
1945pub fn nord() -> Theme {
1946    Theme {
1947        name: "Nord".to_string(),
1948        is_dark: true,
1949        source_url: Some("https://www.nordtheme.com".to_string()),
1950        background: Some(Color::new(46, 52, 64)),
1951        foreground: Some(Color::new(236, 239, 244)),
1952        styles: [
1953            Style::new().fg(Color::new(143, 188, 187)),
1954            Style::new().fg(Color::new(180, 142, 173)),
1955            Style::new().fg(Color::new(180, 142, 173)),
1956            Style::new(),
1957            Style::new().fg(Color::new(136, 192, 208)),
1958            Style::new().fg(Color::new(136, 192, 208)),
1959            Style::new().fg(Color::new(136, 192, 208)),
1960            Style::new().fg(Color::new(129, 161, 193)),
1961            Style::new().fg(Color::new(129, 161, 193)),
1962            Style::new().fg(Color::new(129, 161, 193)),
1963            Style::new().fg(Color::new(129, 161, 193)),
1964            Style::new().fg(Color::new(129, 161, 193)),
1965            Style::new().fg(Color::new(129, 161, 193)),
1966            Style::new().fg(Color::new(129, 161, 193)),
1967            Style::new().fg(Color::new(129, 161, 193)),
1968            Style::new().fg(Color::new(129, 161, 193)),
1969            Style::new().fg(Color::new(129, 161, 193)),
1970            Style::new().fg(Color::new(129, 161, 193)),
1971            Style::new().fg(Color::new(129, 161, 193)),
1972            Style::new().fg(Color::new(136, 192, 208)),
1973            Style::new().fg(Color::new(236, 239, 244)),
1974            Style::new().fg(Color::new(236, 239, 244)),
1975            Style::new().fg(Color::new(236, 239, 244)),
1976            Style::new().fg(Color::new(208, 135, 112)),
1977            Style::new().fg(Color::new(163, 190, 140)),
1978            Style::new().fg(Color::new(191, 97, 106)),
1979            Style::new().fg(Color::new(129, 161, 193)),
1980            Style::new().fg(Color::new(129, 161, 193)),
1981            Style::new().fg(Color::new(129, 161, 193)),
1982            Style::new().fg(Color::new(143, 188, 187)),
1983            Style::new().fg(Color::new(143, 188, 187)),
1984            Style::new().fg(Color::new(143, 188, 187)),
1985            Style::new().fg(Color::new(236, 239, 244)),
1986            Style::new().fg(Color::new(191, 97, 106)),
1987            Style::new().fg(Color::new(208, 135, 112)),
1988            Style::new().fg(Color::new(97, 110, 136)),
1989            Style::new().fg(Color::new(97, 110, 136)),
1990            Style::new().fg(Color::new(94, 129, 172)),
1991            Style::new().fg(Color::new(208, 135, 112)),
1992            Style::new(),
1993            Style::new(),
1994            Style::new().fg(Color::new(180, 142, 173)),
1995            Style::new().fg(Color::new(236, 239, 244)),
1996            Style::new().italic(),
1997            Style::new().bold(),
1998            Style::new().fg(Color::new(136, 192, 208)).underline(),
1999            Style::new().fg(Color::new(136, 192, 208)),
2000            Style::new().fg(Color::new(235, 203, 139)),
2001            Style::new().fg(Color::new(129, 161, 193)).bold(),
2002            Style::new().strikethrough(),
2003            Style::new().fg(Color::new(236, 239, 244)),
2004            Style::new(),
2005            Style::new(),
2006            Style::new(),
2007            Style::new().fg(Color::new(129, 161, 193)),
2008            Style::new().fg(Color::new(129, 161, 193)),
2009            Style::new().fg(Color::new(129, 161, 193)),
2010            Style::new().fg(Color::new(129, 161, 193)),
2011            Style::new().fg(Color::new(129, 161, 193)),
2012            Style::new().fg(Color::new(129, 161, 193)),
2013            Style::new(),
2014            Style::new().fg(Color::new(163, 190, 140)),
2015            Style::new().fg(Color::new(163, 190, 140)),
2016            Style::new().fg(Color::new(236, 239, 244)),
2017            Style::new().fg(Color::new(136, 192, 208)),
2018            Style::new().fg(Color::new(143, 188, 187)),
2019            Style::new().fg(Color::new(136, 192, 208)),
2020            Style::new().fg(Color::new(129, 161, 193)),
2021            Style::new().fg(Color::new(129, 161, 193)),
2022            Style::new().fg(Color::new(163, 190, 140)),
2023            Style::new(),
2024            Style::new(),
2025            Style::new()
2026        ],
2027    }
2028}
2029
2030/// One Dark theme.
2031///
2032/// Source: https://github.com/atom/one-dark-syntax
2033pub fn one_dark() -> Theme {
2034    Theme {
2035        name: "One Dark".to_string(),
2036        is_dark: true,
2037        source_url: Some("https://github.com/atom/one-dark-syntax".to_string()),
2038        background: Some(Color::new(40, 44, 52)),
2039        foreground: Some(Color::new(171, 178, 191)),
2040        styles: [
2041            Style::new().fg(Color::new(209, 154, 102)),
2042            Style::new().fg(Color::new(209, 154, 102)),
2043            Style::new().fg(Color::new(209, 154, 102)),
2044            Style::new(),
2045            Style::new().fg(Color::new(86, 182, 194)),
2046            Style::new().fg(Color::new(97, 175, 239)),
2047            Style::new().fg(Color::new(97, 175, 239)),
2048            Style::new().fg(Color::new(198, 120, 221)),
2049            Style::new().fg(Color::new(198, 120, 221)),
2050            Style::new().fg(Color::new(198, 120, 221)),
2051            Style::new().fg(Color::new(198, 120, 221)),
2052            Style::new().fg(Color::new(198, 120, 221)),
2053            Style::new().fg(Color::new(198, 120, 221)),
2054            Style::new().fg(Color::new(198, 120, 221)),
2055            Style::new().fg(Color::new(198, 120, 221)),
2056            Style::new().fg(Color::new(198, 120, 221)),
2057            Style::new().fg(Color::new(198, 120, 221)),
2058            Style::new().fg(Color::new(198, 120, 221)),
2059            Style::new().fg(Color::new(86, 182, 194)),
2060            Style::new().fg(Color::new(224, 108, 117)),
2061            Style::new().fg(Color::new(171, 178, 191)),
2062            Style::new().fg(Color::new(171, 178, 191)),
2063            Style::new().fg(Color::new(171, 178, 191)),
2064            Style::new().fg(Color::new(198, 120, 221)),
2065            Style::new().fg(Color::new(152, 195, 121)),
2066            Style::new().fg(Color::new(224, 108, 117)),
2067            Style::new().fg(Color::new(224, 108, 117)),
2068            Style::new().fg(Color::new(224, 108, 117)),
2069            Style::new().fg(Color::new(224, 108, 117)),
2070            Style::new().fg(Color::new(229, 192, 123)),
2071            Style::new().fg(Color::new(229, 192, 123)),
2072            Style::new().fg(Color::new(229, 192, 123)),
2073            Style::new().fg(Color::new(171, 178, 191)),
2074            Style::new().fg(Color::new(224, 108, 117)),
2075            Style::new().fg(Color::new(209, 154, 102)),
2076            Style::new().fg(Color::new(92, 99, 112)),
2077            Style::new().fg(Color::new(92, 99, 112)),
2078            Style::new().fg(Color::new(86, 182, 194)),
2079            Style::new().fg(Color::new(224, 108, 117)),
2080            Style::new(),
2081            Style::new(),
2082            Style::new().fg(Color::new(209, 154, 102)),
2083            Style::new().fg(Color::new(171, 178, 191)),
2084            Style::new().italic(),
2085            Style::new().bold(),
2086            Style::new().fg(Color::new(97, 175, 239)).underline(),
2087            Style::new().fg(Color::new(86, 182, 194)),
2088            Style::new().fg(Color::new(86, 182, 194)),
2089            Style::new().fg(Color::new(224, 108, 117)).bold(),
2090            Style::new().strikethrough(),
2091            Style::new().fg(Color::new(171, 178, 191)),
2092            Style::new(),
2093            Style::new(),
2094            Style::new(),
2095            Style::new().fg(Color::new(198, 120, 221)),
2096            Style::new().fg(Color::new(198, 120, 221)),
2097            Style::new().fg(Color::new(198, 120, 221)),
2098            Style::new().fg(Color::new(198, 120, 221)),
2099            Style::new().fg(Color::new(198, 120, 221)),
2100            Style::new().fg(Color::new(198, 120, 221)),
2101            Style::new(),
2102            Style::new().fg(Color::new(152, 195, 121)),
2103            Style::new().fg(Color::new(152, 195, 121)),
2104            Style::new().fg(Color::new(171, 178, 191)),
2105            Style::new().fg(Color::new(97, 175, 239)),
2106            Style::new().fg(Color::new(229, 192, 123)),
2107            Style::new().fg(Color::new(97, 175, 239)),
2108            Style::new().fg(Color::new(198, 120, 221)),
2109            Style::new().fg(Color::new(198, 120, 221)),
2110            Style::new().fg(Color::new(152, 195, 121)),
2111            Style::new(),
2112            Style::new(),
2113            Style::new()
2114        ],
2115    }
2116}
2117
2118/// Rosé Pine Moon theme.
2119///
2120/// Source: https://rosepinetheme.com
2121pub fn rose_pine_moon() -> Theme {
2122    Theme {
2123        name: "Rosé Pine Moon".to_string(),
2124        is_dark: true,
2125        source_url: Some("https://rosepinetheme.com".to_string()),
2126        background: Some(Color::new(35, 33, 54)),
2127        foreground: Some(Color::new(224, 222, 244)),
2128        styles: [
2129            Style::new().fg(Color::new(246, 193, 119)),
2130            Style::new().fg(Color::new(246, 193, 119)),
2131            Style::new().fg(Color::new(246, 193, 119)),
2132            Style::new(),
2133            Style::new().fg(Color::new(156, 207, 216)),
2134            Style::new().fg(Color::new(234, 154, 151)),
2135            Style::new().fg(Color::new(234, 154, 151)),
2136            Style::new().fg(Color::new(62, 143, 176)),
2137            Style::new().fg(Color::new(62, 143, 176)),
2138            Style::new().fg(Color::new(62, 143, 176)),
2139            Style::new().fg(Color::new(62, 143, 176)),
2140            Style::new().fg(Color::new(62, 143, 176)),
2141            Style::new().fg(Color::new(62, 143, 176)),
2142            Style::new().fg(Color::new(62, 143, 176)),
2143            Style::new().fg(Color::new(62, 143, 176)),
2144            Style::new().fg(Color::new(62, 143, 176)),
2145            Style::new().fg(Color::new(62, 143, 176)),
2146            Style::new().fg(Color::new(62, 143, 176)),
2147            Style::new().fg(Color::new(144, 140, 170)),
2148            Style::new().fg(Color::new(156, 207, 216)),
2149            Style::new().fg(Color::new(144, 140, 170)),
2150            Style::new().fg(Color::new(144, 140, 170)),
2151            Style::new().fg(Color::new(144, 140, 170)),
2152            Style::new().fg(Color::new(144, 140, 170)),
2153            Style::new().fg(Color::new(246, 193, 119)),
2154            Style::new().fg(Color::new(235, 111, 146)),
2155            Style::new().fg(Color::new(156, 207, 216)),
2156            Style::new().fg(Color::new(156, 207, 216)),
2157            Style::new().fg(Color::new(156, 207, 216)),
2158            Style::new().fg(Color::new(196, 167, 231)),
2159            Style::new().fg(Color::new(196, 167, 231)),
2160            Style::new().fg(Color::new(196, 167, 231)),
2161            Style::new().fg(Color::new(224, 222, 244)),
2162            Style::new().fg(Color::new(235, 111, 146)),
2163            Style::new().fg(Color::new(196, 167, 231)),
2164            Style::new().fg(Color::new(110, 106, 134)).italic(),
2165            Style::new().fg(Color::new(110, 106, 134)).italic(),
2166            Style::new().fg(Color::new(156, 207, 216)),
2167            Style::new().fg(Color::new(156, 207, 216)),
2168            Style::new(),
2169            Style::new(),
2170            Style::new().fg(Color::new(246, 193, 119)),
2171            Style::new().fg(Color::new(224, 222, 244)),
2172            Style::new().italic(),
2173            Style::new().bold(),
2174            Style::new().fg(Color::new(196, 167, 231)).underline(),
2175            Style::new().fg(Color::new(156, 207, 216)),
2176            Style::new().fg(Color::new(62, 143, 176)),
2177            Style::new().fg(Color::new(246, 193, 119)).bold(),
2178            Style::new().strikethrough(),
2179            Style::new().fg(Color::new(224, 222, 244)),
2180            Style::new(),
2181            Style::new(),
2182            Style::new(),
2183            Style::new().fg(Color::new(62, 143, 176)),
2184            Style::new().fg(Color::new(62, 143, 176)),
2185            Style::new().fg(Color::new(62, 143, 176)),
2186            Style::new().fg(Color::new(62, 143, 176)),
2187            Style::new().fg(Color::new(62, 143, 176)),
2188            Style::new().fg(Color::new(62, 143, 176)),
2189            Style::new(),
2190            Style::new().fg(Color::new(246, 193, 119)),
2191            Style::new().fg(Color::new(246, 193, 119)),
2192            Style::new().fg(Color::new(224, 222, 244)),
2193            Style::new().fg(Color::new(234, 154, 151)),
2194            Style::new().fg(Color::new(196, 167, 231)),
2195            Style::new().fg(Color::new(234, 154, 151)),
2196            Style::new().fg(Color::new(62, 143, 176)),
2197            Style::new().fg(Color::new(62, 143, 176)),
2198            Style::new().fg(Color::new(246, 193, 119)),
2199            Style::new(),
2200            Style::new(),
2201            Style::new()
2202        ],
2203    }
2204}
2205
2206/// Rustdoc Ayu theme.
2207///
2208/// Source: https://github.com/rust-lang/rust/blob/master/src/librustdoc/html/static/css/themes/ayu.css
2209pub fn rustdoc_ayu() -> Theme {
2210    Theme {
2211        name: "Rustdoc Ayu".to_string(),
2212        is_dark: true,
2213        source_url: Some("https://github.com/rust-lang/rust/blob/master/src/librustdoc/html/static/css/themes/ayu.css".to_string()),
2214        background: Some(Color::new(15, 20, 25)),
2215        foreground: Some(Color::new(197, 197, 197)),
2216        styles: [
2217            Style::new().fg(Color::new(230, 225, 207)),
2218            Style::new().fg(Color::new(255, 119, 51)),
2219            Style::new().fg(Color::new(255, 119, 51)),
2220            Style::new(),
2221            Style::new().fg(Color::new(105, 242, 223)),
2222            Style::new().fg(Color::new(253, 214, 135)),
2223            Style::new().fg(Color::new(253, 214, 135)),
2224            Style::new().fg(Color::new(255, 119, 51)),
2225            Style::new().fg(Color::new(255, 119, 51)),
2226            Style::new().fg(Color::new(255, 119, 51)),
2227            Style::new().fg(Color::new(255, 119, 51)),
2228            Style::new().fg(Color::new(255, 119, 51)),
2229            Style::new().fg(Color::new(255, 119, 51)),
2230            Style::new().fg(Color::new(255, 119, 51)),
2231            Style::new().fg(Color::new(255, 119, 51)),
2232            Style::new().fg(Color::new(255, 119, 51)),
2233            Style::new().fg(Color::new(255, 119, 51)),
2234            Style::new().fg(Color::new(255, 119, 51)),
2235            Style::new().fg(Color::new(255, 119, 51)),
2236            Style::new().fg(Color::new(105, 242, 223)),
2237            Style::new().fg(Color::new(197, 197, 197)),
2238            Style::new().fg(Color::new(197, 197, 197)),
2239            Style::new().fg(Color::new(197, 197, 197)),
2240            Style::new().fg(Color::new(255, 144, 17)),
2241            Style::new().fg(Color::new(184, 204, 82)),
2242            Style::new().fg(Color::new(184, 204, 82)),
2243            Style::new().fg(Color::new(163, 122, 204)),
2244            Style::new().fg(Color::new(163, 122, 204)),
2245            Style::new().fg(Color::new(163, 122, 204)),
2246            Style::new().fg(Color::new(255, 160, 165)),
2247            Style::new().fg(Color::new(105, 242, 223)),
2248            Style::new().fg(Color::new(255, 160, 165)),
2249            Style::new().fg(Color::new(197, 197, 197)),
2250            Style::new().fg(Color::new(54, 163, 217)),
2251            Style::new().fg(Color::new(197, 197, 197)),
2252            Style::new().fg(Color::new(120, 135, 151)),
2253            Style::new().fg(Color::new(120, 135, 151)),
2254            Style::new().fg(Color::new(163, 122, 204)),
2255            Style::new().fg(Color::new(255, 119, 51)),
2256            Style::new(),
2257            Style::new(),
2258            Style::new().fg(Color::new(184, 204, 82)),
2259            Style::new().fg(Color::new(197, 197, 197)),
2260            Style::new().italic(),
2261            Style::new().bold(),
2262            Style::new().fg(Color::new(105, 242, 223)).underline(),
2263            Style::new().fg(Color::new(255, 160, 165)),
2264            Style::new().fg(Color::new(255, 119, 51)),
2265            Style::new().fg(Color::new(255, 160, 165)).bold(),
2266            Style::new().strikethrough(),
2267            Style::new().fg(Color::new(197, 197, 197)),
2268            Style::new(),
2269            Style::new(),
2270            Style::new(),
2271            Style::new().fg(Color::new(255, 119, 51)),
2272            Style::new().fg(Color::new(255, 119, 51)),
2273            Style::new().fg(Color::new(255, 119, 51)),
2274            Style::new().fg(Color::new(255, 119, 51)),
2275            Style::new().fg(Color::new(255, 119, 51)),
2276            Style::new().fg(Color::new(255, 119, 51)),
2277            Style::new(),
2278            Style::new().fg(Color::new(184, 204, 82)),
2279            Style::new().fg(Color::new(184, 204, 82)),
2280            Style::new().fg(Color::new(197, 197, 197)),
2281            Style::new().fg(Color::new(253, 214, 135)),
2282            Style::new().fg(Color::new(255, 160, 165)),
2283            Style::new().fg(Color::new(253, 214, 135)),
2284            Style::new().fg(Color::new(255, 119, 51)),
2285            Style::new().fg(Color::new(255, 119, 51)),
2286            Style::new().fg(Color::new(184, 204, 82)),
2287            Style::new(),
2288            Style::new(),
2289            Style::new()
2290        ],
2291    }
2292}
2293
2294/// Rustdoc Dark theme.
2295///
2296/// Source: https://github.com/rust-lang/rust/blob/master/src/librustdoc/html/static/css/themes/dark.css
2297pub fn rustdoc_dark() -> Theme {
2298    Theme {
2299        name: "Rustdoc Dark".to_string(),
2300        is_dark: true,
2301        source_url: Some("https://github.com/rust-lang/rust/blob/master/src/librustdoc/html/static/css/themes/dark.css".to_string()),
2302        background: Some(Color::new(53, 53, 53)),
2303        foreground: Some(Color::new(221, 221, 221)),
2304        styles: [
2305            Style::new().fg(Color::new(238, 104, 104)),
2306            Style::new().fg(Color::new(238, 104, 104)),
2307            Style::new().fg(Color::new(238, 104, 104)),
2308            Style::new(),
2309            Style::new().fg(Color::new(118, 154, 203)),
2310            Style::new().fg(Color::new(43, 171, 99)),
2311            Style::new().fg(Color::new(43, 171, 99)),
2312            Style::new().fg(Color::new(171, 138, 193)),
2313            Style::new().fg(Color::new(171, 138, 193)),
2314            Style::new().fg(Color::new(171, 138, 193)),
2315            Style::new().fg(Color::new(171, 138, 193)),
2316            Style::new().fg(Color::new(171, 138, 193)),
2317            Style::new().fg(Color::new(171, 138, 193)),
2318            Style::new().fg(Color::new(171, 138, 193)),
2319            Style::new().fg(Color::new(171, 138, 193)),
2320            Style::new().fg(Color::new(171, 138, 193)),
2321            Style::new().fg(Color::new(171, 138, 193)),
2322            Style::new().fg(Color::new(171, 138, 193)),
2323            Style::new().fg(Color::new(171, 138, 193)),
2324            Style::new().fg(Color::new(118, 154, 203)),
2325            Style::new().fg(Color::new(221, 221, 221)),
2326            Style::new().fg(Color::new(221, 221, 221)),
2327            Style::new().fg(Color::new(221, 221, 221)),
2328            Style::new().fg(Color::new(255, 144, 17)),
2329            Style::new().fg(Color::new(131, 163, 0)),
2330            Style::new().fg(Color::new(131, 163, 0)),
2331            Style::new().fg(Color::new(62, 153, 159)),
2332            Style::new().fg(Color::new(62, 153, 159)),
2333            Style::new().fg(Color::new(62, 153, 159)),
2334            Style::new().fg(Color::new(45, 191, 184)),
2335            Style::new().fg(Color::new(118, 154, 203)),
2336            Style::new().fg(Color::new(45, 191, 184)),
2337            Style::new().fg(Color::new(221, 221, 221)),
2338            Style::new().fg(Color::new(238, 104, 104)),
2339            Style::new().fg(Color::new(221, 221, 221)),
2340            Style::new().fg(Color::new(141, 141, 139)),
2341            Style::new().fg(Color::new(141, 141, 139)),
2342            Style::new().fg(Color::new(62, 153, 159)),
2343            Style::new().fg(Color::new(217, 127, 38)),
2344            Style::new(),
2345            Style::new(),
2346            Style::new().fg(Color::new(131, 163, 0)),
2347            Style::new().fg(Color::new(221, 221, 221)),
2348            Style::new().italic(),
2349            Style::new().bold(),
2350            Style::new().fg(Color::new(118, 154, 203)).underline(),
2351            Style::new().fg(Color::new(45, 191, 184)),
2352            Style::new().fg(Color::new(217, 127, 38)),
2353            Style::new().fg(Color::new(45, 191, 184)).bold(),
2354            Style::new().strikethrough(),
2355            Style::new().fg(Color::new(221, 221, 221)),
2356            Style::new(),
2357            Style::new(),
2358            Style::new(),
2359            Style::new().fg(Color::new(171, 138, 193)),
2360            Style::new().fg(Color::new(171, 138, 193)),
2361            Style::new().fg(Color::new(171, 138, 193)),
2362            Style::new().fg(Color::new(171, 138, 193)),
2363            Style::new().fg(Color::new(171, 138, 193)),
2364            Style::new().fg(Color::new(171, 138, 193)),
2365            Style::new(),
2366            Style::new().fg(Color::new(131, 163, 0)),
2367            Style::new().fg(Color::new(131, 163, 0)),
2368            Style::new().fg(Color::new(221, 221, 221)),
2369            Style::new().fg(Color::new(43, 171, 99)),
2370            Style::new().fg(Color::new(45, 191, 184)),
2371            Style::new().fg(Color::new(43, 171, 99)),
2372            Style::new().fg(Color::new(171, 138, 193)),
2373            Style::new().fg(Color::new(171, 138, 193)),
2374            Style::new().fg(Color::new(131, 163, 0)),
2375            Style::new(),
2376            Style::new(),
2377            Style::new()
2378        ],
2379    }
2380}
2381
2382/// Rustdoc Light theme.
2383///
2384/// Source: https://github.com/rust-lang/rust/blob/master/src/librustdoc/html/static/css/themes/light.css
2385pub fn rustdoc_light() -> Theme {
2386    Theme {
2387        name: "Rustdoc Light".to_string(),
2388        is_dark: false,
2389        source_url: Some("https://github.com/rust-lang/rust/blob/master/src/librustdoc/html/static/css/themes/light.css".to_string()),
2390        background: Some(Color::new(255, 255, 255)),
2391        foreground: Some(Color::new(0, 0, 0)),
2392        styles: [
2393            Style::new().fg(Color::new(200, 40, 41)),
2394            Style::new().fg(Color::new(200, 40, 41)),
2395            Style::new().fg(Color::new(200, 40, 41)),
2396            Style::new(),
2397            Style::new().fg(Color::new(66, 113, 174)),
2398            Style::new().fg(Color::new(173, 124, 55)),
2399            Style::new().fg(Color::new(173, 124, 55)),
2400            Style::new().fg(Color::new(137, 89, 168)),
2401            Style::new().fg(Color::new(137, 89, 168)),
2402            Style::new().fg(Color::new(137, 89, 168)),
2403            Style::new().fg(Color::new(137, 89, 168)),
2404            Style::new().fg(Color::new(137, 89, 168)),
2405            Style::new().fg(Color::new(137, 89, 168)),
2406            Style::new().fg(Color::new(137, 89, 168)),
2407            Style::new().fg(Color::new(137, 89, 168)),
2408            Style::new().fg(Color::new(137, 89, 168)),
2409            Style::new().fg(Color::new(137, 89, 168)),
2410            Style::new().fg(Color::new(137, 89, 168)),
2411            Style::new().fg(Color::new(137, 89, 168)),
2412            Style::new().fg(Color::new(66, 113, 174)),
2413            Style::new().fg(Color::new(0, 0, 0)),
2414            Style::new().fg(Color::new(0, 0, 0)),
2415            Style::new().fg(Color::new(0, 0, 0)),
2416            Style::new().fg(Color::new(255, 144, 17)),
2417            Style::new().fg(Color::new(113, 140, 0)),
2418            Style::new().fg(Color::new(113, 140, 0)),
2419            Style::new().fg(Color::new(62, 153, 159)),
2420            Style::new().fg(Color::new(62, 153, 159)),
2421            Style::new().fg(Color::new(62, 153, 159)),
2422            Style::new().fg(Color::new(173, 55, 138)),
2423            Style::new().fg(Color::new(66, 113, 174)),
2424            Style::new().fg(Color::new(173, 55, 138)),
2425            Style::new().fg(Color::new(0, 0, 0)),
2426            Style::new().fg(Color::new(200, 40, 41)),
2427            Style::new().fg(Color::new(0, 0, 0)),
2428            Style::new().fg(Color::new(142, 144, 140)),
2429            Style::new().fg(Color::new(142, 144, 140)),
2430            Style::new().fg(Color::new(62, 153, 159)),
2431            Style::new().fg(Color::new(183, 101, 20)),
2432            Style::new(),
2433            Style::new(),
2434            Style::new().fg(Color::new(113, 140, 0)),
2435            Style::new().fg(Color::new(0, 0, 0)),
2436            Style::new().italic(),
2437            Style::new().bold(),
2438            Style::new().fg(Color::new(66, 113, 174)).underline(),
2439            Style::new().fg(Color::new(173, 55, 138)),
2440            Style::new().fg(Color::new(183, 101, 20)),
2441            Style::new().fg(Color::new(173, 55, 138)).bold(),
2442            Style::new().strikethrough(),
2443            Style::new().fg(Color::new(0, 0, 0)),
2444            Style::new(),
2445            Style::new(),
2446            Style::new(),
2447            Style::new().fg(Color::new(137, 89, 168)),
2448            Style::new().fg(Color::new(137, 89, 168)),
2449            Style::new().fg(Color::new(137, 89, 168)),
2450            Style::new().fg(Color::new(137, 89, 168)),
2451            Style::new().fg(Color::new(137, 89, 168)),
2452            Style::new().fg(Color::new(137, 89, 168)),
2453            Style::new(),
2454            Style::new().fg(Color::new(113, 140, 0)),
2455            Style::new().fg(Color::new(113, 140, 0)),
2456            Style::new().fg(Color::new(0, 0, 0)),
2457            Style::new().fg(Color::new(173, 124, 55)),
2458            Style::new().fg(Color::new(173, 55, 138)),
2459            Style::new().fg(Color::new(173, 124, 55)),
2460            Style::new().fg(Color::new(137, 89, 168)),
2461            Style::new().fg(Color::new(137, 89, 168)),
2462            Style::new().fg(Color::new(113, 140, 0)),
2463            Style::new(),
2464            Style::new(),
2465            Style::new()
2466        ],
2467    }
2468}
2469
2470/// Solarized Dark theme.
2471///
2472/// Source: https://ethanschoonover.com/solarized/
2473pub fn solarized_dark() -> Theme {
2474    Theme {
2475        name: "Solarized Dark".to_string(),
2476        is_dark: true,
2477        source_url: Some("https://ethanschoonover.com/solarized/".to_string()),
2478        background: Some(Color::new(0, 43, 54)),
2479        foreground: Some(Color::new(131, 148, 150)),
2480        styles: [
2481            Style::new().fg(Color::new(181, 137, 0)),
2482            Style::new().fg(Color::new(42, 161, 152)),
2483            Style::new().fg(Color::new(42, 161, 152)),
2484            Style::new(),
2485            Style::new().fg(Color::new(38, 139, 210)),
2486            Style::new().fg(Color::new(38, 139, 210)),
2487            Style::new().fg(Color::new(38, 139, 210)),
2488            Style::new().fg(Color::new(133, 153, 0)),
2489            Style::new().fg(Color::new(133, 153, 0)),
2490            Style::new().fg(Color::new(133, 153, 0)),
2491            Style::new().fg(Color::new(133, 153, 0)),
2492            Style::new().fg(Color::new(133, 153, 0)),
2493            Style::new().fg(Color::new(133, 153, 0)),
2494            Style::new().fg(Color::new(133, 153, 0)),
2495            Style::new().fg(Color::new(133, 153, 0)),
2496            Style::new().fg(Color::new(133, 153, 0)),
2497            Style::new().fg(Color::new(133, 153, 0)),
2498            Style::new().fg(Color::new(133, 153, 0)),
2499            Style::new().fg(Color::new(147, 161, 161)),
2500            Style::new().fg(Color::new(38, 139, 210)),
2501            Style::new().fg(Color::new(147, 161, 161)),
2502            Style::new().fg(Color::new(147, 161, 161)),
2503            Style::new().fg(Color::new(147, 161, 161)),
2504            Style::new().fg(Color::new(220, 50, 47)),
2505            Style::new().fg(Color::new(42, 161, 152)),
2506            Style::new().fg(Color::new(203, 75, 22)),
2507            Style::new().fg(Color::new(38, 139, 210)),
2508            Style::new().fg(Color::new(38, 139, 210)),
2509            Style::new().fg(Color::new(38, 139, 210)),
2510            Style::new().fg(Color::new(181, 137, 0)),
2511            Style::new().fg(Color::new(181, 137, 0)),
2512            Style::new().fg(Color::new(181, 137, 0)),
2513            Style::new().fg(Color::new(131, 148, 150)),
2514            Style::new().fg(Color::new(211, 54, 130)),
2515            Style::new().fg(Color::new(131, 148, 150)),
2516            Style::new().fg(Color::new(88, 110, 117)).italic(),
2517            Style::new().fg(Color::new(88, 110, 117)).italic(),
2518            Style::new().fg(Color::new(203, 75, 22)),
2519            Style::new().fg(Color::new(108, 113, 196)),
2520            Style::new(),
2521            Style::new(),
2522            Style::new().fg(Color::new(211, 54, 130)),
2523            Style::new().fg(Color::new(131, 148, 150)),
2524            Style::new().italic(),
2525            Style::new().bold(),
2526            Style::new().fg(Color::new(42, 161, 152)).underline(),
2527            Style::new().fg(Color::new(38, 139, 210)),
2528            Style::new().fg(Color::new(203, 75, 22)),
2529            Style::new().fg(Color::new(181, 137, 0)).bold(),
2530            Style::new().strikethrough(),
2531            Style::new().fg(Color::new(131, 148, 150)),
2532            Style::new(),
2533            Style::new(),
2534            Style::new(),
2535            Style::new().fg(Color::new(133, 153, 0)),
2536            Style::new().fg(Color::new(133, 153, 0)),
2537            Style::new().fg(Color::new(133, 153, 0)),
2538            Style::new().fg(Color::new(133, 153, 0)),
2539            Style::new().fg(Color::new(133, 153, 0)),
2540            Style::new().fg(Color::new(133, 153, 0)),
2541            Style::new(),
2542            Style::new().fg(Color::new(42, 161, 152)),
2543            Style::new().fg(Color::new(42, 161, 152)),
2544            Style::new().fg(Color::new(131, 148, 150)),
2545            Style::new().fg(Color::new(38, 139, 210)),
2546            Style::new().fg(Color::new(181, 137, 0)),
2547            Style::new().fg(Color::new(38, 139, 210)),
2548            Style::new().fg(Color::new(133, 153, 0)),
2549            Style::new().fg(Color::new(133, 153, 0)),
2550            Style::new().fg(Color::new(42, 161, 152)),
2551            Style::new(),
2552            Style::new(),
2553            Style::new()
2554        ],
2555    }
2556}
2557
2558/// Solarized Light theme.
2559///
2560/// Source: https://ethanschoonover.com/solarized/
2561pub fn solarized_light() -> Theme {
2562    Theme {
2563        name: "Solarized Light".to_string(),
2564        is_dark: false,
2565        source_url: Some("https://ethanschoonover.com/solarized/".to_string()),
2566        background: Some(Color::new(253, 246, 227)),
2567        foreground: Some(Color::new(101, 123, 131)),
2568        styles: [
2569            Style::new().fg(Color::new(181, 137, 0)),
2570            Style::new().fg(Color::new(42, 161, 152)),
2571            Style::new().fg(Color::new(42, 161, 152)),
2572            Style::new(),
2573            Style::new().fg(Color::new(38, 139, 210)),
2574            Style::new().fg(Color::new(38, 139, 210)),
2575            Style::new().fg(Color::new(38, 139, 210)),
2576            Style::new().fg(Color::new(133, 153, 0)),
2577            Style::new().fg(Color::new(133, 153, 0)),
2578            Style::new().fg(Color::new(133, 153, 0)),
2579            Style::new().fg(Color::new(133, 153, 0)),
2580            Style::new().fg(Color::new(133, 153, 0)),
2581            Style::new().fg(Color::new(133, 153, 0)),
2582            Style::new().fg(Color::new(133, 153, 0)),
2583            Style::new().fg(Color::new(133, 153, 0)),
2584            Style::new().fg(Color::new(133, 153, 0)),
2585            Style::new().fg(Color::new(133, 153, 0)),
2586            Style::new().fg(Color::new(133, 153, 0)),
2587            Style::new().fg(Color::new(88, 110, 117)),
2588            Style::new().fg(Color::new(38, 139, 210)),
2589            Style::new().fg(Color::new(88, 110, 117)),
2590            Style::new().fg(Color::new(88, 110, 117)),
2591            Style::new().fg(Color::new(88, 110, 117)),
2592            Style::new().fg(Color::new(220, 50, 47)),
2593            Style::new().fg(Color::new(42, 161, 152)),
2594            Style::new().fg(Color::new(203, 75, 22)),
2595            Style::new().fg(Color::new(38, 139, 210)),
2596            Style::new().fg(Color::new(38, 139, 210)),
2597            Style::new().fg(Color::new(38, 139, 210)),
2598            Style::new().fg(Color::new(181, 137, 0)),
2599            Style::new().fg(Color::new(181, 137, 0)),
2600            Style::new().fg(Color::new(181, 137, 0)),
2601            Style::new().fg(Color::new(101, 123, 131)),
2602            Style::new().fg(Color::new(211, 54, 130)),
2603            Style::new().fg(Color::new(101, 123, 131)),
2604            Style::new().fg(Color::new(147, 161, 161)).italic(),
2605            Style::new().fg(Color::new(147, 161, 161)).italic(),
2606            Style::new().fg(Color::new(203, 75, 22)),
2607            Style::new().fg(Color::new(108, 113, 196)),
2608            Style::new(),
2609            Style::new(),
2610            Style::new().fg(Color::new(211, 54, 130)),
2611            Style::new().fg(Color::new(101, 123, 131)),
2612            Style::new().italic(),
2613            Style::new().bold(),
2614            Style::new().fg(Color::new(42, 161, 152)).underline(),
2615            Style::new().fg(Color::new(38, 139, 210)),
2616            Style::new().fg(Color::new(203, 75, 22)),
2617            Style::new().fg(Color::new(181, 137, 0)).bold(),
2618            Style::new().strikethrough(),
2619            Style::new().fg(Color::new(101, 123, 131)),
2620            Style::new(),
2621            Style::new(),
2622            Style::new(),
2623            Style::new().fg(Color::new(133, 153, 0)),
2624            Style::new().fg(Color::new(133, 153, 0)),
2625            Style::new().fg(Color::new(133, 153, 0)),
2626            Style::new().fg(Color::new(133, 153, 0)),
2627            Style::new().fg(Color::new(133, 153, 0)),
2628            Style::new().fg(Color::new(133, 153, 0)),
2629            Style::new(),
2630            Style::new().fg(Color::new(42, 161, 152)),
2631            Style::new().fg(Color::new(42, 161, 152)),
2632            Style::new().fg(Color::new(101, 123, 131)),
2633            Style::new().fg(Color::new(38, 139, 210)),
2634            Style::new().fg(Color::new(181, 137, 0)),
2635            Style::new().fg(Color::new(38, 139, 210)),
2636            Style::new().fg(Color::new(133, 153, 0)),
2637            Style::new().fg(Color::new(133, 153, 0)),
2638            Style::new().fg(Color::new(42, 161, 152)),
2639            Style::new(),
2640            Style::new(),
2641            Style::new()
2642        ],
2643    }
2644}
2645
2646/// Tokyo Night theme.
2647///
2648/// Source: https://github.com/enkia/tokyo-night-vscode-theme
2649pub fn tokyo_night() -> Theme {
2650    Theme {
2651        name: "Tokyo Night".to_string(),
2652        is_dark: true,
2653        source_url: Some("https://github.com/enkia/tokyo-night-vscode-theme".to_string()),
2654        background: Some(Color::new(26, 27, 38)),
2655        foreground: Some(Color::new(169, 177, 214)),
2656        styles: [
2657            Style::new().fg(Color::new(224, 175, 104)),
2658            Style::new().fg(Color::new(255, 158, 100)),
2659            Style::new().fg(Color::new(255, 158, 100)),
2660            Style::new(),
2661            Style::new().fg(Color::new(125, 207, 255)),
2662            Style::new().fg(Color::new(122, 162, 247)),
2663            Style::new().fg(Color::new(122, 162, 247)),
2664            Style::new().fg(Color::new(187, 154, 247)),
2665            Style::new().fg(Color::new(187, 154, 247)),
2666            Style::new().fg(Color::new(187, 154, 247)),
2667            Style::new().fg(Color::new(187, 154, 247)),
2668            Style::new().fg(Color::new(187, 154, 247)),
2669            Style::new().fg(Color::new(187, 154, 247)),
2670            Style::new().fg(Color::new(187, 154, 247)),
2671            Style::new().fg(Color::new(187, 154, 247)),
2672            Style::new().fg(Color::new(187, 154, 247)),
2673            Style::new().fg(Color::new(187, 154, 247)),
2674            Style::new().fg(Color::new(187, 154, 247)),
2675            Style::new().fg(Color::new(137, 221, 255)),
2676            Style::new().fg(Color::new(122, 162, 247)),
2677            Style::new().fg(Color::new(169, 177, 214)),
2678            Style::new().fg(Color::new(169, 177, 214)),
2679            Style::new().fg(Color::new(169, 177, 214)),
2680            Style::new().fg(Color::new(137, 221, 255)),
2681            Style::new().fg(Color::new(158, 206, 106)),
2682            Style::new().fg(Color::new(247, 118, 142)),
2683            Style::new().fg(Color::new(247, 118, 142)),
2684            Style::new().fg(Color::new(247, 118, 142)),
2685            Style::new().fg(Color::new(247, 118, 142)),
2686            Style::new().fg(Color::new(42, 195, 222)),
2687            Style::new().fg(Color::new(42, 195, 222)),
2688            Style::new().fg(Color::new(42, 195, 222)),
2689            Style::new().fg(Color::new(192, 202, 245)),
2690            Style::new().fg(Color::new(247, 118, 142)),
2691            Style::new().fg(Color::new(224, 175, 104)),
2692            Style::new().fg(Color::new(86, 95, 137)),
2693            Style::new().fg(Color::new(86, 95, 137)),
2694            Style::new().fg(Color::new(125, 207, 255)),
2695            Style::new().fg(Color::new(255, 158, 100)),
2696            Style::new(),
2697            Style::new(),
2698            Style::new().fg(Color::new(255, 158, 100)),
2699            Style::new().fg(Color::new(169, 177, 214)),
2700            Style::new().italic(),
2701            Style::new().bold(),
2702            Style::new().fg(Color::new(122, 162, 247)).underline(),
2703            Style::new().fg(Color::new(125, 207, 255)),
2704            Style::new().fg(Color::new(137, 221, 255)),
2705            Style::new().fg(Color::new(187, 154, 247)).bold(),
2706            Style::new().strikethrough(),
2707            Style::new().fg(Color::new(169, 177, 214)),
2708            Style::new(),
2709            Style::new(),
2710            Style::new(),
2711            Style::new().fg(Color::new(187, 154, 247)),
2712            Style::new().fg(Color::new(187, 154, 247)),
2713            Style::new().fg(Color::new(187, 154, 247)),
2714            Style::new().fg(Color::new(187, 154, 247)),
2715            Style::new().fg(Color::new(187, 154, 247)),
2716            Style::new().fg(Color::new(187, 154, 247)),
2717            Style::new(),
2718            Style::new().fg(Color::new(158, 206, 106)),
2719            Style::new().fg(Color::new(158, 206, 106)),
2720            Style::new().fg(Color::new(192, 202, 245)),
2721            Style::new().fg(Color::new(122, 162, 247)),
2722            Style::new().fg(Color::new(42, 195, 222)),
2723            Style::new().fg(Color::new(122, 162, 247)),
2724            Style::new().fg(Color::new(187, 154, 247)),
2725            Style::new().fg(Color::new(187, 154, 247)),
2726            Style::new().fg(Color::new(158, 206, 106)),
2727            Style::new(),
2728            Style::new(),
2729            Style::new()
2730        ],
2731    }
2732}
2733
2734/// Zenburn theme.
2735///
2736/// Source: https://github.com/jnurmine/Zenburn
2737pub fn zenburn() -> Theme {
2738    Theme {
2739        name: "Zenburn".to_string(),
2740        is_dark: true,
2741        source_url: Some("https://github.com/jnurmine/Zenburn".to_string()),
2742        background: Some(Color::new(63, 63, 63)),
2743        foreground: Some(Color::new(220, 220, 204)),
2744        styles: [
2745            Style::new().fg(Color::new(223, 175, 143)),
2746            Style::new().fg(Color::new(220, 163, 163)),
2747            Style::new().fg(Color::new(220, 163, 163)),
2748            Style::new(),
2749            Style::new().fg(Color::new(239, 239, 143)),
2750            Style::new().fg(Color::new(239, 239, 143)),
2751            Style::new().fg(Color::new(239, 239, 143)),
2752            Style::new().fg(Color::new(240, 223, 175)),
2753            Style::new().fg(Color::new(240, 223, 175)),
2754            Style::new().fg(Color::new(240, 223, 175)),
2755            Style::new().fg(Color::new(240, 223, 175)),
2756            Style::new().fg(Color::new(240, 223, 175)),
2757            Style::new().fg(Color::new(240, 223, 175)),
2758            Style::new().fg(Color::new(240, 223, 175)),
2759            Style::new().fg(Color::new(240, 223, 175)),
2760            Style::new().fg(Color::new(240, 223, 175)),
2761            Style::new().fg(Color::new(240, 223, 175)),
2762            Style::new().fg(Color::new(240, 223, 175)),
2763            Style::new().fg(Color::new(220, 220, 204)),
2764            Style::new().fg(Color::new(220, 220, 204)),
2765            Style::new().fg(Color::new(220, 220, 204)),
2766            Style::new().fg(Color::new(220, 220, 204)),
2767            Style::new().fg(Color::new(220, 220, 204)),
2768            Style::new().fg(Color::new(220, 163, 163)),
2769            Style::new().fg(Color::new(204, 147, 147)),
2770            Style::new().fg(Color::new(220, 163, 163)),
2771            Style::new().fg(Color::new(239, 239, 143)),
2772            Style::new().fg(Color::new(239, 239, 143)),
2773            Style::new().fg(Color::new(239, 239, 143)),
2774            Style::new().fg(Color::new(223, 223, 191)),
2775            Style::new().fg(Color::new(223, 223, 191)),
2776            Style::new().fg(Color::new(223, 223, 191)),
2777            Style::new().fg(Color::new(220, 220, 204)),
2778            Style::new().fg(Color::new(220, 163, 163)),
2779            Style::new().fg(Color::new(220, 220, 204)),
2780            Style::new().fg(Color::new(127, 159, 127)),
2781            Style::new().fg(Color::new(127, 159, 127)),
2782            Style::new().fg(Color::new(223, 175, 143)),
2783            Style::new().fg(Color::new(140, 208, 211)),
2784            Style::new(),
2785            Style::new(),
2786            Style::new().fg(Color::new(140, 208, 211)),
2787            Style::new().fg(Color::new(220, 220, 204)),
2788            Style::new().italic(),
2789            Style::new().bold(),
2790            Style::new().fg(Color::new(140, 208, 211)).underline(),
2791            Style::new().fg(Color::new(140, 208, 211)),
2792            Style::new().fg(Color::new(220, 163, 163)),
2793            Style::new().fg(Color::new(239, 239, 143)).bold(),
2794            Style::new().strikethrough(),
2795            Style::new().fg(Color::new(220, 220, 204)),
2796            Style::new(),
2797            Style::new(),
2798            Style::new(),
2799            Style::new().fg(Color::new(240, 223, 175)),
2800            Style::new().fg(Color::new(240, 223, 175)),
2801            Style::new().fg(Color::new(240, 223, 175)),
2802            Style::new().fg(Color::new(240, 223, 175)),
2803            Style::new().fg(Color::new(240, 223, 175)),
2804            Style::new().fg(Color::new(240, 223, 175)),
2805            Style::new(),
2806            Style::new().fg(Color::new(204, 147, 147)),
2807            Style::new().fg(Color::new(204, 147, 147)),
2808            Style::new().fg(Color::new(220, 220, 204)),
2809            Style::new().fg(Color::new(239, 239, 143)),
2810            Style::new().fg(Color::new(223, 223, 191)),
2811            Style::new().fg(Color::new(239, 239, 143)),
2812            Style::new().fg(Color::new(240, 223, 175)),
2813            Style::new().fg(Color::new(240, 223, 175)),
2814            Style::new().fg(Color::new(204, 147, 147)),
2815            Style::new(),
2816            Style::new(),
2817            Style::new()
2818        ],
2819    }
2820}
2821
2822/// Get all built-in themes.
2823pub fn all() -> Vec<Theme> {
2824    vec![
2825        alabaster(),
2826        ayu_dark(),
2827        ayu_light(),
2828        catppuccin_frappe(),
2829        catppuccin_latte(),
2830        catppuccin_macchiato(),
2831        catppuccin_mocha(),
2832        cobalt2(),
2833        dayfox(),
2834        desert256(),
2835        dracula(),
2836        ef_melissa_dark(),
2837        github_dark(),
2838        github_light(),
2839        gruvbox_dark(),
2840        gruvbox_light(),
2841        kanagawa_dragon(),
2842        light_owl(),
2843        lucius_light(),
2844        melange_dark(),
2845        melange_light(),
2846        monokai(),
2847        nord(),
2848        one_dark(),
2849        rose_pine_moon(),
2850        rustdoc_ayu(),
2851        rustdoc_dark(),
2852        rustdoc_light(),
2853        solarized_dark(),
2854        solarized_light(),
2855        tokyo_night(),
2856        zenburn(),
2857    ]
2858}