API tweak from the standup discussion

This commit is contained in:
Alexandru Dima 2019-11-07 15:26:22 +01:00
parent e55e1adb6d
commit 7761e75deb
No known key found for this signature in database
GPG key ID: 6E58D7B045760DA0
4 changed files with 7 additions and 8 deletions

View file

@ -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());
}

View file

@ -110,8 +110,6 @@ declare module 'vscode' {
*/
export interface SemanticColoringProvider {
getLegend(): SemanticColoringLegend;
provideSemanticColoring(document: TextDocument, token: CancellationToken): ProviderResult<SemanticColoring>;
}
@ -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

View file

@ -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') {

View file

@ -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);
}