1import { tags as t } from '@lezer/highlight';
2import { createTheme } from './theme-helper.mjs';
3
4const palettes = {
5  // https://www.deviantart.com/advancedfan2020/art/Game-Boy-Palette-Set-Color-HEX-Part-09-920495662
6  'Central Florida A': ['#FFF630', '#B3AC22', '#666213', '#191905'],
7  'Central Florida B': ['#38CEBA', '#279082', '#16524A', '#061513'],
8  'Central Florida C': ['#FF8836', '#B35F26', '#663616', '#190E05'],
9  'Central Florida D': ['#E07070', '#9D4E4E', '#5A2D2D', '#160B0B'],
10  'Central Florida E': ['#7AA4CB', '#55738E', '#314251', '#0C1014'],
11  'Feminine Energy A': ['#DC5686', '#9A415E', '#582536', '#16090D'],
12  'Feminine Energy B': ['#D0463C', '#92312A', '#531c18', '#150706'],
13  'Feminine Energy C': ['#D86918', '#974A11', '#562A0A', '#160A02'],
14  'Feminine Energy D': ['#EFC54F', '#A78A36', '#604F20', '#181408'],
15  'Feminine Energy E': ['#866399', '#5e456b', '#36283d', '#0d0a0f'],
16  'Sour Watermelon A': ['#993366', '#6B2447', '#3D1429', '#0F050A'],
17  'Sour Watermelon B': ['#996666', '#6B4747', '#3D2929', '#0F0A0A'],
18  'Sour Watermelon C': ['#999966', '#686B47', '#3d3d29', '#0f0f0A'],
19  'Sour Watermelon D': ['#99cc66', '#6b8f47', '#3d5229', '#0f140a'],
20  'Sour Watermelon E': ['#99ff66', '#6bb347', '#3d6629', '#0f190a'],
21  //https://www.deviantart.com/advancedfan2020/art/Game-Boy-Palette-Set-Color-HEX-Part-02-920073260
22  'Peri Peaceful A': ['#909BE9', '#656DA3', '#3A3E5D', '#0e0f17'],
23  'Peri Peaceful B': ['#68628d', '#494563', '#2a2738', '#0a0a0e'], // pretty dim
24  'Peri Peaceful E': ['#b5a0a9', '#7f7076', '#484044', '#121011'],
25  'Hichem Palette B': ['#4fa3a5', '#377273', '#204142', '#081010'],
26  'Hichem Palette C': ['#Fe6f9b', '#b24e6d', '#662c3e', '#190b0f'],
27  'Hichem Palette D': ['#ffbb5a', '#b3833f', '#664b24', '#191309'],
28  'JSR2 A': ['#E0EFC0', '#9da786', '#5a604d', '#161813'],
29};
30const palette = palettes['Sour Watermelon B'];
31export const settings = {
32  background: palette[3],
33  foreground: palette[1],
34  muted: palette[1] + '50',
35  caret: palette[0],
36  selection: palette[0],
37  selectionMatch: palette[1],
38  lineHighlight: palette[3],
39  lineBackground: palette[3] + '90',
40  //lineBackground: 'transparent',
41  gutterBackground: 'transparent',
42  gutterForeground: palette[0],
43  light: false,
44  // customStyle: '.cm-line { line-height: 1 }',
45};
46export default createTheme({
47  theme: 'dark',
48  settings,
49  styles: [
50    { tag: t.comment, color: palette[2] },
51    { tag: t.string, color: palette[1] },
52    { tag: [t.atom, t.number], color: palette[1] },
53    { tag: [t.meta, t.labelName, t.variableName], color: palette[0] },
54    {
55      tag: [t.keyword, t.tagName, t.arithmeticOperator],
56      color: palette[1],
57    },
58    { tag: [t.atom, t.bool, t.special(t.variableName)], color: palette[0] },
59    { tag: [t.function(t.variableName), t.propertyName], color: palette[0] },
60    { tag: t.atom, color: palette[1] },
61  ],
62});