@pierre/theme 0.0.25 → 0.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +1 -0
- package/dist/pierre-dark-vibrant.mjs +1 -0
- package/dist/pierre-dark.mjs +1 -0
- package/dist/pierre-light-vibrant.mjs +1 -0
- package/dist/pierre-light.mjs +1 -0
- package/package.json +6 -1
- package/.github/workflows/publish.yml +0 -68
- package/.github/workflows/test.yml +0 -80
- package/.vscode/extensions.json +0 -5
- package/.vscode/launch.json +0 -24
- package/.vscode/tasks.json +0 -24
- package/.vscodeignore +0 -10
- package/CONTRIBUTING.md +0 -75
- package/DISPLAY-P3.md +0 -120
- package/src/build.ts +0 -60
- package/src/color-p3.ts +0 -229
- package/src/demo-p3.ts +0 -44
- package/src/package-vsix.ts +0 -22
- package/src/palette.ts +0 -379
- package/src/test.ts +0 -272
- package/src/theme.ts +0 -615
- package/src/zed-theme.ts +0 -606
- package/tsconfig.json +0 -21
- package/zed/LICENSE.md +0 -21
- package/zed/README.md +0 -25
- package/zed/extension.toml +0 -7
- package/zed/themes/pierre.json +0 -991
package/src/theme.ts
DELETED
|
@@ -1,615 +0,0 @@
|
|
|
1
|
-
// src/theme.ts
|
|
2
|
-
import type { Roles } from "./palette";
|
|
3
|
-
|
|
4
|
-
type VSCodeTheme = {
|
|
5
|
-
name: string;
|
|
6
|
-
type: "light" | "dark";
|
|
7
|
-
colors: Record<string, string>;
|
|
8
|
-
tokenColors: any[];
|
|
9
|
-
semanticTokenColors: Record<string,string|{foreground:string;fontStyle?:string}>;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export function makeTheme(name: string, kind: "light"|"dark", c: Roles): VSCodeTheme {
|
|
13
|
-
return {
|
|
14
|
-
name,
|
|
15
|
-
type: kind,
|
|
16
|
-
colors: {
|
|
17
|
-
// Core editor & text
|
|
18
|
-
"editor.background": c.bg.editor,
|
|
19
|
-
"editor.foreground": c.fg.base,
|
|
20
|
-
"foreground": c.fg.base,
|
|
21
|
-
"focusBorder": c.accent.primary,
|
|
22
|
-
"selection.background": c.accent.subtle,
|
|
23
|
-
|
|
24
|
-
// Editor chrome
|
|
25
|
-
"editor.selectionBackground": alpha(c.accent.primary, kind === "dark" ? 0.30 : 0.18),
|
|
26
|
-
"editor.lineHighlightBackground": alpha(c.accent.subtle, 0.55),
|
|
27
|
-
"editorCursor.foreground": c.accent.primary,
|
|
28
|
-
"editorLineNumber.foreground": c.fg.fg3,
|
|
29
|
-
"editorLineNumber.activeForeground": c.fg.fg2,
|
|
30
|
-
"editorIndentGuide.background": c.border.indentGuide,
|
|
31
|
-
"editorIndentGuide.activeBackground": c.border.indentGuideActive,
|
|
32
|
-
|
|
33
|
-
"diffEditor.insertedTextBackground": alpha(c.states.success, kind === "dark" ? 0.1 : 0.2),
|
|
34
|
-
"diffEditor.deletedTextBackground": alpha(c.states.danger, kind === "dark" ? 0.1 : 0.2),
|
|
35
|
-
|
|
36
|
-
// Sidebar
|
|
37
|
-
"sideBar.background": c.bg.window,
|
|
38
|
-
"sideBar.foreground": c.fg.fg2,
|
|
39
|
-
"sideBar.border": c.border.window,
|
|
40
|
-
"sideBarTitle.foreground": c.fg.base,
|
|
41
|
-
"sideBarSectionHeader.background": c.bg.window,
|
|
42
|
-
"sideBarSectionHeader.foreground": c.fg.fg2,
|
|
43
|
-
"sideBarSectionHeader.border": c.border.window,
|
|
44
|
-
|
|
45
|
-
// Activity bar
|
|
46
|
-
"activityBar.background": c.bg.window,
|
|
47
|
-
"activityBar.foreground": c.fg.base,
|
|
48
|
-
"activityBar.border": c.border.window,
|
|
49
|
-
"activityBar.activeBorder": c.accent.primary,
|
|
50
|
-
"activityBarBadge.background": c.accent.primary,
|
|
51
|
-
"activityBarBadge.foreground": c.accent.contrastOnAccent,
|
|
52
|
-
|
|
53
|
-
// Title bar
|
|
54
|
-
"titleBar.activeBackground": c.bg.window,
|
|
55
|
-
"titleBar.activeForeground": c.fg.base,
|
|
56
|
-
"titleBar.inactiveBackground": c.bg.window,
|
|
57
|
-
"titleBar.inactiveForeground": c.fg.fg3,
|
|
58
|
-
"titleBar.border": c.border.window,
|
|
59
|
-
|
|
60
|
-
// Lists
|
|
61
|
-
"list.activeSelectionBackground": alpha(c.accent.subtle, kind === "dark" ? 0.6 : 0.8),
|
|
62
|
-
"list.activeSelectionForeground": c.fg.base,
|
|
63
|
-
"list.inactiveSelectionBackground": alpha(c.accent.subtle, 0.45),
|
|
64
|
-
"list.hoverBackground": alpha(c.accent.subtle, 0.35),
|
|
65
|
-
"list.focusOutline": c.accent.primary,
|
|
66
|
-
|
|
67
|
-
// Tabs
|
|
68
|
-
"tab.activeBackground": c.bg.editor,
|
|
69
|
-
"tab.activeForeground": c.fg.base,
|
|
70
|
-
"tab.activeBorderTop": c.accent.primary,
|
|
71
|
-
"tab.inactiveBackground": c.bg.window,
|
|
72
|
-
"tab.inactiveForeground": c.fg.fg3,
|
|
73
|
-
"tab.border": c.border.window,
|
|
74
|
-
"editorGroupHeader.tabsBackground": c.bg.window,
|
|
75
|
-
"editorGroupHeader.tabsBorder": c.border.window,
|
|
76
|
-
|
|
77
|
-
// Panel
|
|
78
|
-
"panel.background": c.bg.window,
|
|
79
|
-
"panel.border": c.border.window,
|
|
80
|
-
"panelTitle.activeBorder": c.accent.primary,
|
|
81
|
-
"panelTitle.activeForeground": c.fg.base,
|
|
82
|
-
"panelTitle.inactiveForeground": c.fg.fg3,
|
|
83
|
-
|
|
84
|
-
// Status bar
|
|
85
|
-
"statusBar.background": c.bg.window,
|
|
86
|
-
"statusBar.foreground": c.fg.fg2,
|
|
87
|
-
"statusBar.border": c.border.window,
|
|
88
|
-
"statusBar.noFolderBackground": c.bg.window,
|
|
89
|
-
"statusBar.debuggingBackground": c.states.warn,
|
|
90
|
-
"statusBar.debuggingForeground": c.accent.contrastOnAccent,
|
|
91
|
-
"statusBarItem.remoteBackground": c.bg.window,
|
|
92
|
-
"statusBarItem.remoteForeground": c.fg.fg2,
|
|
93
|
-
|
|
94
|
-
// Inputs & dropdowns
|
|
95
|
-
"input.background": c.bg.inset,
|
|
96
|
-
"input.border": c.border.inset,
|
|
97
|
-
"input.foreground": c.fg.base,
|
|
98
|
-
"input.placeholderForeground": c.fg.fg4,
|
|
99
|
-
"dropdown.background": c.bg.inset,
|
|
100
|
-
"dropdown.border": c.border.inset,
|
|
101
|
-
"dropdown.foreground": c.fg.base,
|
|
102
|
-
|
|
103
|
-
// Buttons
|
|
104
|
-
"button.background": c.accent.primary,
|
|
105
|
-
"button.foreground": c.accent.contrastOnAccent,
|
|
106
|
-
"button.hoverBackground": mix(c.accent.primary, c.accent.contrastOnAccent, 0.1),
|
|
107
|
-
|
|
108
|
-
// Links
|
|
109
|
-
"textLink.foreground": c.accent.link,
|
|
110
|
-
"textLink.activeForeground": c.accent.primary,
|
|
111
|
-
|
|
112
|
-
// Git colors
|
|
113
|
-
"gitDecoration.addedResourceForeground": c.states.success,
|
|
114
|
-
"gitDecoration.conflictingResourceForeground": c.states.warn,
|
|
115
|
-
"gitDecoration.modifiedResourceForeground": c.accent.primary,
|
|
116
|
-
"gitDecoration.deletedResourceForeground": c.states.danger,
|
|
117
|
-
"gitDecoration.untrackedResourceForeground": c.states.success,
|
|
118
|
-
"gitDecoration.ignoredResourceForeground": c.fg.fg3,
|
|
119
|
-
|
|
120
|
-
// Terminal ANSI colors
|
|
121
|
-
"terminal.titleForeground": c.fg.fg2,
|
|
122
|
-
"terminal.titleInactiveForeground": c.fg.fg3,
|
|
123
|
-
"terminal.background": c.bg.window,
|
|
124
|
-
"terminal.foreground": c.fg.fg2,
|
|
125
|
-
"terminal.ansiBlack": c.ansi.black,
|
|
126
|
-
"terminal.ansiRed": c.ansi.red,
|
|
127
|
-
"terminal.ansiGreen": c.ansi.green,
|
|
128
|
-
"terminal.ansiYellow": c.ansi.yellow,
|
|
129
|
-
"terminal.ansiBlue": c.ansi.blue,
|
|
130
|
-
"terminal.ansiMagenta": c.ansi.magenta,
|
|
131
|
-
"terminal.ansiCyan": c.ansi.cyan,
|
|
132
|
-
"terminal.ansiWhite": c.ansi.white,
|
|
133
|
-
"terminal.ansiBrightBlack": c.ansi.brightBlack,
|
|
134
|
-
"terminal.ansiBrightRed": c.ansi.brightRed,
|
|
135
|
-
"terminal.ansiBrightGreen": c.ansi.brightGreen,
|
|
136
|
-
"terminal.ansiBrightYellow": c.ansi.brightYellow,
|
|
137
|
-
"terminal.ansiBrightBlue": c.ansi.brightBlue,
|
|
138
|
-
"terminal.ansiBrightMagenta": c.ansi.brightMagenta,
|
|
139
|
-
"terminal.ansiBrightCyan": c.ansi.brightCyan,
|
|
140
|
-
"terminal.ansiBrightWhite": c.ansi.brightWhite
|
|
141
|
-
},
|
|
142
|
-
|
|
143
|
-
tokenColors: [
|
|
144
|
-
// ========================================
|
|
145
|
-
// COMMENTS
|
|
146
|
-
// ========================================
|
|
147
|
-
{ scope: ["comment","punctuation.definition.comment"], settings: { foreground: c.syntax.comment } },
|
|
148
|
-
{ scope: "comment markup.link", settings: { foreground: c.syntax.comment } },
|
|
149
|
-
|
|
150
|
-
// ========================================
|
|
151
|
-
// STRINGS
|
|
152
|
-
// ========================================
|
|
153
|
-
{ scope: ["string","constant.other.symbol"], settings: { foreground: c.syntax.string } },
|
|
154
|
-
{ scope: ["punctuation.definition.string.begin","punctuation.definition.string.end"], settings: { foreground: c.syntax.string } },
|
|
155
|
-
|
|
156
|
-
// ========================================
|
|
157
|
-
// NUMBERS & CONSTANTS
|
|
158
|
-
// ========================================
|
|
159
|
-
{ scope: ["constant.numeric","constant.language.boolean"], settings: { foreground: c.syntax.number } },
|
|
160
|
-
{ scope: "constant", settings: { foreground: c.syntax.constant } },
|
|
161
|
-
{ scope: "punctuation.definition.constant", settings: { foreground: c.syntax.constant } },
|
|
162
|
-
{ scope: "constant.language", settings: { foreground: c.syntax.number } },
|
|
163
|
-
{ scope: "variable.other.constant", settings: { foreground: c.syntax.namespace } },
|
|
164
|
-
|
|
165
|
-
// ========================================
|
|
166
|
-
// KEYWORDS & STORAGE
|
|
167
|
-
// ========================================
|
|
168
|
-
{ scope: "keyword", settings: { foreground: c.syntax.keyword } },
|
|
169
|
-
{ scope: "keyword.control", settings: { foreground: c.syntax.keyword } },
|
|
170
|
-
{ scope: ["storage","storage.type","storage.modifier"], settings: { foreground: c.syntax.keyword } },
|
|
171
|
-
{ scope: "token.storage", settings: { foreground: c.syntax.keyword } },
|
|
172
|
-
{ scope: ["keyword.operator.new","keyword.operator.expression.instanceof","keyword.operator.expression.typeof","keyword.operator.expression.void","keyword.operator.expression.delete","keyword.operator.expression.in","keyword.operator.expression.of","keyword.operator.expression.keyof"], settings: { foreground: c.syntax.keyword } },
|
|
173
|
-
{ scope: "keyword.operator.delete", settings: { foreground: c.syntax.keyword } },
|
|
174
|
-
|
|
175
|
-
// ========================================
|
|
176
|
-
// VARIABLES & IDENTIFIERS
|
|
177
|
-
// ========================================
|
|
178
|
-
{ scope: ["variable","identifier","meta.definition.variable"], settings: { foreground: c.syntax.variable } },
|
|
179
|
-
{ scope: ["variable.other.readwrite","meta.object-literal.key","support.variable.property","support.variable.object.process","support.variable.object.node"], settings: { foreground: c.syntax.variable } },
|
|
180
|
-
{ scope: "variable.language", settings: { foreground: c.syntax.namespace } },
|
|
181
|
-
{ scope: "variable.parameter.function", settings: { foreground: c.syntax.parameter } },
|
|
182
|
-
{ scope: "function.parameter", settings: { foreground: c.syntax.parameter } },
|
|
183
|
-
{ scope: "variable.parameter", settings: { foreground: c.syntax.parameter } },
|
|
184
|
-
{ scope: "variable.parameter.function.language.python", settings: { foreground: c.syntax.constant } },
|
|
185
|
-
{ scope: "variable.parameter.function.python", settings: { foreground: c.syntax.constant } },
|
|
186
|
-
|
|
187
|
-
// ========================================
|
|
188
|
-
// FUNCTIONS & METHODS
|
|
189
|
-
// ========================================
|
|
190
|
-
{ scope: ["support.function","entity.name.function","meta.function-call","meta.require","support.function.any-method","variable.function"], settings: { foreground: c.syntax.func } },
|
|
191
|
-
{ scope: "keyword.other.special-method", settings: { foreground: c.syntax.func } },
|
|
192
|
-
{ scope: "entity.name.function", settings: { foreground: c.syntax.func } },
|
|
193
|
-
{ scope: "support.function.console", settings: { foreground: c.syntax.func } },
|
|
194
|
-
|
|
195
|
-
// ========================================
|
|
196
|
-
// TYPES & CLASSES
|
|
197
|
-
// ========================================
|
|
198
|
-
{ scope: ["support.type","entity.name.type","entity.name.class","storage.type"], settings: { foreground: c.syntax.type } },
|
|
199
|
-
{ scope: ["support.class","entity.name.type.class"], settings: { foreground: c.syntax.type } },
|
|
200
|
-
{ scope: ["entity.name.class","variable.other.class.js","variable.other.class.ts"], settings: { foreground: c.syntax.type } },
|
|
201
|
-
{ scope: "entity.name.class.identifier.namespace.type", settings: { foreground: c.syntax.type } },
|
|
202
|
-
{ scope: "entity.name.type.namespace", settings: { foreground: c.syntax.namespace } },
|
|
203
|
-
{ scope: "entity.other.inherited-class", settings: { foreground: c.syntax.type } },
|
|
204
|
-
{ scope: "entity.name.namespace", settings: { foreground: c.syntax.namespace } },
|
|
205
|
-
|
|
206
|
-
// ========================================
|
|
207
|
-
// OPERATORS
|
|
208
|
-
// ========================================
|
|
209
|
-
{ scope: "keyword.operator", settings: { foreground: c.syntax.punctuation } },
|
|
210
|
-
{ scope: ["keyword.operator.logical","keyword.operator.bitwise","keyword.operator.channel"], settings: { foreground: c.syntax.operator } },
|
|
211
|
-
{ scope: ["keyword.operator.arithmetic","keyword.operator.comparison","keyword.operator.relational","keyword.operator.increment","keyword.operator.decrement"], settings: { foreground: c.syntax.operator } },
|
|
212
|
-
{ scope: "keyword.operator.assignment", settings: { foreground: c.syntax.operator } },
|
|
213
|
-
{ scope: "keyword.operator.assignment.compound", settings: { foreground: c.syntax.keyword } },
|
|
214
|
-
{ scope: ["keyword.operator.assignment.compound.js","keyword.operator.assignment.compound.ts"], settings: { foreground: c.syntax.operator } },
|
|
215
|
-
{ scope: "keyword.operator.ternary", settings: { foreground: c.syntax.keyword } },
|
|
216
|
-
{ scope: "keyword.operator.optional", settings: { foreground: c.syntax.keyword } },
|
|
217
|
-
|
|
218
|
-
// ========================================
|
|
219
|
-
// PUNCTUATION
|
|
220
|
-
// ========================================
|
|
221
|
-
{ scope: "punctuation", settings: { foreground: c.syntax.punctuation } },
|
|
222
|
-
{ scope: "punctuation.separator.delimiter", settings: { foreground: c.syntax.punctuation } },
|
|
223
|
-
{ scope: "punctuation.separator.key-value", settings: { foreground: c.syntax.punctuation } },
|
|
224
|
-
{ scope: "punctuation.terminator", settings: { foreground: c.syntax.punctuation } },
|
|
225
|
-
{ scope: "meta.brace", settings: { foreground: c.syntax.punctuation } },
|
|
226
|
-
{ scope: "meta.brace.square", settings: { foreground: c.syntax.punctuation } },
|
|
227
|
-
{ scope: "meta.brace.round", settings: { foreground: c.syntax.punctuation } },
|
|
228
|
-
{ scope: "function.brace", settings: { foreground: c.syntax.punctuation } },
|
|
229
|
-
{ scope: ["punctuation.definition.parameters","punctuation.definition.typeparameters"], settings: { foreground: c.syntax.punctuation } },
|
|
230
|
-
{ scope: ["punctuation.definition.block","punctuation.definition.tag"], settings: { foreground: c.syntax.punctuation } },
|
|
231
|
-
{ scope: ["meta.tag.tsx","meta.tag.jsx","meta.tag.js","meta.tag.ts"], settings: { foreground: c.syntax.punctuation } },
|
|
232
|
-
|
|
233
|
-
// ========================================
|
|
234
|
-
// JAVASCRIPT/TYPESCRIPT SPECIFIC
|
|
235
|
-
// ========================================
|
|
236
|
-
{ scope: "keyword.operator.expression.import", settings: { foreground: c.syntax.func } },
|
|
237
|
-
{ scope: "keyword.operator.module", settings: { foreground: c.syntax.keyword } },
|
|
238
|
-
{ scope: "support.type.object.console", settings: { foreground: c.syntax.variable } },
|
|
239
|
-
{ scope: ["support.module.node","support.type.object.module","entity.name.type.module"], settings: { foreground: c.syntax.namespace } },
|
|
240
|
-
{ scope: "support.constant.math", settings: { foreground: c.syntax.namespace } },
|
|
241
|
-
{ scope: "support.constant.property.math", settings: { foreground: c.syntax.constant } },
|
|
242
|
-
{ scope: "support.constant.json", settings: { foreground: c.syntax.constant } },
|
|
243
|
-
{ scope: "support.type.object.dom", settings: { foreground: c.syntax.operator } },
|
|
244
|
-
{ scope: ["support.variable.dom","support.variable.property.dom"], settings: { foreground: c.syntax.variable } },
|
|
245
|
-
{ scope: "support.variable.property.process", settings: { foreground: c.syntax.constant } },
|
|
246
|
-
{ scope: "meta.property.object", settings: { foreground: c.syntax.variable } },
|
|
247
|
-
{ scope: "variable.parameter.function.js", settings: { foreground: c.syntax.variable } },
|
|
248
|
-
|
|
249
|
-
// Template literals
|
|
250
|
-
{ scope: ["keyword.other.template.begin","keyword.other.template.end"], settings: { foreground: c.syntax.string } },
|
|
251
|
-
{ scope: ["keyword.other.substitution.begin","keyword.other.substitution.end"], settings: { foreground: c.syntax.string } },
|
|
252
|
-
{ scope: ["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end"], settings: { foreground: c.syntax.keyword } },
|
|
253
|
-
{ scope: "meta.template.expression", settings: { foreground: c.syntax.punctuation } },
|
|
254
|
-
{ scope: "punctuation.section.embedded", settings: { foreground: c.syntax.variable } },
|
|
255
|
-
{ scope: "variable.interpolation", settings: { foreground: c.syntax.variable } },
|
|
256
|
-
{ scope: ["punctuation.section.embedded.begin","punctuation.section.embedded.end"], settings: { foreground: c.syntax.keyword } },
|
|
257
|
-
{ scope: "punctuation.quasi.element", settings: { foreground: c.syntax.keyword } },
|
|
258
|
-
|
|
259
|
-
// TypeScript/Flow
|
|
260
|
-
{ scope: ["support.type.primitive.ts","support.type.builtin.ts","support.type.primitive.tsx","support.type.builtin.tsx"], settings: { foreground: c.syntax.type } },
|
|
261
|
-
{ scope: "support.type.type.flowtype", settings: { foreground: c.syntax.func } },
|
|
262
|
-
{ scope: "support.type.primitive", settings: { foreground: c.syntax.type } },
|
|
263
|
-
|
|
264
|
-
// ========================================
|
|
265
|
-
// PYTHON SPECIFIC
|
|
266
|
-
// ========================================
|
|
267
|
-
{ scope: "support.variable.magic.python", settings: { foreground: c.syntax.tag } },
|
|
268
|
-
{ scope: "variable.parameter.function.language.special.self.python", settings: { foreground: c.syntax.namespace } },
|
|
269
|
-
{ scope: ["punctuation.separator.period.python","punctuation.separator.element.python","punctuation.parenthesis.begin.python","punctuation.parenthesis.end.python"], settings: { foreground: c.syntax.punctuation } },
|
|
270
|
-
{ scope: ["punctuation.definition.arguments.begin.python","punctuation.definition.arguments.end.python","punctuation.separator.arguments.python","punctuation.definition.list.begin.python","punctuation.definition.list.end.python"], settings: { foreground: c.syntax.punctuation } },
|
|
271
|
-
{ scope: "support.type.python", settings: { foreground: c.syntax.operator } },
|
|
272
|
-
{ scope: "keyword.operator.logical.python", settings: { foreground: c.syntax.keyword } },
|
|
273
|
-
{ scope: "meta.function-call.generic.python", settings: { foreground: c.syntax.func } },
|
|
274
|
-
{ scope: "constant.character.format.placeholder.other.python", settings: { foreground: c.syntax.constant } },
|
|
275
|
-
{ scope: "meta.function.decorator.python", settings: { foreground: c.syntax.func } },
|
|
276
|
-
{ scope: ["support.token.decorator.python","meta.function.decorator.identifier.python"], settings: { foreground: c.syntax.operator } },
|
|
277
|
-
|
|
278
|
-
// ========================================
|
|
279
|
-
// RUST SPECIFIC
|
|
280
|
-
// ========================================
|
|
281
|
-
{ scope: "storage.modifier.lifetime.rust", settings: { foreground: c.syntax.punctuation } },
|
|
282
|
-
{ scope: "support.function.std.rust", settings: { foreground: c.syntax.func } },
|
|
283
|
-
{ scope: "entity.name.lifetime.rust", settings: { foreground: c.syntax.namespace } },
|
|
284
|
-
{ scope: "variable.language.rust", settings: { foreground: c.syntax.tag } },
|
|
285
|
-
{ scope: "keyword.operator.misc.rust", settings: { foreground: c.syntax.punctuation } },
|
|
286
|
-
{ scope: "keyword.operator.sigil.rust", settings: { foreground: c.syntax.keyword } },
|
|
287
|
-
{ scope: "support.constant.core.rust", settings: { foreground: c.syntax.constant } },
|
|
288
|
-
|
|
289
|
-
// ========================================
|
|
290
|
-
// C/C++ SPECIFIC
|
|
291
|
-
// ========================================
|
|
292
|
-
{ scope: ["meta.function.c","meta.function.cpp"], settings: { foreground: c.syntax.tag } },
|
|
293
|
-
{ scope: ["punctuation.section.block.begin.bracket.curly.cpp","punctuation.section.block.end.bracket.curly.cpp","punctuation.terminator.statement.c","punctuation.section.block.begin.bracket.curly.c","punctuation.section.block.end.bracket.curly.c","punctuation.section.parens.begin.bracket.round.c","punctuation.section.parens.end.bracket.round.c","punctuation.section.parameters.begin.bracket.round.c","punctuation.section.parameters.end.bracket.round.c"], settings: { foreground: c.syntax.punctuation } },
|
|
294
|
-
{ scope: ["keyword.operator.assignment.c","keyword.operator.comparison.c","keyword.operator.c","keyword.operator.increment.c","keyword.operator.decrement.c","keyword.operator.bitwise.shift.c"], settings: { foreground: c.syntax.keyword } },
|
|
295
|
-
{ scope: ["keyword.operator.assignment.cpp","keyword.operator.comparison.cpp","keyword.operator.cpp","keyword.operator.increment.cpp","keyword.operator.decrement.cpp","keyword.operator.bitwise.shift.cpp"], settings: { foreground: c.syntax.keyword } },
|
|
296
|
-
{ scope: ["punctuation.separator.c","punctuation.separator.cpp"], settings: { foreground: c.syntax.keyword } },
|
|
297
|
-
{ scope: ["support.type.posix-reserved.c","support.type.posix-reserved.cpp"], settings: { foreground: c.syntax.operator } },
|
|
298
|
-
{ scope: ["keyword.operator.sizeof.c","keyword.operator.sizeof.cpp"], settings: { foreground: c.syntax.keyword } },
|
|
299
|
-
{ scope: "variable.c", settings: { foreground: c.syntax.punctuation } },
|
|
300
|
-
|
|
301
|
-
// ========================================
|
|
302
|
-
// JAVA SPECIFIC
|
|
303
|
-
// ========================================
|
|
304
|
-
{ scope: ["storage.type.annotation.java","storage.type.object.array.java"], settings: { foreground: c.syntax.namespace } },
|
|
305
|
-
{ scope: "source.java", settings: { foreground: c.syntax.tag } },
|
|
306
|
-
{ scope: ["punctuation.section.block.begin.java","punctuation.section.block.end.java","punctuation.definition.method-parameters.begin.java","punctuation.definition.method-parameters.end.java","meta.method.identifier.java","punctuation.section.method.begin.java","punctuation.section.method.end.java","punctuation.terminator.java","punctuation.section.class.begin.java","punctuation.section.class.end.java","punctuation.section.inner-class.begin.java","punctuation.section.inner-class.end.java","meta.method-call.java","punctuation.section.class.begin.bracket.curly.java","punctuation.section.class.end.bracket.curly.java","punctuation.section.method.begin.bracket.curly.java","punctuation.section.method.end.bracket.curly.java","punctuation.separator.period.java","punctuation.bracket.angle.java","punctuation.definition.annotation.java","meta.method.body.java"], settings: { foreground: c.syntax.punctuation } },
|
|
307
|
-
{ scope: "meta.method.java", settings: { foreground: c.syntax.func } },
|
|
308
|
-
{ scope: ["storage.modifier.import.java","storage.type.java","storage.type.generic.java"], settings: { foreground: c.syntax.namespace } },
|
|
309
|
-
{ scope: "keyword.operator.instanceof.java", settings: { foreground: c.syntax.keyword } },
|
|
310
|
-
{ scope: "meta.definition.variable.name.java", settings: { foreground: c.syntax.tag } },
|
|
311
|
-
{ scope: "token.variable.parameter.java", settings: { foreground: c.syntax.punctuation } },
|
|
312
|
-
{ scope: "import.storage.java", settings: { foreground: c.syntax.namespace } },
|
|
313
|
-
{ scope: "token.package.keyword", settings: { foreground: c.syntax.keyword } },
|
|
314
|
-
{ scope: "token.package", settings: { foreground: c.syntax.punctuation } },
|
|
315
|
-
{ scope: "token.storage.type.java", settings: { foreground: c.syntax.namespace } },
|
|
316
|
-
|
|
317
|
-
// ========================================
|
|
318
|
-
// GO SPECIFIC
|
|
319
|
-
// ========================================
|
|
320
|
-
{ scope: "keyword.operator.assignment.go", settings: { foreground: c.syntax.namespace } },
|
|
321
|
-
{ scope: ["keyword.operator.arithmetic.go","keyword.operator.address.go"], settings: { foreground: c.syntax.keyword } },
|
|
322
|
-
{ scope: "entity.name.package.go", settings: { foreground: c.syntax.namespace } },
|
|
323
|
-
|
|
324
|
-
// ========================================
|
|
325
|
-
// PHP SPECIFIC
|
|
326
|
-
// ========================================
|
|
327
|
-
{ scope: ["support.other.namespace.use.php","support.other.namespace.use-as.php","support.other.namespace.php","entity.other.alias.php","meta.interface.php"], settings: { foreground: c.syntax.namespace } },
|
|
328
|
-
{ scope: "keyword.operator.error-control.php", settings: { foreground: c.syntax.keyword } },
|
|
329
|
-
{ scope: "keyword.operator.type.php", settings: { foreground: c.syntax.keyword } },
|
|
330
|
-
{ scope: ["punctuation.section.array.begin.php","punctuation.section.array.end.php"], settings: { foreground: c.syntax.punctuation } },
|
|
331
|
-
{ scope: ["storage.type.php","meta.other.type.phpdoc.php","keyword.other.type.php","keyword.other.array.phpdoc.php"], settings: { foreground: c.syntax.namespace } },
|
|
332
|
-
{ scope: ["meta.function-call.php","meta.function-call.object.php","meta.function-call.static.php"], settings: { foreground: c.syntax.func } },
|
|
333
|
-
{ scope: ["punctuation.definition.parameters.begin.bracket.round.php","punctuation.definition.parameters.end.bracket.round.php","punctuation.separator.delimiter.php","punctuation.section.scope.begin.php","punctuation.section.scope.end.php","punctuation.terminator.expression.php","punctuation.definition.arguments.begin.bracket.round.php","punctuation.definition.arguments.end.bracket.round.php","punctuation.definition.storage-type.begin.bracket.round.php","punctuation.definition.storage-type.end.bracket.round.php","punctuation.definition.array.begin.bracket.round.php","punctuation.definition.array.end.bracket.round.php","punctuation.definition.begin.bracket.round.php","punctuation.definition.end.bracket.round.php","punctuation.definition.begin.bracket.curly.php","punctuation.definition.end.bracket.curly.php","punctuation.definition.section.switch-block.end.bracket.curly.php","punctuation.definition.section.switch-block.start.bracket.curly.php","punctuation.definition.section.switch-block.begin.bracket.curly.php","punctuation.definition.section.switch-block.end.bracket.curly.php"], settings: { foreground: c.syntax.punctuation } },
|
|
334
|
-
{ scope: ["support.constant.ext.php","support.constant.std.php","support.constant.core.php","support.constant.parser-token.php"], settings: { foreground: c.syntax.constant } },
|
|
335
|
-
{ scope: ["entity.name.goto-label.php","support.other.php"], settings: { foreground: c.syntax.func } },
|
|
336
|
-
{ scope: ["keyword.operator.logical.php","keyword.operator.bitwise.php","keyword.operator.arithmetic.php"], settings: { foreground: c.syntax.operator } },
|
|
337
|
-
{ scope: "keyword.operator.regexp.php", settings: { foreground: c.syntax.keyword } },
|
|
338
|
-
{ scope: "keyword.operator.comparison.php", settings: { foreground: c.syntax.operator } },
|
|
339
|
-
{ scope: ["keyword.operator.heredoc.php","keyword.operator.nowdoc.php"], settings: { foreground: c.syntax.keyword } },
|
|
340
|
-
{ scope: "variable.other.class.php", settings: { foreground: c.syntax.tag } },
|
|
341
|
-
{ scope: "invalid.illegal.non-null-typehinted.php", settings: { foreground: "#f44747" } },
|
|
342
|
-
|
|
343
|
-
// ========================================
|
|
344
|
-
// HASKELL SPECIFIC
|
|
345
|
-
// ========================================
|
|
346
|
-
{ scope: "variable.other.generic-type.haskell", settings: { foreground: c.syntax.keyword } },
|
|
347
|
-
{ scope: "storage.type.haskell", settings: { foreground: c.syntax.constant } },
|
|
348
|
-
|
|
349
|
-
// ========================================
|
|
350
|
-
// C# SPECIFIC
|
|
351
|
-
// ========================================
|
|
352
|
-
{ scope: "storage.type.cs", settings: { foreground: c.syntax.namespace } },
|
|
353
|
-
{ scope: "entity.name.variable.local.cs", settings: { foreground: c.syntax.tag } },
|
|
354
|
-
{ scope: "entity.name.label.cs", settings: { foreground: c.syntax.namespace } },
|
|
355
|
-
{ scope: ["entity.name.scope-resolution.function.call","entity.name.scope-resolution.function.definition"], settings: { foreground: c.syntax.namespace } },
|
|
356
|
-
|
|
357
|
-
// ========================================
|
|
358
|
-
// OTHER LANGUAGES
|
|
359
|
-
// ========================================
|
|
360
|
-
// Unison
|
|
361
|
-
{ scope: ["punctuation.definition.delayed.unison","punctuation.definition.list.begin.unison","punctuation.definition.list.end.unison","punctuation.definition.ability.begin.unison","punctuation.definition.ability.end.unison","punctuation.operator.assignment.as.unison","punctuation.separator.pipe.unison","punctuation.separator.delimiter.unison","punctuation.definition.hash.unison"], settings: { foreground: c.syntax.tag } },
|
|
362
|
-
|
|
363
|
-
// Edge
|
|
364
|
-
{ scope: "support.constant.edge", settings: { foreground: c.syntax.keyword } },
|
|
365
|
-
|
|
366
|
-
// Elm
|
|
367
|
-
{ scope: "support.type.prelude.elm", settings: { foreground: c.syntax.operator } },
|
|
368
|
-
{ scope: "support.constant.elm", settings: { foreground: c.syntax.constant } },
|
|
369
|
-
|
|
370
|
-
// Clojure
|
|
371
|
-
{ scope: "entity.global.clojure", settings: { foreground: c.syntax.namespace } },
|
|
372
|
-
{ scope: "meta.symbol.clojure", settings: { foreground: c.syntax.tag } },
|
|
373
|
-
{ scope: "constant.keyword.clojure", settings: { foreground: c.syntax.operator } },
|
|
374
|
-
|
|
375
|
-
// CoffeeScript
|
|
376
|
-
{ scope: ["meta.arguments.coffee","variable.parameter.function.coffee"], settings: { foreground: c.syntax.tag } },
|
|
377
|
-
|
|
378
|
-
// Groovy
|
|
379
|
-
{ scope: "storage.modifier.import.groovy", settings: { foreground: c.syntax.namespace } },
|
|
380
|
-
{ scope: "meta.method.groovy", settings: { foreground: c.syntax.func } },
|
|
381
|
-
{ scope: "meta.definition.variable.name.groovy", settings: { foreground: c.syntax.tag } },
|
|
382
|
-
{ scope: "meta.definition.class.inherited.classes.groovy", settings: { foreground: c.syntax.string } },
|
|
383
|
-
|
|
384
|
-
// HLSL
|
|
385
|
-
{ scope: "support.variable.semantic.hlsl", settings: { foreground: c.syntax.namespace } },
|
|
386
|
-
{ scope: ["support.type.texture.hlsl","support.type.sampler.hlsl","support.type.object.hlsl","support.type.object.rw.hlsl","support.type.fx.hlsl","support.type.object.hlsl"], settings: { foreground: c.syntax.keyword } },
|
|
387
|
-
|
|
388
|
-
// SQL
|
|
389
|
-
{ scope: ["text.variable","text.bracketed"], settings: { foreground: c.syntax.tag } },
|
|
390
|
-
|
|
391
|
-
// Swift/VB
|
|
392
|
-
{ scope: ["support.type.swift","support.type.vb.asp"], settings: { foreground: c.syntax.namespace } },
|
|
393
|
-
|
|
394
|
-
// Makefile
|
|
395
|
-
{ scope: "meta.scope.prerequisites.makefile", settings: { foreground: c.syntax.tag } },
|
|
396
|
-
{ scope: "source.makefile", settings: { foreground: c.syntax.namespace } },
|
|
397
|
-
|
|
398
|
-
// Ini
|
|
399
|
-
{ scope: "source.ini", settings: { foreground: c.syntax.string } },
|
|
400
|
-
|
|
401
|
-
// Ruby
|
|
402
|
-
{ scope: "constant.language.symbol.ruby", settings: { foreground: c.syntax.operator } },
|
|
403
|
-
{ scope: ["function.parameter.ruby","function.parameter.cs"], settings: { foreground: c.syntax.punctuation } },
|
|
404
|
-
|
|
405
|
-
// Elixir
|
|
406
|
-
{ scope: "constant.language.symbol.elixir", settings: { foreground: c.syntax.operator } },
|
|
407
|
-
|
|
408
|
-
// Laravel Blade
|
|
409
|
-
{ scope: "text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade", settings: { foreground: c.syntax.keyword } },
|
|
410
|
-
{ scope: "text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade", settings: { foreground: c.syntax.keyword } },
|
|
411
|
-
|
|
412
|
-
// Xi
|
|
413
|
-
{ scope: "entity.name.function.xi", settings: { foreground: c.syntax.namespace } },
|
|
414
|
-
{ scope: "entity.name.class.xi", settings: { foreground: c.syntax.operator } },
|
|
415
|
-
{ scope: "constant.character.character-class.regexp.xi", settings: { foreground: c.syntax.tag } },
|
|
416
|
-
{ scope: "constant.regexp.xi", settings: { foreground: c.syntax.keyword } },
|
|
417
|
-
{ scope: "keyword.control.xi", settings: { foreground: c.syntax.operator } },
|
|
418
|
-
{ scope: "invalid.xi", settings: { foreground: c.syntax.punctuation } },
|
|
419
|
-
{ scope: "beginning.punctuation.definition.quote.markdown.xi", settings: { foreground: c.syntax.string } },
|
|
420
|
-
{ scope: "beginning.punctuation.definition.list.markdown.xi", settings: { foreground: c.syntax.comment } },
|
|
421
|
-
{ scope: "constant.character.xi", settings: { foreground: c.syntax.func } },
|
|
422
|
-
{ scope: "accent.xi", settings: { foreground: c.syntax.func } },
|
|
423
|
-
{ scope: "wikiword.xi", settings: { foreground: c.syntax.constant } },
|
|
424
|
-
{ scope: "constant.other.color.rgb-value.xi", settings: { foreground: c.syntax.invalid } },
|
|
425
|
-
{ scope: "punctuation.definition.tag.xi", settings: { foreground: c.syntax.comment } },
|
|
426
|
-
|
|
427
|
-
// ========================================
|
|
428
|
-
// CSS/SCSS/LESS
|
|
429
|
-
// ========================================
|
|
430
|
-
{ scope: ["support.constant.property-value.scss","support.constant.property-value.css"], settings: { foreground: c.syntax.constant } },
|
|
431
|
-
{ scope: ["keyword.operator.css","keyword.operator.scss","keyword.operator.less"], settings: { foreground: c.syntax.operator } },
|
|
432
|
-
{ scope: ["support.constant.color.w3c-standard-color-name.css","support.constant.color.w3c-standard-color-name.scss"], settings: { foreground: c.syntax.constant } },
|
|
433
|
-
{ scope: "punctuation.separator.list.comma.css", settings: { foreground: c.syntax.punctuation } },
|
|
434
|
-
{ scope: "support.type.vendored.property-name.css", settings: { foreground: c.syntax.operator } },
|
|
435
|
-
{ scope: "support.type.property-name.css", settings: { foreground: c.syntax.operator } },
|
|
436
|
-
{ scope: "support.type.property-name", settings: { foreground: c.syntax.punctuation } },
|
|
437
|
-
{ scope: "support.constant.property-value", settings: { foreground: c.syntax.punctuation } },
|
|
438
|
-
{ scope: "support.constant.font-name", settings: { foreground: c.syntax.constant } },
|
|
439
|
-
{ scope: "entity.other.attribute-name.class.css", settings: { foreground: c.syntax.attribute, fontStyle: "normal" } },
|
|
440
|
-
{ scope: "entity.other.attribute-name.id", settings: { foreground: c.syntax.func, fontStyle: "normal" } },
|
|
441
|
-
{ scope: ["entity.other.attribute-name.pseudo-element","entity.other.attribute-name.pseudo-class"], settings: { foreground: c.syntax.operator } },
|
|
442
|
-
{ scope: "meta.selector", settings: { foreground: c.syntax.keyword } },
|
|
443
|
-
{ scope: "selector.sass", settings: { foreground: c.syntax.tag } },
|
|
444
|
-
{ scope: "rgb-value", settings: { foreground: c.syntax.operator } },
|
|
445
|
-
{ scope: "inline-color-decoration rgb-value", settings: { foreground: c.syntax.constant } },
|
|
446
|
-
{ scope: "less rgb-value", settings: { foreground: c.syntax.constant } },
|
|
447
|
-
{ scope: "control.elements", settings: { foreground: c.syntax.constant } },
|
|
448
|
-
{ scope: "keyword.operator.less", settings: { foreground: c.syntax.constant } },
|
|
449
|
-
|
|
450
|
-
// ========================================
|
|
451
|
-
// HTML/XML
|
|
452
|
-
// ========================================
|
|
453
|
-
{ scope: "entity.name.tag", settings: { foreground: c.syntax.tag } },
|
|
454
|
-
{ scope: "entity.other.attribute-name", settings: { foreground: c.syntax.attribute, fontStyle: "normal" } },
|
|
455
|
-
{ scope: "constant.character.entity", settings: { foreground: c.syntax.tag } },
|
|
456
|
-
{ scope: "meta.tag", settings: { foreground: c.syntax.punctuation } },
|
|
457
|
-
{ scope: "invalid.illegal.bad-ampersand.html", settings: { foreground: c.syntax.punctuation } },
|
|
458
|
-
|
|
459
|
-
// ========================================
|
|
460
|
-
// MARKDOWN
|
|
461
|
-
// ========================================
|
|
462
|
-
{ scope: "markup.heading", settings: { foreground: c.syntax.tag } },
|
|
463
|
-
{ scope: ["markup.heading punctuation.definition.heading","entity.name.section"], settings: { foreground: c.syntax.func } },
|
|
464
|
-
{ scope: "entity.name.section.markdown", settings: { foreground: c.syntax.tag } },
|
|
465
|
-
{ scope: "punctuation.definition.heading.markdown", settings: { foreground: c.syntax.tag } },
|
|
466
|
-
{ scope: "markup.heading.setext", settings: { foreground: c.syntax.punctuation } },
|
|
467
|
-
{ scope: ["markup.heading.setext.1.markdown","markup.heading.setext.2.markdown"], settings: { foreground: c.syntax.tag } },
|
|
468
|
-
|
|
469
|
-
{ scope: ["markup.bold","todo.bold"], settings: { foreground: c.syntax.constant } },
|
|
470
|
-
{ scope: "punctuation.definition.bold", settings: { foreground: c.syntax.namespace } },
|
|
471
|
-
{ scope: "punctuation.definition.bold.markdown", settings: { foreground: c.syntax.constant } },
|
|
472
|
-
|
|
473
|
-
{ scope: ["markup.italic","punctuation.definition.italic","todo.emphasis"], settings: { foreground: c.syntax.keyword, fontStyle: "italic" } },
|
|
474
|
-
{ scope: "emphasis md", settings: { foreground: c.syntax.keyword } },
|
|
475
|
-
{ scope: "markup.italic.markdown", settings: { fontStyle: "italic" } },
|
|
476
|
-
|
|
477
|
-
{ scope: ["markup.underline.link.markdown","markup.underline.link.image.markdown"], settings: { foreground: c.syntax.keyword } },
|
|
478
|
-
{ scope: ["string.other.link.title.markdown","string.other.link.description.markdown"], settings: { foreground: c.syntax.func } },
|
|
479
|
-
{ scope: "punctuation.definition.metadata.markdown", settings: { foreground: c.syntax.tag } },
|
|
480
|
-
|
|
481
|
-
{ scope: ["markup.inline.raw.markdown","markup.inline.raw.string.markdown"], settings: { foreground: c.syntax.string } },
|
|
482
|
-
|
|
483
|
-
{ scope: "punctuation.definition.list.begin.markdown", settings: { foreground: c.syntax.tag } },
|
|
484
|
-
{ scope: "punctuation.definition.list.markdown", settings: { foreground: c.syntax.tag } },
|
|
485
|
-
{ scope: "beginning.punctuation.definition.list.markdown", settings: { foreground: c.syntax.tag } },
|
|
486
|
-
|
|
487
|
-
{ scope: ["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown"], settings: { foreground: c.syntax.tag } },
|
|
488
|
-
|
|
489
|
-
{ scope: "markup.quote.markdown", settings: { foreground: c.syntax.comment } },
|
|
490
|
-
|
|
491
|
-
{ scope: "keyword.other.unit", settings: { foreground: c.syntax.tag } },
|
|
492
|
-
|
|
493
|
-
// ========================================
|
|
494
|
-
// DIFF/GIT
|
|
495
|
-
// ========================================
|
|
496
|
-
{ scope: "markup.changed.diff", settings: { foreground: c.syntax.namespace } },
|
|
497
|
-
{ scope: ["meta.diff.header.from-file","meta.diff.header.to-file","punctuation.definition.from-file.diff","punctuation.definition.to-file.diff"], settings: { foreground: c.syntax.func } },
|
|
498
|
-
{ scope: "markup.inserted.diff", settings: { foreground: c.syntax.string } },
|
|
499
|
-
{ scope: "markup.deleted.diff", settings: { foreground: c.syntax.tag } },
|
|
500
|
-
|
|
501
|
-
// ========================================
|
|
502
|
-
// REGULAR EXPRESSIONS
|
|
503
|
-
// ========================================
|
|
504
|
-
{ scope: "string.regexp", settings: { foreground: c.syntax.regexp } },
|
|
505
|
-
{ scope: "constant.other.character-class.regexp", settings: { foreground: c.syntax.tag } },
|
|
506
|
-
{ scope: "keyword.operator.quantifier.regexp", settings: { foreground: c.syntax.constant } },
|
|
507
|
-
{ scope: "constant.character.escape", settings: { foreground: c.syntax.escape } },
|
|
508
|
-
|
|
509
|
-
// ========================================
|
|
510
|
-
// JSON
|
|
511
|
-
// ========================================
|
|
512
|
-
{ scope: "source.json meta.structure.dictionary.json > string.quoted.json", settings: { foreground: c.syntax.tag } },
|
|
513
|
-
{ scope: "source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string", settings: { foreground: c.syntax.tag } },
|
|
514
|
-
{ scope: ["source.json meta.structure.dictionary.json > value.json > string.quoted.json","source.json meta.structure.array.json > value.json > string.quoted.json","source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation","source.json meta.structure.array.json > value.json > string.quoted.json > punctuation"], settings: { foreground: c.syntax.string } },
|
|
515
|
-
{ scope: ["source.json meta.structure.dictionary.json > constant.language.json","source.json meta.structure.array.json > constant.language.json"], settings: { foreground: c.syntax.operator } },
|
|
516
|
-
{ scope: "support.type.property-name.json", settings: { foreground: c.syntax.tag } },
|
|
517
|
-
{ scope: "support.type.property-name.json punctuation", settings: { foreground: c.syntax.tag } },
|
|
518
|
-
|
|
519
|
-
// ========================================
|
|
520
|
-
// YAML
|
|
521
|
-
// ========================================
|
|
522
|
-
{ scope: "punctuation.definition.block.sequence.item.yaml", settings: { foreground: c.syntax.punctuation } },
|
|
523
|
-
|
|
524
|
-
// ========================================
|
|
525
|
-
// SPECIAL/MISC
|
|
526
|
-
// ========================================
|
|
527
|
-
{ scope: "block.scope.end", settings: { foreground: c.syntax.punctuation } },
|
|
528
|
-
{ scope: "block.scope.begin", settings: { foreground: c.syntax.punctuation } },
|
|
529
|
-
|
|
530
|
-
{ scope: "token.info-token", settings: { foreground: c.syntax.func } },
|
|
531
|
-
{ scope: "token.warn-token", settings: { foreground: c.syntax.constant } },
|
|
532
|
-
{ scope: "token.error-token", settings: { foreground: "#f44747" } },
|
|
533
|
-
{ scope: "token.debug-token", settings: { foreground: c.syntax.keyword } },
|
|
534
|
-
|
|
535
|
-
// ========================================
|
|
536
|
-
// INVALID/ERROR STATES
|
|
537
|
-
// ========================================
|
|
538
|
-
{ scope: "invalid.illegal", settings: { foreground: c.syntax.invalid } },
|
|
539
|
-
{ scope: "invalid.broken", settings: { foreground: c.syntax.invalid } },
|
|
540
|
-
{ scope: "invalid.deprecated", settings: { foreground: c.syntax.invalid } },
|
|
541
|
-
{ scope: "invalid.unimplemented", settings: { foreground: c.syntax.invalid } }
|
|
542
|
-
],
|
|
543
|
-
|
|
544
|
-
semanticTokenColors: {
|
|
545
|
-
comment: c.syntax.comment,
|
|
546
|
-
string: c.syntax.string,
|
|
547
|
-
number: c.syntax.number,
|
|
548
|
-
regexp: c.syntax.regexp,
|
|
549
|
-
keyword: c.syntax.keyword,
|
|
550
|
-
// identifiers
|
|
551
|
-
variable: c.syntax.variable,
|
|
552
|
-
parameter: c.syntax.parameter,
|
|
553
|
-
property: c.syntax.variable,
|
|
554
|
-
// callables / types
|
|
555
|
-
function: c.syntax.func,
|
|
556
|
-
method: c.syntax.func,
|
|
557
|
-
type: c.syntax.type,
|
|
558
|
-
class: c.syntax.type,
|
|
559
|
-
namespace: c.syntax.namespace,
|
|
560
|
-
// constants and special
|
|
561
|
-
enumMember: c.syntax.operator,
|
|
562
|
-
"variable.constant": c.syntax.constant,
|
|
563
|
-
"variable.defaultLibrary": c.syntax.namespace
|
|
564
|
-
}
|
|
565
|
-
};
|
|
566
|
-
}
|
|
567
|
-
|
|
568
|
-
// helpers
|
|
569
|
-
function alpha(color: string, opacity: number): string {
|
|
570
|
-
// Handle Display P3 color format
|
|
571
|
-
if (color.startsWith('color(display-p3')) {
|
|
572
|
-
// Extract the existing alpha if present, or insert new one
|
|
573
|
-
if (color.includes(' / ')) {
|
|
574
|
-
// Replace existing alpha
|
|
575
|
-
return color.replace(/ \/ [\d.]+\)$/, ` / ${opacity.toFixed(6)})`);
|
|
576
|
-
} else {
|
|
577
|
-
// Add alpha before closing paren
|
|
578
|
-
return color.replace(/\)$/, ` / ${opacity.toFixed(6)})`);
|
|
579
|
-
}
|
|
580
|
-
}
|
|
581
|
-
|
|
582
|
-
// Handle hex color format
|
|
583
|
-
const alphaHex = Math.round(opacity * 255).toString(16).padStart(2, "0");
|
|
584
|
-
return `${color}${alphaHex}`;
|
|
585
|
-
}
|
|
586
|
-
|
|
587
|
-
function hexToRgb(hex: string): [number,number,number] {
|
|
588
|
-
const n = hex.replace("#",""); const v = parseInt(n.length===3 ? n.split("").map(x=>x+x).join("") : n, 16);
|
|
589
|
-
return [(v>>16)&255,(v>>8)&255,v&255];
|
|
590
|
-
}
|
|
591
|
-
|
|
592
|
-
function p3ToRgb(p3Color: string): [number,number,number] {
|
|
593
|
-
// Extract RGB values from color(display-p3 r g b) format
|
|
594
|
-
const match = p3Color.match(/color\(display-p3\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)/);
|
|
595
|
-
if (match) {
|
|
596
|
-
return [parseFloat(match[1]) * 255, parseFloat(match[2]) * 255, parseFloat(match[3]) * 255];
|
|
597
|
-
}
|
|
598
|
-
return [0, 0, 0];
|
|
599
|
-
}
|
|
600
|
-
|
|
601
|
-
function mix(c1: string, c2: string, w=0.5) {
|
|
602
|
-
// Handle Display P3 colors
|
|
603
|
-
if (c1.startsWith('color(display-p3') && c2.startsWith('color(display-p3')) {
|
|
604
|
-
const [r1,g1,b1] = p3ToRgb(c1);
|
|
605
|
-
const [r2,g2,b2] = p3ToRgb(c2);
|
|
606
|
-
const r=Math.round(r1*(1-w)+r2*w), g=Math.round(g1*(1-w)+g2*w), b=Math.round(b1*(1-w)+b2*w);
|
|
607
|
-
// Convert back to P3 format (0-1 range)
|
|
608
|
-
return `color(display-p3 ${(r/255).toFixed(6)} ${(g/255).toFixed(6)} ${(b/255).toFixed(6)})`;
|
|
609
|
-
}
|
|
610
|
-
|
|
611
|
-
// Handle hex colors
|
|
612
|
-
const [r1,g1,b1]=hexToRgb(c1), [r2,g2,b2]=hexToRgb(c2);
|
|
613
|
-
const r=Math.round(r1*(1-w)+r2*w), g=Math.round(g1*(1-w)+g2*w), b=Math.round(b1*(1-w)+b2*w);
|
|
614
|
-
return `#${[r,g,b].map(x=>x.toString(16).padStart(2,"0")).join("")}`;
|
|
615
|
-
}
|