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