From 0a393400b2d0f1328440e5deac04526f239a9818 Mon Sep 17 00:00:00 2001 From: Charles Gagnon Date: Wed, 4 Sep 2019 15:02:47 -0700 Subject: [PATCH] Register loadCompletionExtension command (#6985) --- extensions/mssql/src/contracts.ts | 23 +++++++++++++++++++++++ extensions/mssql/src/sqlToolsServer.ts | 4 ++++ 2 files changed, 27 insertions(+) diff --git a/extensions/mssql/src/contracts.ts b/extensions/mssql/src/contracts.ts index e4e09425c0..7c03fbfa9c 100644 --- a/extensions/mssql/src/contracts.ts +++ b/extensions/mssql/src/contracts.ts @@ -528,3 +528,26 @@ export namespace SerializeDataContinueRequest { export const type = new RequestType('serialize/continue'); } // ------------------------------- ----------------------------- + +// ------------------------------- < Load Completion Extension Request > ------------------------------------ +/** + * Completion extension load parameters + */ +export class CompletionExtensionParams { + /// + /// Absolute path for the assembly containing the completion extension + /// + public assemblyPath: string; + /// + /// The type name for the completion extension + /// + public typeName: string; + /// + /// Property bag for initializing the completion extension + /// + public properties: {}; +} + +export namespace CompletionExtLoadRequest { + export const type = new RequestType('completion/extLoad'); +} diff --git a/extensions/mssql/src/sqlToolsServer.ts b/extensions/mssql/src/sqlToolsServer.ts index 16566fc496..b877bc94b1 100644 --- a/extensions/mssql/src/sqlToolsServer.ts +++ b/extensions/mssql/src/sqlToolsServer.ts @@ -19,6 +19,7 @@ import { SchemaCompareService } from './schemaCompare/schemaCompareService'; import { AppContext } from './appContext'; import { DacFxService } from './dacfx/dacFxService'; import { CmsService } from './cms/cmsService'; +import { CompletionExtensionParams, CompletionExtLoadRequest } from './contracts'; const baseConfig = require('./config.json'); @@ -46,6 +47,9 @@ export class SqlToolsServer { setTimeout(() => { statusView.hide(); }, 1500); + vscode.commands.registerCommand('mssql.loadCompletionExtension', (params: CompletionExtensionParams) => { + this.client.sendRequest(CompletionExtLoadRequest.type, params); + }); Telemetry.sendTelemetryEvent('startup/LanguageClientStarted', { installationTime: String(installationComplete - installationStart), processStartupTime: String(processEnd - processStart),