mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Merge from master
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user