1/*
2 * Atom One
3 * Atom One dark syntax theme
4 *
5 * https://github.com/atom/one-dark-syntax
6 */
7import { tags as t } from '@lezer/highlight';
8import { createTheme } from './theme-helper.mjs';
9
10export const settings = {
11  background: '#272C35',
12  lineBackground: '#272C3599',
13  foreground: 'hsl(220, 14%, 71%)',
14  muted: 'hsl(220, 14%, 41%)',
15  caret: '#797977',
16  selection: '#ffffff30',
17  selectionMatch: '#2B323D',
18  gutterBackground: '#272C35',
19  gutterForeground: '#465063',
20  gutterBorder: 'transparent',
21  lineHighlight: '#2B323D',
22};
23
24export default createTheme({
25  theme: 'dark',
26  settings: {
27    background: '#272C35',
28    foreground: '#9d9b97',
29    muted: 'hsl(220, 14%, 41%)',
30    caret: '#797977',
31    selection: '#3d4c64',
32    selectionMatch: '#3d4c64',
33    gutterBackground: '#272C35',
34    gutterForeground: '#465063',
35    gutterBorder: 'transparent',
36    lineHighlight: '#2e3f5940',
37  },
38  styles: [
39    {
40      tag: [t.function(t.variableName), t.function(t.propertyName), t.url, t.processingInstruction],
41      color: 'hsl(207, 82%, 66%)',
42    },
43    { tag: [t.atom, t.bool, t.special(t.variableName)], color: 'hsl( 29, 54%, 61%)' },
44    { tag: [t.tagName, t.heading], color: '#e06c75' },
45    { tag: t.comment, color: '#54636D' },
46    { tag: [t.variableName, t.propertyName, t.labelName], color: 'hsl(220, 14%, 71%)' },
47    { tag: [t.attributeName, t.number], color: 'hsl( 29, 54%, 61%)' },
48    { tag: t.className, color: 'hsl( 39, 67%, 69%)' },
49    { tag: t.keyword, color: 'hsl(286, 60%, 67%)' },
50
51    { tag: [t.string, t.regexp, t.special(t.propertyName)], color: '#98c379' },
52  ],
53});