From 7761e75deb562448dceb546b0b873a0a6dd52eb0 Mon Sep 17 00:00:00 2001 From: Alexandru Dima Date: Thu, 7 Nov 2019 15:26:22 +0100 Subject: [PATCH] API tweak from the standup discussion --- .../src/features/semanticColoring.ts | 3 ++- src/vs/vscode.proposed.d.ts | 4 +--- src/vs/workbench/api/common/extHost.api.impl.ts | 4 ++-- src/vs/workbench/api/common/extHostLanguageFeatures.ts | 4 ++-- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/extensions/typescript-language-features/src/features/semanticColoring.ts b/extensions/typescript-language-features/src/features/semanticColoring.ts index 950e8265f0c..71da3a8bb51 100644 --- a/extensions/typescript-language-features/src/features/semanticColoring.ts +++ b/extensions/typescript-language-features/src/features/semanticColoring.ts @@ -112,5 +112,6 @@ export function register( selector: vscode.DocumentSelector, client: ITypeScriptServiceClient ) { - return vscode.languages.registerSemanticColoringProvider(selector, new SemanticColoringProvider(client)); + const provider = new SemanticColoringProvider(client); + return vscode.languages.registerSemanticColoringProvider(selector, provider, provider.getLegend()); } diff --git a/src/vs/vscode.proposed.d.ts b/src/vs/vscode.proposed.d.ts index fa5dae3a6d9..a3eb3e05f5f 100644 --- a/src/vs/vscode.proposed.d.ts +++ b/src/vs/vscode.proposed.d.ts @@ -110,8 +110,6 @@ declare module 'vscode' { */ export interface SemanticColoringProvider { - getLegend(): SemanticColoringLegend; - provideSemanticColoring(document: TextDocument, token: CancellationToken): ProviderResult; } @@ -127,7 +125,7 @@ declare module 'vscode' { * @param provider A semantic coloring provider. * @return A [disposable](#Disposable) that unregisters this provider when being disposed. */ - export function registerSemanticColoringProvider(selector: DocumentSelector, provider: SemanticColoringProvider): Disposable; + export function registerSemanticColoringProvider(selector: DocumentSelector, provider: SemanticColoringProvider, legend: SemanticColoringLegend): Disposable; } //#endregion diff --git a/src/vs/workbench/api/common/extHost.api.impl.ts b/src/vs/workbench/api/common/extHost.api.impl.ts index 56d1d7a436c..2de32bbf23d 100644 --- a/src/vs/workbench/api/common/extHost.api.impl.ts +++ b/src/vs/workbench/api/common/extHost.api.impl.ts @@ -352,9 +352,9 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I registerOnTypeFormattingEditProvider(selector: vscode.DocumentSelector, provider: vscode.OnTypeFormattingEditProvider, firstTriggerCharacter: string, ...moreTriggerCharacters: string[]): vscode.Disposable { return extHostLanguageFeatures.registerOnTypeFormattingEditProvider(extension, checkSelector(selector), provider, [firstTriggerCharacter].concat(moreTriggerCharacters)); }, - registerSemanticColoringProvider(selector: vscode.DocumentSelector, provider: vscode.SemanticColoringProvider): vscode.Disposable { + registerSemanticColoringProvider(selector: vscode.DocumentSelector, provider: vscode.SemanticColoringProvider, legend: vscode.SemanticColoringLegend): vscode.Disposable { checkProposedApiEnabled(extension); - return extHostLanguageFeatures.registerSemanticColoringProvider(extension, checkSelector(selector), provider); + return extHostLanguageFeatures.registerSemanticColoringProvider(extension, checkSelector(selector), provider, legend); }, registerSignatureHelpProvider(selector: vscode.DocumentSelector, provider: vscode.SignatureHelpProvider, firstItem?: string | vscode.SignatureHelpProviderMetadata, ...remaining: string[]): vscode.Disposable { if (typeof firstItem === 'object') { diff --git a/src/vs/workbench/api/common/extHostLanguageFeatures.ts b/src/vs/workbench/api/common/extHostLanguageFeatures.ts index fc55f9018b4..4e34ccc6104 100644 --- a/src/vs/workbench/api/common/extHostLanguageFeatures.ts +++ b/src/vs/workbench/api/common/extHostLanguageFeatures.ts @@ -1532,9 +1532,9 @@ export class ExtHostLanguageFeatures implements extHostProtocol.ExtHostLanguageF //#region semantic coloring - registerSemanticColoringProvider(extension: IExtensionDescription, selector: vscode.DocumentSelector, provider: vscode.SemanticColoringProvider): vscode.Disposable { + registerSemanticColoringProvider(extension: IExtensionDescription, selector: vscode.DocumentSelector, provider: vscode.SemanticColoringProvider, legend: vscode.SemanticColoringLegend): vscode.Disposable { const handle = this._addNewAdapter(new SemanticColoringAdapter(this._documents, provider), extension); - this._proxy.$registerSemanticColoringProvider(handle, this._transformDocumentSelector(selector), provider.getLegend()); + this._proxy.$registerSemanticColoringProvider(handle, this._transformDocumentSelector(selector), legend); return this._createDisposable(handle); } -- GitLab