solarized.ts

 1import chroma from "chroma-js";
 2import { Meta as Metadata } from "./common/colorScheme";
 3import { colorRamp, createColorScheme } from "./common/ramps";
 4
 5const name = "Solarized";
 6
 7const ramps = {
 8  neutral: chroma
 9    .scale([
10      "#002b36",
11      "#073642",
12      "#586e75",
13      "#657b83",
14      "#839496",
15      "#93a1a1",
16      "#eee8d5",
17      "#fdf6e3",
18    ])
19    .domain([0, 0.2, 0.38, 0.45, 0.65, 0.7, 0.85, 1]),
20  red: colorRamp(chroma("#dc322f")),
21  orange: colorRamp(chroma("#cb4b16")),
22  yellow: colorRamp(chroma("#b58900")),
23  green: colorRamp(chroma("#859900")),
24  cyan: colorRamp(chroma("#2aa198")),
25  blue: colorRamp(chroma("#268bd2")),
26  violet: colorRamp(chroma("#6c71c4")),
27  magenta: colorRamp(chroma("#d33682")),
28};
29
30export const dark = createColorScheme(`${name} Dark`, false, ramps);
31export const light = createColorScheme(`${name} Light`, true, ramps);
32
33export const meta: Metadata = {
34  name,
35  author: "Ethan Schoonover",
36  license: {
37    SPDX: "MIT",
38    https_url: "https://raw.githubusercontent.com/altercation/solarized/master/LICENSE",
39    license_checksum: "494aefdabf86acce06bd63001ad8aedad4ee38da23509d3f917d95aa3368b9a6"
40  },
41  url: "https://github.com/altercation/solarized"
42}
43