Merge from master

This commit is contained in:
Raj Musuku
2019-02-21 17:56:04 -08:00
parent 5a146e34fa
commit 666ae11639
11482 changed files with 119352 additions and 255574 deletions

View File

@@ -2,22 +2,19 @@
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
import * as nls from 'vs/nls';
import { onUnexpectedError } from 'vs/base/common/errors';
import * as resources from 'vs/base/common/resources';
import { TPromise } from 'vs/base/common/winjs.base';
import * as mime from 'vs/base/common/mime';
import { IFilesConfiguration, FILES_ASSOCIATIONS_CONFIG } from 'vs/platform/files/common/files';
import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
import { IExtensionPointUser, ExtensionMessageCollector, IExtensionPoint, ExtensionsRegistry } from 'vs/workbench/services/extensions/common/extensionsRegistry';
import * as resources from 'vs/base/common/resources';
import { URI } from 'vs/base/common/uri';
import { ModesRegistry } from 'vs/editor/common/modes/modesRegistry';
import { ILanguageExtensionPoint } from 'vs/editor/common/services/modeService';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { ModeServiceImpl } from 'vs/editor/common/services/modeServiceImpl';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
import URI from 'vs/base/common/uri';
import { FILES_ASSOCIATIONS_CONFIG, IFilesConfiguration } from 'vs/platform/files/common/files';
import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
import { ExtensionMessageCollector, ExtensionsRegistry, IExtensionPoint, IExtensionPointUser } from 'vs/workbench/services/extensions/common/extensionsRegistry';
export interface IRawLanguageExtensionPoint {
id: string;
@@ -93,7 +90,7 @@ export const languagesExtPoint: IExtensionPoint<IRawLanguageExtensionPoint[]> =
export class WorkbenchModeServiceImpl extends ModeServiceImpl {
private _configurationService: IConfigurationService;
private _extensionService: IExtensionService;
private _onReadyPromise: TPromise<boolean>;
private _onReadyPromise: Promise<boolean>;
constructor(
@IExtensionService extensionService: IExtensionService,
@@ -118,7 +115,7 @@ export class WorkbenchModeServiceImpl extends ModeServiceImpl {
for (let j = 0, lenJ = extension.value.length; j < lenJ; j++) {
let ext = extension.value[j];
if (isValidLanguageExtensionPoint(ext, extension.collector)) {
let configuration: URI;
let configuration: URI | undefined = undefined;
if (ext.configuration) {
configuration = resources.joinPath(extension.description.extensionLocation, ext.configuration);
}
@@ -140,23 +137,26 @@ export class WorkbenchModeServiceImpl extends ModeServiceImpl {
});
this.updateMime();
this._configurationService.onDidChangeConfiguration(e => {
if (e.affectsConfiguration(FILES_ASSOCIATIONS_CONFIG)) {
this.updateMime();
}
});
this._extensionService.whenInstalledExtensionsRegistered().then(() => {
this.updateMime();
});
this.onDidCreateMode((mode) => {
this._extensionService.activateByEvent(`onLanguage:${mode.getId()}`).done(null, onUnexpectedError);
this._extensionService.activateByEvent(`onLanguage:${mode.getId()}`);
});
}
protected _onReady(): TPromise<boolean> {
protected _onReady(): Promise<boolean> {
if (!this._onReadyPromise) {
this._onReadyPromise = this._extensionService.whenInstalledExtensionsRegistered().then(() => {
this.updateMime();
return true;
});
this._onReadyPromise = Promise.resolve(
this._extensionService.whenInstalledExtensionsRegistered().then(() => true)
);
}
return this._onReadyPromise;
@@ -177,6 +177,8 @@ export class WorkbenchModeServiceImpl extends ModeServiceImpl {
mime.registerTextMime({ id: langId, mime: mimetype, filepattern: pattern, userConfigured: true });
});
}
this._onLanguagesMaybeChanged.fire();
}
}