1/* 2 * gruvbox-dark 3 * author morhetz 4 * From github.com/codemirror/codemirror5/blob/master/theme/gruvbox-dark.css 5 */ 6import { tags as t } from '@lezer/highlight'; 7import { createTheme } from './theme-helper.mjs'; 8 9export const settings = { 10 background: '#282828', 11 lineBackground: '#28282899', 12 foreground: '#ebdbb2', 13 muted: '#ebdbb250', 14 caret: '#ebdbb2', 15 selection: '#bdae93', 16 selectionMatch: '#bdae93', 17 lineHighlight: '#3c3836', 18 gutterBackground: '#282828', 19 gutterForeground: '#7c6f64', 20}; 21 22export default createTheme({ 23 theme: 'dark', 24 settings: { 25 background: '#282828', 26 foreground: '#ebdbb2', 27 muted: '#ebdbb250', 28 caret: '#ebdbb2', 29 selection: '#b99d555c', 30 selectionMatch: '#b99d555c', 31 lineHighlight: '#baa1602b', 32 gutterBackground: '#282828', 33 gutterForeground: '#7c6f64', 34 }, 35 styles: [ 36 { tag: t.keyword, color: '#fb4934' }, 37 { tag: [t.name, t.deleted, t.character, t.propertyName, t.macroName], color: '#8ec07c' }, 38 { tag: [t.variableName], color: '#83a598' }, 39 { tag: [t.function(t.variableName)], color: '#8ec07c', fontStyle: 'bold' }, 40 { tag: [t.labelName], color: '#ebdbb2' }, 41 { tag: [t.color, t.constant(t.name), t.standard(t.name)], color: '#d3869b' }, 42 { tag: [t.definition(t.name), t.separator], color: '#ebdbb2' }, 43 { tag: [t.brace], color: '#ebdbb2' }, 44 { tag: [t.annotation], color: '#fb4934d' }, 45 { tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace], color: '#d3869b' }, 46 { tag: [t.typeName, t.className], color: '#fabd2f' }, 47 { tag: [t.operatorKeyword], color: '#fb4934' }, 48 { 49 tag: [t.tagName], 50 color: '#8ec07c', 51 fontStyle: 'bold', 52 }, 53 { tag: [t.squareBracket], color: '#fe8019' }, 54 { tag: [t.angleBracket], color: '#83a598' }, 55 { tag: [t.attributeName], color: '#8ec07c' }, 56 { tag: [t.regexp], color: '#8ec07c' }, 57 { tag: [t.quote], color: '#928374' }, 58 { tag: [t.string], color: '#ebdbb2' }, 59 { 60 tag: t.link, 61 color: '#a89984', 62 textDecoration: 'underline', 63 textUnderlinePosition: 'under', 64 }, 65 { tag: [t.url, t.escape, t.special(t.string)], color: '#d3869b' }, 66 { tag: [t.meta], color: '#fabd2f' }, 67 { tag: [t.comment], color: '#928374', fontStyle: 'italic' }, 68 { tag: t.strong, fontWeight: 'bold', color: '#fe8019' }, 69 { tag: t.emphasis, fontStyle: 'italic', color: '#b8bb26' }, 70 { tag: t.strikethrough, textDecoration: 'line-through' }, 71 { tag: t.heading, fontWeight: 'bold', color: '#b8bb26' }, 72 { tag: [t.heading1, t.heading2], fontWeight: 'bold', color: '#b8bb26' }, 73 { 74 tag: [t.heading3, t.heading4], 75 fontWeight: 'bold', 76 color: '#fabd2f', 77 }, 78 { tag: [t.heading5, t.heading6], color: '#fabd2f' }, 79 { tag: [t.atom, t.bool, t.special(t.variableName)], color: '#d3869b' }, 80 { tag: [t.processingInstruction, t.inserted], color: '#83a598' }, 81 { tag: [t.contentSeparator], color: '#fb4934' }, 82 { tag: t.invalid, color: '#fe8019', borderBottom: `1px dotted #fb4934d` }, 83 ], 84});