one-dark.ts

 1import {
 2    chroma,
 3    font_weights,
 4    color_ramp,
 5    ThemeAppearance,
 6    ThemeLicenseType,
 7    ThemeConfig,
 8} from "../../common"
 9
10const color = {
11    white: "#ACB2BE",
12    grey: "#5D636F",
13    red: "#D07277",
14    dark_red: "#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    license_type: ThemeLicenseType.MIT,
28    license_url:
29        "https://github.com/atom/atom/tree/master/packages/one-dark-ui",
30    license_file: `${__dirname}/LICENSE`,
31    input_color: {
32        neutral: chroma
33            .scale([
34                "#282c34",
35                "#353b45",
36                "#3e4451",
37                "#545862",
38                "#565c64",
39                "#abb2bf",
40                "#b6bdca",
41                "#c8ccd4",
42            ])
43            .domain([0.05, 0.22, 0.25, 0.45, 0.62, 0.8, 0.9, 1]),
44        red: color_ramp(chroma(color.red)),
45        orange: color_ramp(chroma(color.orange)),
46        yellow: color_ramp(chroma(color.yellow)),
47        green: color_ramp(chroma(color.green)),
48        cyan: color_ramp(chroma(color.teal)),
49        blue: color_ramp(chroma(color.blue)),
50        violet: color_ramp(chroma(color.purple)),
51        magenta: color_ramp(chroma("#be5046")),
52    },
53    override: {
54        syntax: {
55            boolean: { color: color.orange },
56            comment: { color: color.grey },
57            enum: { color: color.red },
58            "emphasis.strong": { color: color.orange },
59            function: { color: color.blue },
60            keyword: { color: color.purple },
61            link_text: { color: color.blue, italic: false },
62            link_uri: { color: color.teal },
63            number: { color: color.orange },
64            constant: { color: color.yellow },
65            operator: { color: color.teal },
66            primary: { color: color.white },
67            property: { color: color.red },
68            punctuation: { color: color.white },
69            "punctuation.list_marker": { color: color.red },
70            "punctuation.special": { color: color.dark_red },
71            string: { color: color.green },
72            title: { color: color.red, weight: font_weights.normal },
73            "text.literal": { color: color.green },
74            type: { color: color.teal },
75            "variable.special": { color: color.orange },
76            variant: { color: color.blue },
77            constructor: { color: color.blue },
78        },
79    },
80}