1import fs from "fs";
2import path from "path";
3import { ColorScheme } from "./themes/common/colorScheme";
4
5const colorSchemes: ColorScheme[] = [];
6export default colorSchemes;
7
8const internalColorSchemes: ColorScheme[] = [];
9export { internalColorSchemes };
10
11const experimentalColorSchemes: ColorScheme[] = [];
12export { experimentalColorSchemes };
13
14function fillColorSchemes(themesPath: string, colorSchemes: ColorScheme[]) {
15 for (const fileName of fs.readdirSync(themesPath)) {
16 if (fileName == "template.ts") continue;
17 const filePath = path.join(themesPath, fileName);
18
19 if (fs.statSync(filePath).isFile()) {
20 const colorScheme = require(filePath);
21 if (colorScheme.dark) colorSchemes.push(colorScheme.dark);
22 if (colorScheme.light) colorSchemes.push(colorScheme.light);
23 }
24 }
25}
26
27fillColorSchemes(path.resolve(`${__dirname}/themes`), colorSchemes);
28fillColorSchemes(
29 path.resolve(`${__dirname}/themes/internal`),
30 internalColorSchemes
31);
32fillColorSchemes(
33 path.resolve(`${__dirname}/themes/experiments`),
34 experimentalColorSchemes
35);