@codingame/monaco-vscode-theme-service-override 3.2.2 → 4.0.0

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.
@@ -1,3 +1,5 @@
1
+ export { AbstractDialogHandler, IDialogService, IFileDialogService, getFileNamesMessage } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
2
+
1
3
  var ConfirmResult;
2
4
  ( (function(ConfirmResult) {
3
5
  ConfirmResult[ConfirmResult["SAVE"] = 0] = "SAVE";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-theme-service-override",
3
- "version": "3.2.2",
3
+ "version": "4.0.0",
4
4
  "keywords": [],
5
5
  "author": {
6
6
  "name": "CodinGame",
@@ -18,7 +18,7 @@
18
18
  "module": "index.js",
19
19
  "types": "index.d.ts",
20
20
  "dependencies": {
21
- "vscode": "npm:@codingame/monaco-vscode-api@3.2.2",
22
- "@codingame/monaco-vscode-files-service-override": "3.2.2"
21
+ "vscode": "npm:@codingame/monaco-vscode-api@4.0.0",
22
+ "@codingame/monaco-vscode-files-service-override": "4.0.0"
23
23
  }
24
24
  }
@@ -8,7 +8,17 @@ import { Categories } from 'vscode/vscode/vs/platform/action/common/actionCommon
8
8
  import { IWorkbenchThemeService, ThemeSettings, ThemeSettingDefaults } from 'vscode/vscode/vs/workbench/services/themes/common/workbenchThemeService';
9
9
  import { VIEWLET_ID } from 'vscode/vscode/vs/workbench/contrib/extensions/common/extensions';
10
10
  import { IExtensionGalleryService, IExtensionManagementService } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagement';
11
- import { Extensions } from 'vscode/vscode/vs/platform/theme/common/colorRegistry';
11
+ import { Extensions } from 'vscode/vscode/vs/platform/theme/common/colorUtils';
12
+ import 'vscode/vscode/vs/platform/theme/common/colors/baseColors';
13
+ import 'vscode/vscode/vs/platform/theme/common/colors/chartsColors';
14
+ import 'vscode/vscode/vs/platform/theme/common/colors/editorColors';
15
+ import 'vscode/vscode/vs/platform/theme/common/colors/inputColors';
16
+ import 'vscode/vscode/vs/platform/theme/common/colors/listColors';
17
+ import 'vscode/vscode/vs/platform/theme/common/colors/menuColors';
18
+ import 'vscode/vscode/vs/platform/theme/common/colors/minimapColors';
19
+ import 'vscode/vscode/vs/platform/theme/common/colors/miscColors';
20
+ import 'vscode/vscode/vs/platform/theme/common/colors/quickpickColors';
21
+ import 'vscode/vscode/vs/platform/theme/common/colors/searchColors';
12
22
  import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService';
13
23
  import { Color } from 'vscode/vscode/vs/base/common/color';
14
24
  import { ColorScheme, isHighContrast } from 'vscode/vscode/vs/platform/theme/common/theme';
@@ -12,7 +12,7 @@ import { ColorThemeData } from '../common/colorThemeData.js';
12
12
  import { Extensions } from 'vscode/vscode/vs/platform/theme/common/themeService';
13
13
  import { Emitter } from 'vscode/vscode/vs/base/common/event';
14
14
  import { registerFileIconThemeSchemas } from '../common/fileIconThemeSchema.js';
15
- import { dispose } from 'vscode/vscode/vs/base/common/lifecycle';
15
+ import { Disposable, dispose } from 'vscode/vscode/vs/base/common/lifecycle';
16
16
  import { FileIconThemeData, FileIconThemeLoader } from './fileIconThemeData.js';
17
17
  import { createStyleSheet } from 'vscode/vscode/vs/base/browser/dom';
18
18
  import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/browser/environmentService';
@@ -33,7 +33,17 @@ import { IHostColorSchemeService } from 'vscode/vscode/vs/workbench/services/the
33
33
  import { Sequencer, RunOnceScheduler } from 'vscode/vscode/vs/base/common/async';
34
34
  import { IUserDataInitializationService } from 'vscode/vscode/vs/workbench/services/userData/browser/userDataInit';
35
35
  import { getIconsStyleSheet } from 'vscode/vscode/vs/platform/theme/browser/iconsStyleSheet';
36
- import { getColorRegistry, asCssVariableName } from 'vscode/vscode/vs/platform/theme/common/colorRegistry';
36
+ import { getColorRegistry, asCssVariableName } from 'vscode/vscode/vs/platform/theme/common/colorUtils';
37
+ import 'vscode/vscode/vs/platform/theme/common/colors/baseColors';
38
+ import 'vscode/vscode/vs/platform/theme/common/colors/chartsColors';
39
+ import 'vscode/vscode/vs/platform/theme/common/colors/editorColors';
40
+ import 'vscode/vscode/vs/platform/theme/common/colors/inputColors';
41
+ import 'vscode/vscode/vs/platform/theme/common/colors/listColors';
42
+ import 'vscode/vscode/vs/platform/theme/common/colors/menuColors';
43
+ import 'vscode/vscode/vs/platform/theme/common/colors/minimapColors';
44
+ import 'vscode/vscode/vs/platform/theme/common/colors/miscColors';
45
+ import 'vscode/vscode/vs/platform/theme/common/colors/quickpickColors';
46
+ import 'vscode/vscode/vs/platform/theme/common/colors/searchColors';
37
47
  import { ILanguageService } from 'vscode/vscode/vs/editor/common/languages/language';
38
48
  import { mainWindow } from 'vscode/vscode/vs/base/browser/window';
39
49
 
@@ -58,8 +68,9 @@ function validateThemeId(theme) {
58
68
  const colorThemesExtPoint = registerColorThemeExtensionPoint();
59
69
  const fileIconThemesExtPoint = registerFileIconThemeExtensionPoint();
60
70
  const productIconThemesExtPoint = registerProductIconThemeExtensionPoint();
61
- let WorkbenchThemeService = class WorkbenchThemeService {
71
+ let WorkbenchThemeService = class WorkbenchThemeService extends Disposable {
62
72
  constructor(extensionService, storageService, configurationService, telemetryService, environmentService, fileService, extensionResourceLoaderService, layoutService, logService, hostColorService, userDataInitializationService, languageService) {
73
+ super();
63
74
  this.storageService = storageService;
64
75
  this.configurationService = configurationService;
65
76
  this.telemetryService = telemetryService;
@@ -68,41 +79,42 @@ let WorkbenchThemeService = class WorkbenchThemeService {
68
79
  this.logService = logService;
69
80
  this.hostColorService = hostColorService;
70
81
  this.userDataInitializationService = userDataInitializationService;
82
+ this.languageService = languageService;
71
83
  this.hasDefaultUpdated = false;
72
84
  this.themeExtensionsActivated = ( new Map());
73
85
  this.container = layoutService.mainContainer;
74
86
  this.settings = ( new ThemeConfiguration(configurationService));
75
- this.colorThemeRegistry = ( new ThemeRegistry(colorThemesExtPoint, ColorThemeData.fromExtensionTheme));
76
- this.colorThemeWatcher = ( new ThemeFileWatcher(fileService, environmentService, this.reloadCurrentColorTheme.bind(this)));
87
+ this.colorThemeRegistry = this._register(( new ThemeRegistry(colorThemesExtPoint, ColorThemeData.fromExtensionTheme)));
88
+ this.colorThemeWatcher = this._register(( new ThemeFileWatcher(fileService, environmentService, this.reloadCurrentColorTheme.bind(this))));
77
89
  this.onColorThemeChange = ( new Emitter({ leakWarningThreshold: 400 }));
78
90
  this.currentColorTheme = ColorThemeData.createUnloadedTheme('');
79
91
  this.colorThemeSequencer = ( new Sequencer());
80
- this.fileIconThemeWatcher = ( new ThemeFileWatcher(
92
+ this.fileIconThemeWatcher = this._register(( new ThemeFileWatcher(
81
93
  fileService,
82
94
  environmentService,
83
95
  this.reloadCurrentFileIconTheme.bind(this)
84
- ));
85
- this.fileIconThemeRegistry = ( new ThemeRegistry(
96
+ )));
97
+ this.fileIconThemeRegistry = this._register(( new ThemeRegistry(
86
98
  fileIconThemesExtPoint,
87
99
  FileIconThemeData.fromExtensionTheme,
88
100
  true,
89
101
  FileIconThemeData.noIconTheme
90
- ));
102
+ )));
91
103
  this.fileIconThemeLoader = ( new FileIconThemeLoader(extensionResourceLoaderService, languageService));
92
104
  this.onFileIconThemeChange = ( new Emitter({ leakWarningThreshold: 400 }));
93
105
  this.currentFileIconTheme = FileIconThemeData.createUnloadedTheme('');
94
106
  this.fileIconThemeSequencer = ( new Sequencer());
95
- this.productIconThemeWatcher = ( new ThemeFileWatcher(
107
+ this.productIconThemeWatcher = this._register(( new ThemeFileWatcher(
96
108
  fileService,
97
109
  environmentService,
98
110
  this.reloadCurrentProductIconTheme.bind(this)
99
- ));
100
- this.productIconThemeRegistry = ( new ThemeRegistry(
111
+ )));
112
+ this.productIconThemeRegistry = this._register(( new ThemeRegistry(
101
113
  productIconThemesExtPoint,
102
114
  ProductIconThemeData.fromExtensionTheme,
103
115
  true,
104
116
  ProductIconThemeData.defaultTheme
105
- ));
117
+ )));
106
118
  this.onProductIconThemeChange = ( new Emitter());
107
119
  this.currentProductIconTheme = ProductIconThemeData.createUnloadedTheme('');
108
120
  this.productIconThemeSequencer = ( new Sequencer());
@@ -144,12 +156,12 @@ let WorkbenchThemeService = class WorkbenchThemeService {
144
156
  });
145
157
  const codiconStyleSheet = createStyleSheet();
146
158
  codiconStyleSheet.id = 'codiconStyles';
147
- const iconsStyleSheet = getIconsStyleSheet(this);
159
+ const iconsStyleSheet = this._register(getIconsStyleSheet(this));
148
160
  function updateAll() {
149
161
  codiconStyleSheet.textContent = iconsStyleSheet.getCSS();
150
162
  }
151
- const delayer = ( new RunOnceScheduler(updateAll, 0));
152
- iconsStyleSheet.onDidChange(() => delayer.schedule());
163
+ const delayer = this._register(( new RunOnceScheduler(updateAll, 0)));
164
+ this._register(iconsStyleSheet.onDidChange(() => delayer.schedule()));
153
165
  delayer.schedule();
154
166
  }
155
167
  initialize() {
@@ -204,7 +216,7 @@ let WorkbenchThemeService = class WorkbenchThemeService {
204
216
  return Promise.all([initializeColorTheme(), initializeFileIconTheme(), initializeProductIconTheme()]);
205
217
  }
206
218
  installConfigurationListener() {
207
- this.configurationService.onDidChangeConfiguration(e => {
219
+ this._register(this.configurationService.onDidChangeConfiguration(e => {
208
220
  let lazyPreferredColorScheme = null;
209
221
  const getPreferredColorScheme = () => {
210
222
  if (lazyPreferredColorScheme === null) {
@@ -255,11 +267,11 @@ let WorkbenchThemeService = class WorkbenchThemeService {
255
267
  this.onColorThemeChange.fire(this.currentColorTheme);
256
268
  }
257
269
  }
258
- });
270
+ }));
259
271
  }
260
272
  installRegistryListeners() {
261
273
  let prevColorId = undefined;
262
- this.colorThemeRegistry.onDidChange(async (event) => {
274
+ this._register(this.colorThemeRegistry.onDidChange(async (event) => {
263
275
  updateColorThemeConfigurationSchemas(event.themes);
264
276
  if (await this.restoreColorTheme()) {
265
277
  if (this.currentColorTheme.settingsId === ThemeSettingDefaults.COLOR_THEME_DARK && !isUndefined(prevColorId) && (await this.colorThemeRegistry.findThemeById(prevColorId))) {
@@ -275,9 +287,9 @@ let WorkbenchThemeService = class WorkbenchThemeService {
275
287
  const defaultTheme = this.colorThemeRegistry.findThemeBySettingsId(ThemeSettingDefaults.COLOR_THEME_DARK);
276
288
  await this.setColorTheme(defaultTheme, 'auto');
277
289
  }
278
- });
290
+ }));
279
291
  let prevFileIconId = undefined;
280
- this.fileIconThemeRegistry.onDidChange(async (event) => {
292
+ this._register(this._register(this.fileIconThemeRegistry.onDidChange(async (event) => {
281
293
  updateFileIconThemeConfigurationSchemas(event.themes);
282
294
  if (await this.restoreFileIconTheme()) {
283
295
  if (this.currentFileIconTheme.id === DEFAULT_FILE_ICON_THEME_ID && !isUndefined(prevFileIconId) && this.fileIconThemeRegistry.findThemeById(prevFileIconId)) {
@@ -292,9 +304,9 @@ let WorkbenchThemeService = class WorkbenchThemeService {
292
304
  prevFileIconId = this.currentFileIconTheme.id;
293
305
  await this.setFileIconTheme(DEFAULT_FILE_ICON_THEME_ID, 'auto');
294
306
  }
295
- });
307
+ })));
296
308
  let prevProductIconId = undefined;
297
- this.productIconThemeRegistry.onDidChange(async (event) => {
309
+ this._register(this.productIconThemeRegistry.onDidChange(async (event) => {
298
310
  updateProductIconThemeConfigurationSchemas(event.themes);
299
311
  if (await this.restoreProductIconTheme()) {
300
312
  if (this.currentProductIconTheme.id === DEFAULT_PRODUCT_ICON_THEME_ID && !isUndefined(prevProductIconId) && this.productIconThemeRegistry.findThemeById(prevProductIconId)) {
@@ -309,7 +321,8 @@ let WorkbenchThemeService = class WorkbenchThemeService {
309
321
  prevProductIconId = this.currentProductIconTheme.id;
310
322
  await this.setProductIconTheme(DEFAULT_PRODUCT_ICON_THEME_ID, 'auto');
311
323
  }
312
- });
324
+ }));
325
+ this._register(this.languageService.onDidChange(() => this.reloadCurrentFileIconTheme()));
313
326
  return Promise.all([this.getColorThemes(), this.getFileIconThemes(), this.getProductIconThemes()]).then(([ct, fit, pit]) => {
314
327
  updateColorThemeConfigurationSchemas(ct);
315
328
  updateFileIconThemeConfigurationSchemas(fit);
@@ -317,7 +330,7 @@ let WorkbenchThemeService = class WorkbenchThemeService {
317
330
  });
318
331
  }
319
332
  installPreferredSchemeListener() {
320
- this.hostColorService.onDidChangeColorScheme(() => this.handlePreferredSchemeUpdated());
333
+ this._register(this.hostColorService.onDidChangeColorScheme(() => this.handlePreferredSchemeUpdated()));
321
334
  }
322
335
  async handlePreferredSchemeUpdated() {
323
336
  const scheme = this.getPreferredColorScheme();
@@ -6,7 +6,17 @@ import { convertSettings } from './themeCompatibility.js';
6
6
  import { localizeWithPath } from 'vscode/vscode/vs/nls';
7
7
  import { isUndefined, isObject, isString, isBoolean } from 'vscode/vscode/vs/base/common/types';
8
8
  import { extname, joinPath, dirname } from 'vscode/vscode/vs/base/common/resources';
9
- import { Extensions, editorForeground, editorBackground } from 'vscode/vscode/vs/platform/theme/common/colorRegistry';
9
+ import { Extensions } from 'vscode/vscode/vs/platform/theme/common/colorUtils';
10
+ import 'vscode/vscode/vs/platform/theme/common/colors/baseColors';
11
+ import 'vscode/vscode/vs/platform/theme/common/colors/chartsColors';
12
+ import { editorForeground, editorBackground } from 'vscode/vscode/vs/platform/theme/common/colors/editorColors';
13
+ import 'vscode/vscode/vs/platform/theme/common/colors/inputColors';
14
+ import 'vscode/vscode/vs/platform/theme/common/colors/listColors';
15
+ import 'vscode/vscode/vs/platform/theme/common/colors/menuColors';
16
+ import 'vscode/vscode/vs/platform/theme/common/colors/minimapColors';
17
+ import 'vscode/vscode/vs/platform/theme/common/colors/miscColors';
18
+ import 'vscode/vscode/vs/platform/theme/common/colors/quickpickColors';
19
+ import 'vscode/vscode/vs/platform/theme/common/colors/searchColors';
10
20
  import { getThemeTypeSelector } from 'vscode/vscode/vs/platform/theme/common/themeService';
11
21
  import { Registry } from 'vscode/vscode/vs/platform/registry/common/platform';
12
22
  import { getParseErrorMessage } from 'vscode/vscode/vs/base/common/jsonErrorMessages';
@@ -1,7 +1,17 @@
1
1
  import { localizeWithPath } from 'vscode/vscode/vs/nls';
2
2
  import { Registry } from 'vscode/vscode/vs/platform/registry/common/platform';
3
3
  import { Extensions } from 'vscode/vscode/vs/platform/jsonschemas/common/jsonContributionRegistry';
4
- import { workbenchColorsSchemaId } from 'vscode/vscode/vs/platform/theme/common/colorRegistry';
4
+ import { workbenchColorsSchemaId } from 'vscode/vscode/vs/platform/theme/common/colorUtils';
5
+ import 'vscode/vscode/vs/platform/theme/common/colors/baseColors';
6
+ import 'vscode/vscode/vs/platform/theme/common/colors/chartsColors';
7
+ import 'vscode/vscode/vs/platform/theme/common/colors/editorColors';
8
+ import 'vscode/vscode/vs/platform/theme/common/colors/inputColors';
9
+ import 'vscode/vscode/vs/platform/theme/common/colors/listColors';
10
+ import 'vscode/vscode/vs/platform/theme/common/colors/menuColors';
11
+ import 'vscode/vscode/vs/platform/theme/common/colors/minimapColors';
12
+ import 'vscode/vscode/vs/platform/theme/common/colors/miscColors';
13
+ import 'vscode/vscode/vs/platform/theme/common/colors/quickpickColors';
14
+ import 'vscode/vscode/vs/platform/theme/common/colors/searchColors';
5
15
  import { tokenStylingSchemaId } from 'vscode/vscode/vs/platform/theme/common/tokenClassificationRegistry';
6
16
 
7
17
  const textMateScopes = [
@@ -1,5 +1,15 @@
1
1
  import { Color } from 'vscode/vscode/vs/base/common/color';
2
- import { editorBackground, editorForeground, editorSelectionBackground, editorInactiveSelection, editorSelectionHighlight, editorFindMatchHighlight, editorFindMatch, editorHoverHighlight, editorFindRangeHighlight } from 'vscode/vscode/vs/platform/theme/common/colorRegistry';
2
+ import 'vscode/vscode/vs/platform/theme/common/colorUtils';
3
+ import 'vscode/vscode/vs/platform/theme/common/colors/baseColors';
4
+ import 'vscode/vscode/vs/platform/theme/common/colors/chartsColors';
5
+ import { editorBackground, editorForeground, editorSelectionBackground, editorInactiveSelection, editorSelectionHighlight, editorFindMatchHighlight, editorFindMatch, editorHoverHighlight, editorFindRangeHighlight } from 'vscode/vscode/vs/platform/theme/common/colors/editorColors';
6
+ import 'vscode/vscode/vs/platform/theme/common/colors/inputColors';
7
+ import 'vscode/vscode/vs/platform/theme/common/colors/listColors';
8
+ import 'vscode/vscode/vs/platform/theme/common/colors/menuColors';
9
+ import 'vscode/vscode/vs/platform/theme/common/colors/minimapColors';
10
+ import 'vscode/vscode/vs/platform/theme/common/colors/miscColors';
11
+ import 'vscode/vscode/vs/platform/theme/common/colors/quickpickColors';
12
+ import 'vscode/vscode/vs/platform/theme/common/colors/searchColors';
3
13
  import { editorLineHighlight, editorRangeHighlight, editorCursorForeground, editorWhitespaces, editorIndentGuide1, editorActiveIndentGuide1 } from 'vscode/vscode/vs/editor/common/core/editorColorRegistry';
4
14
 
5
15
  const settingToColorIdMapping = {};
@@ -3,7 +3,17 @@ import { isUndefined } from 'vscode/vscode/vs/base/common/types';
3
3
  import { Registry } from 'vscode/vscode/vs/platform/registry/common/platform';
4
4
  import { Extensions } from 'vscode/vscode/vs/platform/configuration/common/configurationRegistry';
5
5
  import { textmateColorsSchemaId, textmateColorGroupSchemaId } from './colorThemeSchema.js';
6
- import { workbenchColorsSchemaId } from 'vscode/vscode/vs/platform/theme/common/colorRegistry';
6
+ import { workbenchColorsSchemaId } from 'vscode/vscode/vs/platform/theme/common/colorUtils';
7
+ import 'vscode/vscode/vs/platform/theme/common/colors/baseColors';
8
+ import 'vscode/vscode/vs/platform/theme/common/colors/chartsColors';
9
+ import 'vscode/vscode/vs/platform/theme/common/colors/editorColors';
10
+ import 'vscode/vscode/vs/platform/theme/common/colors/inputColors';
11
+ import 'vscode/vscode/vs/platform/theme/common/colors/listColors';
12
+ import 'vscode/vscode/vs/platform/theme/common/colors/menuColors';
13
+ import 'vscode/vscode/vs/platform/theme/common/colors/minimapColors';
14
+ import 'vscode/vscode/vs/platform/theme/common/colors/miscColors';
15
+ import 'vscode/vscode/vs/platform/theme/common/colors/quickpickColors';
16
+ import 'vscode/vscode/vs/platform/theme/common/colors/searchColors';
7
17
  import { tokenStylingSchemaId } from 'vscode/vscode/vs/platform/theme/common/tokenClassificationRegistry';
8
18
  import { ThemeSettingDefaults, ThemeSettings } from 'vscode/vscode/vs/workbench/services/themes/common/workbenchThemeService';
9
19
  import { isWeb } from 'vscode/vscode/vs/base/common/platform';
@@ -219,6 +219,9 @@ class ThemeRegistry {
219
219
  this.extensionThemes = [];
220
220
  this.initialize();
221
221
  }
222
+ dispose() {
223
+ this.themesExtPoint.setHandler(() => { });
224
+ }
222
225
  initialize() {
223
226
  this.themesExtPoint.setHandler((extensions, delta) => {
224
227
  const previousIds = {};