common.ts

 1import { License, Meta, ThemeSyntax } from "../common/colorScheme"
 2
 3export interface Variant {
 4    meta: Meta
 5    colors: {
 6        base00: string
 7        base01: string
 8        base02: string
 9        base03: string
10        base04: string
11        base05: string
12        base06: string
13        base07: string
14        base08: string
15        base09: string
16        base0A: string
17        base0B: string
18        base0C: string
19        base0D: string
20        base0E: string
21        base0F: string
22    }
23}
24
25export const metaCommon: {
26    author: string
27    license: License
28} = {
29    author: "Bram de Haan (http://atelierbramdehaan.nl)",
30    license: {
31        SPDX: "MIT",
32    },
33}
34
35export const buildSyntax = (variant: Variant): ThemeSyntax => {
36    const { colors } = variant
37    return {
38        primary: { color: colors.base06 },
39        comment: { color: colors.base03 },
40        "punctuation.delimiter": { color: colors.base05 },
41        "punctuation.bracket": { color: colors.base05 },
42        "punctuation.special": { color: colors.base0F },
43        "string.special.symbol": { color: colors.base0B },
44        operator: { color: colors.base05 },
45        function: { color: colors.base0D },
46        "function.method": { color: colors.base0D },
47        "function.special.definition": { color: colors.base0A },
48        string: { color: colors.base0B },
49        "string.special": { color: colors.base0F },
50        "string.regex": { color: colors.base0C },
51        type: { color: colors.base0A },
52        number: { color: colors.base09 },
53        property: { color: colors.base08 },
54        variable: { color: colors.base06 },
55        "variable.special": { color: colors.base0E },
56        variant: { color: colors.base0A },
57        keyword: { color: colors.base0E },
58    }
59}
60
61export const name = "Atelier"