one-light.ts

 1import chroma from "chroma-js"
 2import { fontWeights } from "../common"
 3import { Meta, ThemeSyntax } from "./common/colorScheme"
 4import { colorRamp, createColorScheme } from "./common/ramps"
 5
 6const name = "One Light"
 7
 8const color = {
 9    black: "#383A41",
10    grey: "#A2A3A7",
11    red: "#D36050",
12    darkRed: "#B92C46",
13    orange: "#AD6F26",
14    yellow: "#DFC184",
15    green: "#659F58",
16    teal: "#3982B7",
17    blue: "#5B79E3",
18    purple: "#A449AB",
19    magenta: "#994EA6",
20}
21
22const ramps = {
23    neutral: chroma
24        .scale([
25            "#383A41",
26            "#535456",
27            "#696c77",
28            "#9D9D9F",
29            "#A9A9A9",
30            "#DBDBDC",
31            "#EAEAEB",
32            "#FAFAFA",
33        ])
34        .domain([0.05, 0.22, 0.25, 0.45, 0.62, 0.8, 0.9, 1]),
35    red: colorRamp(chroma(color.red)),
36    orange: colorRamp(chroma(color.orange)),
37    yellow: colorRamp(chroma(color.yellow)),
38    green: colorRamp(chroma(color.green)),
39    cyan: colorRamp(chroma(color.teal)),
40    blue: colorRamp(chroma(color.blue)),
41    violet: colorRamp(chroma(color.purple)),
42    magenta: colorRamp(chroma(color.magenta)),
43}
44
45const syntax: ThemeSyntax = {
46    boolean: { color: color.orange },
47    comment: { color: color.grey },
48    enum: { color: color.red },
49    "emphasis.strong": { color: color.orange },
50    function: { color: color.blue },
51    keyword: { color: color.purple },
52    linkText: { color: color.blue },
53    linkUri: { color: color.teal },
54    number: { color: color.orange },
55    operator: { color: color.teal },
56    primary: { color: color.black },
57    property: { color: color.red },
58    punctuation: { color: color.black },
59    "punctuation.list_marker": { color: color.red },
60    "punctuation.special": { color: color.darkRed },
61    string: { color: color.green },
62    title: { color: color.red, weight: fontWeights.normal },
63    "text.literal": { color: color.green },
64    type: { color: color.teal },
65    "variable.special": { color: color.orange },
66    variant: { color: color.blue },
67}
68
69export const light = createColorScheme(name, true, ramps, syntax)
70
71export const meta: Meta = {
72    name,
73    author: "simurai",
74    license: {
75        SPDX: "MIT",
76        license_text: {
77            https_url:
78                "https://raw.githubusercontent.com/atom/atom/master/packages/one-light-ui/LICENSE.md",
79            license_checksum:
80                "d5af8fc171f6f600c0ab4e7597dca398dda80dbe6821ce01cef78e859e7a00f8",
81        },
82    },
83    url: "https://github.com/atom/atom/tree/master/packages/one-light-ui",
84}