one-dark.ts

 1import {
 2    chroma,
 3    fontWeights,
 4    colorRamp,
 5    ThemeAppearance,
 6    ThemeLicenseType,
 7    ThemeConfig,
 8} from "../../common"
 9
10const color = {
11    white: "#ACB2BE",
12    grey: "#5D636F",
13    red: "#D07277",
14    darkRed: "#B1574B",
15    orange: "#C0966B",
16    yellow: "#DFC184",
17    green: "#A1C181",
18    teal: "#6FB4C0",
19    blue: "#74ADE9",
20    purple: "#B478CF",
21}
22
23export const theme: ThemeConfig = {
24    name: "One Dark",
25    author: "simurai",
26    appearance: ThemeAppearance.Dark,
27    licenseType: ThemeLicenseType.MIT,
28    licenseUrl: "https://github.com/atom/atom/tree/master/packages/one-dark-ui",
29    licenseFile: `${__dirname}/LICENSE`,
30    inputColor: {
31        neutral: chroma
32            .scale([
33                "#282c34",
34                "#353b45",
35                "#3e4451",
36                "#545862",
37                "#565c64",
38                "#abb2bf",
39                "#b6bdca",
40                "#c8ccd4",
41            ])
42            .domain([0.05, 0.22, 0.25, 0.45, 0.62, 0.8, 0.9, 1]),
43        red: colorRamp(chroma(color.red)),
44        orange: colorRamp(chroma(color.orange)),
45        yellow: colorRamp(chroma(color.yellow)),
46        green: colorRamp(chroma(color.green)),
47        cyan: colorRamp(chroma(color.teal)),
48        blue: colorRamp(chroma(color.blue)),
49        violet: colorRamp(chroma(color.purple)),
50        magenta: colorRamp(chroma("#be5046")),
51    },
52    override: {
53        syntax: {
54            boolean: { color: color.orange },
55            comment: { color: color.grey },
56            enum: { color: color.red },
57            "emphasis.strong": { color: color.orange },
58            function: { color: color.blue },
59            keyword: { color: color.purple },
60            linkText: { color: color.blue, italic: false },
61            linkUri: { color: color.teal },
62            number: { color: color.orange },
63            constant: { color: color.yellow },
64            operator: { color: color.teal },
65            primary: { color: color.white },
66            property: { color: color.red },
67            punctuation: { color: color.white },
68            "punctuation.list_marker": { color: color.red },
69            "punctuation.special": { color: color.darkRed },
70            string: { color: color.green },
71            title: { color: color.red, weight: fontWeights.normal },
72            "text.literal": { color: color.green },
73            type: { color: color.teal },
74            "variable.special": { color: color.orange },
75            variant: { color: color.blue },
76            constructor: { color: color.blue },
77        },
78    },
79}