mark product icon theme as proposed API

This commit is contained in:
Martin Aeschlimann 2020-03-31 00:02:40 +02:00
parent b2d0292a20
commit 878642d8fc
2 changed files with 8 additions and 3 deletions

View file

@ -113,7 +113,7 @@ export class WorkbenchThemeService implements IWorkbenchThemeService {
this.currentFileIconTheme = FileIconThemeData.createUnloadedTheme('');
this.productIconThemeWatcher = new ThemeFileWatcher(fileService, environmentService, this.reloadCurrentProductIconTheme.bind(this));
this.productIconThemeRegistry = new ThemeRegistry(extensionService, productIconThemesExtPoint, ProductIconThemeData.fromExtensionTheme, true, ProductIconThemeData.defaultTheme);
this.productIconThemeRegistry = new ThemeRegistry(extensionService, productIconThemesExtPoint, ProductIconThemeData.fromExtensionTheme, true, ProductIconThemeData.defaultTheme, true);
this.onProductIconThemeChange = new Emitter<IWorkbenchProductIconTheme>();
this.currentProductIconTheme = ProductIconThemeData.createUnloadedTheme('');

View file

@ -10,7 +10,7 @@ import * as resources from 'vs/base/common/resources';
import { ExtensionMessageCollector, IExtensionPoint, ExtensionsRegistry } from 'vs/workbench/services/extensions/common/extensionsRegistry';
import { ExtensionData, IThemeExtensionPoint, VS_LIGHT_THEME, VS_DARK_THEME, VS_HC_THEME } from 'vs/workbench/services/themes/common/workbenchThemeService';
import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
import { IExtensionService, checkProposedApiEnabled } from 'vs/workbench/services/extensions/common/extensions';
import { Event, Emitter } from 'vs/base/common/event';
import { URI } from 'vs/base/common/uri';
@ -128,7 +128,8 @@ export class ThemeRegistry<T extends IThemeData> {
private readonly themesExtPoint: IExtensionPoint<IThemeExtensionPoint[]>,
private create: (theme: IThemeExtensionPoint, themeLocation: URI, extensionData: ExtensionData) => T,
private idRequired = false,
private builtInTheme: T | undefined = undefined
private builtInTheme: T | undefined = undefined,
private isProposedApi = false
) {
this.extensionThemes = [];
this.initialize();
@ -144,6 +145,10 @@ export class ThemeRegistry<T extends IThemeData> {
}
this.extensionThemes.length = 0;
for (let ext of extensions) {
if (this.isProposedApi) {
checkProposedApiEnabled(ext.description);
return;
}
let extensionData: ExtensionData = {
extensionId: ext.description.identifier.value,
extensionPublisher: ext.description.publisher,