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}