Merge VS Code 1.31.1 (#4283)

This commit is contained in:
Matt Irvine
2019-03-15 13:09:45 -07:00
committed by GitHub
parent 7d31575149
commit 86bac90001
1716 changed files with 53308 additions and 48375 deletions

View File

@@ -5,7 +5,6 @@
'use strict';
import * as extHostApi from 'vs/workbench/api/node/extHost.api.impl';
import { TPromise } from 'vs/base/common/winjs.base';
import { IInitData, IMainContext } from 'vs/workbench/api/node/extHost.protocol';
import { ExtHostExtensionService } from 'vs/workbench/api/node/extHostExtensionService';
import { IExtensionDescription } from 'vs/workbench/services/extensions/common/extensions';
@@ -23,7 +22,7 @@ import { ExtHostSerializationProvider } from 'sql/workbench/api/node/extHostSeri
import { ExtHostResourceProvider } from 'sql/workbench/api/node/extHostResourceProvider';
import * as sqlExtHostTypes from 'sql/workbench/api/common/sqlExtHostTypes';
import { ExtHostWorkspace } from 'vs/workbench/api/node/extHostWorkspace';
import { ExtHostConfiguration } from 'vs/workbench/api/node/extHostConfiguration';
import { ExtHostConfiguration, ExtHostConfigProvider } from 'vs/workbench/api/node/extHostConfiguration';
import { ExtHostModalDialogs } from 'sql/workbench/api/node/extHostModalDialog';
import { ExtHostTasks } from 'sql/workbench/api/node/extHostTasks';
import { ExtHostDashboardWebviews } from 'sql/workbench/api/node/extHostDashboardWebview';
@@ -41,10 +40,11 @@ import { ExtHostNotebookDocumentsAndEditors } from 'sql/workbench/api/node/extHo
import { ExtHostStorage } from 'vs/workbench/api/node/extHostStorage';
import { ExtensionDescriptionRegistry } from 'vs/workbench/services/extensions/node/extensionDescriptionRegistry';
import { ExtHostExtensionManagement } from 'sql/workbench/api/node/extHostExtensionManagement';
import { ExtensionIdentifier } from 'vs/platform/extensions/common/extensions';
import { TernarySearchTree } from 'vs/base/common/map';
export interface ISqlExtensionApiFactory {
vsCodeFactory(extension: IExtensionDescription, registry: ExtensionDescriptionRegistry): typeof vscode;
vsCodeFactory(extension: IExtensionDescription, registry: ExtensionDescriptionRegistry, configProvider: ExtHostConfigProvider): typeof vscode;
sqlopsFactory(extension: IExtensionDescription): typeof sqlops;
azdataFactory(extension: IExtensionDescription): typeof azdata;
}
@@ -993,11 +993,11 @@ export function createApiFactory(
};
}
export function initializeExtensionApi(extensionService: ExtHostExtensionService, apiFactory: ISqlExtensionApiFactory, extensionRegistry: ExtensionDescriptionRegistry): TPromise<void> {
return extensionService.getExtensionPathIndex().then(trie => defineAPI(apiFactory, trie, extensionRegistry));
export function initializeExtensionApi(extensionService: ExtHostExtensionService, apiFactory: ISqlExtensionApiFactory, extensionRegistry: ExtensionDescriptionRegistry, configProvider: ExtHostConfigProvider): Promise<void> {
return extensionService.getExtensionPathIndex().then(trie => defineAPI(apiFactory, trie, extensionRegistry, configProvider));
}
function defineAPI(factory: ISqlExtensionApiFactory, extensionPaths: TernarySearchTree<IExtensionDescription>, extensionRegistry: ExtensionDescriptionRegistry): void {
function defineAPI(factory: ISqlExtensionApiFactory, extensionPaths: TernarySearchTree<IExtensionDescription>, extensionRegistry: ExtensionDescriptionRegistry, configProvider: ExtHostConfigProvider): void {
type ApiImpl = typeof vscode | typeof azdata | typeof sqlops;
// each extension is meant to get its own api implementation
@@ -1018,10 +1018,10 @@ function defineAPI(factory: ISqlExtensionApiFactory, extensionPaths: TernarySear
// get extension id from filename and api for extension
const ext = extensionPaths.findSubstr(URI.file(parent.filename).fsPath);
if (ext) {
let apiImpl = apiMap.get(ext.id);
let apiImpl = apiMap.get(ext.identifier.value);
if (!apiImpl) {
apiImpl = createApi(ext);
apiMap.set(ext.id, apiImpl);
apiMap.set(ext.identifier.value, apiImpl);
}
return apiImpl;
}
@@ -1041,14 +1041,14 @@ function defineAPI(factory: ISqlExtensionApiFactory, extensionPaths: TernarySear
// TODO look into de-duplicating this code
node_module._load = function load(request, parent, isMain) {
if (request === 'vscode') {
return getModuleFactory(extApiImpl, (ext) => factory.vsCodeFactory(ext, extensionRegistry),
return getModuleFactory(extApiImpl, (ext) => factory.vsCodeFactory(ext, extensionRegistry, configProvider),
defaultApiImpl,
(impl) => defaultApiImpl = <typeof vscode>impl,
parent);
} else if (request === 'azdata') {
return getModuleFactory(azDataExtApiImpl,
(ext) => factory.azdataFactory(ext),
defaultDataApiImpl,
defaultAzDataApiImpl,
(impl) => defaultAzDataApiImpl = <typeof azdata>impl,
parent);
} else if (request === 'sqlops') {
@@ -1066,7 +1066,7 @@ function defineAPI(factory: ISqlExtensionApiFactory, extensionPaths: TernarySear
const nullExtensionDescription: IExtensionDescription = {
id: 'nullExtensionDescription',
identifier: new ExtensionIdentifier('nullExtensionDescription'),
name: 'Null Extension Description',
publisher: 'vscode',
activationEvents: undefined,