1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
import * as path from 'path';
import { generateTheme, IColorSet } from 'vscode-theme-generator';
const themeName = 'Arc Dark';
const colors = {
arcGray1: '#404552',
arcGray2: '#383c4a',
arcGray3: '#4b5162',
arcGray4: '#7c818c',
arcGray5: '#21232c',
arcBlue: '#5294e2',
commentBlue: '#a8b4de',
black: '#262b36',
red: '#9c3528',
green: '#61bc3b',
yellow: '#f3b43a',
blue: '#0d68a8',
magenta: '#744560',
cyan: '#288e9c',
white: '#a2a2a2',
brightBlack: '#2f343f',
brightRed: '#d64937',
brightGreen: '#86df5d',
brightYellow: '#fdd75a',
brightBlue: '#0f75bd',
brightMagenta: '#9e5e83',
brightCyan: '#37c3d6',
brightWhite: '#f9f9f9'
}
const colorSet: IColorSet = {
base: {
background: colors.arcGray2,
foreground: colors.white,
color1: colors.arcBlue,
color2: colors.green,
color3: colors.cyan,
color4: colors.yellow
},
syntax: {
boolean: colors.yellow,
comment: colors.commentBlue,
functionCall: colors.brightCyan,
identifier: colors.brightRed,
markdownQuote: colors.commentBlue,
},
terminal: {
black: colors.black,
red: colors.red,
green: colors.green,
yellow: colors.yellow,
blue: colors.blue,
magenta: colors.magenta,
cyan: colors.cyan,
white: colors.white,
brightBlack: colors.brightBlack,
brightRed: colors.brightRed,
brightGreen: colors.brightGreen,
brightYellow: colors.brightYellow,
brightBlue: colors.brightBlue,
brightMagenta: colors.brightMagenta,
brightCyan: colors.brightCyan,
brightWhite: colors.brightWhite,
},
overrides: {
'activityBar.background': colors.arcGray3,
'editorIndentGuide.activeBackground': colors.arcBlue,
'list.activeSelectionBackground': colors.arcBlue,
'list.hoverBackground': colors.arcGray3,
'list.inactiveSelectionBackground': colors.arcGray3,
'panel.background': colors.arcGray2,
'sideBar.background': colors.arcGray1,
'sideBarSectionHeader.background': colors.arcGray3,
'statusBar.background': colors.brightBlack,
'terminal.background': colors.arcGray2,
'titleBar.activeBackground': colors.brightBlack,
'titleBar.inactiveBackground': colors.brightBlack
}
};
var fileName = themeName
.toLowerCase()
.replace(/\[\w*\]/, '')
.trim()
.replace(/\s+/, '-') + '.json';
generateTheme(themeName, colorSet, path.join(__dirname, fileName));
|