jevstrudel.git / packages / codemirror / themes / strudel-theme.mjs
1import { tags as t } from '@lezer/highlight';
2import { createTheme } from './theme-helper.mjs';
3
4export const settings = {
5  background: '#222',
6  lineBackground: '#22222299',
7  foreground: '#fff',
8  muted: '#8a919966',
9  caret: '#ffcc00',
10  selection: 'rgba(128, 203, 196, 0.5)',
11  selectionMatch: '#036dd626',
12  lineHighlight: '#00000050',
13  gutterBackground: 'transparent',
14  gutterForeground: '#8a919966',
15};
16
17export default createTheme({
18  theme: 'dark',
19  settings,
20  styles: [
21    { tag: [t.atom, t.bool, t.special(t.variableName)], color: '#89ddff' },
22    { tag: t.labelName, color: '#89ddff' },
23    { tag: t.keyword, color: '#c792ea' },
24    { tag: t.operator, color: '#89ddff' },
25    { tag: t.special(t.variableName), color: '#eeffff' },
26    // { tag: t.typeName, color: '#f07178' }, // original
27    { tag: t.typeName, color: '#c3e88d' },
28    { tag: t.atom, color: '#f78c6c' },
29    // { tag: t.number, color: '#ff5370' }, // original
30    { tag: t.number, color: '#c3e88d' },
31    { tag: t.definition(t.variableName), color: '#82aaff' },
32    { tag: t.string, color: '#c3e88d' },
33    //     { tag: t.special(t.string), color: '#f07178' }, // original
34    { tag: t.special(t.string), color: '#c3e88d' },
35    { tag: t.comment, color: '#7d8799' },
36    // { tag: t.variableName, color: '#f07178' }, // original
37    { tag: t.variableName, color: '#c792ea' },
38    // { tag: t.tagName, color: '#ff5370' }, // original
39    { tag: t.tagName, color: '#c3e88d' },
40    { tag: t.bracket, color: '#525154' },
41    // { tag: t.bracket, color: '#a2a1a4' }, // original
42    { tag: t.meta, color: '#ffcb6b' },
43    { tag: t.attributeName, color: '#c792ea' },
44    { tag: t.propertyName, color: '#c792ea' },
45
46    { tag: t.className, color: '#decb6b' },
47    { tag: t.invalid, color: '#ffffff' },
48    { tag: [t.unit, t.punctuation], color: '#82aaff' },
49  ],
50});