Files
australis-theme-generator/demo/generate.ts

122 lines
3.5 KiB
TypeScript

import * as path from "path";
import { generateTheme, IColorSet } from "../dist";
// Australis Color List
// Black 222531 - 373b46
// White a9bcc3 - c7e7f9
// Red ff491a - ff854f
// Green 16B866 - 51e08a
// Blue 6388D8 - a4c4ff
// Yellow e1c631 - FFE14E
// Magenta 9d78ff - d8adff
// Cyan 00b1a8 - 42dcd1
// Dark 30 - 414751
// Dark 40 - 565f69
// Dark 50 - 6e7882
// Dark 60 - 86929d
// Bright 70 - 9daeb6
// Bright 80 - b3cbcf
// Bright 90 - cce7ec
const australisColors = {
black: "#222531",
blackLight: "#373b46",
white: "#a9bcc3",
whiteLight: "#c7e7f9",
red: "#ff491a",
redLight: "#ff854f",
green: "#16B866",
greenLight: "#51e08a",
blue: "#6388D8",
blueLight: "#a4c4ff",
yellow: "#e1c631",
yellowLight: "#FFE14E",
magenta: "#9d78ff",
magentaLight: "#d8adff",
cyan: "#00b1a8",
cyanLight: "#42dcd1",
dark_30: "#414751",
dark_40: "#565f69",
dark_50: "#6e7882",
dark_60: "#86929d",
bright_70: "#9daeb6",
bright_80: "#b3cbcf",
bright_90: "#cce7ec",
};
const australisColorSet: IColorSet = {
type: "dark",
base: {
background: australisColors.black,
foreground: australisColors.white,
color1: australisColors.blueLight,
color2: australisColors.yellowLight,
color3: australisColors.greenLight,
color4: australisColors.magentaLight,
},
syntax: {
identifier: australisColors.blueLight,
string: australisColors.cyanLight,
stringEscape: australisColors.yellowLight,
number: australisColors.cyanLight,
keyword: australisColors.greenLight,
boolean: australisColors.blueLight,
function: australisColors.magentaLight,
functionCall: australisColors.blueLight,
storage: australisColors.blueLight,
comment: australisColors.dark_40,
class: australisColors.greenLight,
classMember: australisColors.green,
type: australisColors.whiteLight,
cssClass: australisColors.blueLight,
cssId: australisColors.blue,
cssTag: australisColors.greenLight,
markdownQuote: australisColors.dark_40,
constants: australisColors.blue,
},
ui: {
cursor: australisColors.whiteLight,
guide: australisColors.blackLight,
invisibles: australisColors.blackLight,
lineHighlight: australisColors.dark_30 + "80",
rangeHighlight: australisColors.dark_30 + "80",
findMatchHighlight: australisColors.green + "40",
findRangeHighlight: australisColors.dark_30 + "40",
currentFindMatchHighlight: australisColors.green + "80",
selection: australisColors.blue + "40",
selectionHighlight: australisColors.blue + "20",
wordHighlight: australisColors.magenta + "18",
wordHighlightStrong: australisColors.magenta + "18",
activeLinkForeground: australisColors.blue,
},
terminal: {
black: australisColors.black,
red: australisColors.red,
green: australisColors.green,
yellow: australisColors.yellow,
blue: australisColors.blue,
magenta: australisColors.magenta,
cyan: australisColors.cyan,
white: australisColors.white,
brightBlack: australisColors.dark_40,
brightRed: australisColors.redLight,
brightGreen: australisColors.greenLight,
brightYellow: australisColors.yellowLight,
brightBlue: australisColors.blueLight,
brightMagenta: australisColors.magentaLight,
brightCyan: australisColors.cyanLight,
brightWhite: australisColors.whiteLight,
},
overrides: {
"editorError.foreground": australisColors.red,
},
};
generateTheme(
"Australis Dark",
australisColorSet,
path.join(__dirname, "theme.json")
);