API tweak from the standup discussion

上级 e55e1adb
......@@ -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());
}
......@@ -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
......
......@@ -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') {
......
......@@ -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);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册