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 10const hex = ['#1e1e1e', '#fbde2d', '#ff1493', '#4c83ff', '#ededed', '#cccccc', '#ffffff30', '#dc2f8c']; 11 12export const settings = { 13 background: '#000000', 14 lineBackground: 'transparent', 15 foreground: hex[4], 16 muted: hex[6], 17 selection: hex[6], 18 gutterBackground: hex[0], 19 gutterForeground: hex[5], 20 gutterBorder: 'transparent', 21 lineHighlight: hex[0], 22}; 23 24export default createTheme({ 25 theme: 'dark', 26 settings, 27 styles: [ 28 { 29 tag: [t.function(t.variableName), t.function(t.propertyName), t.url, t.processingInstruction], 30 color: hex[4], 31 }, 32 { tag: [t.atom, t.bool, t.special(t.variableName)], color: hex[3] }, 33 34 { tag: t.comment, color: '#54636D' }, 35 { tag: [t.variableName, t.propertyName, t.labelName], color: hex[4] }, 36 { tag: [t.attributeName, t.number], color: hex[3] }, 37 { tag: t.keyword, color: hex[1] }, 38 { tag: [t.string, t.regexp, t.special(t.propertyName)], color: hex[2] }, 39 ], 40});