API tweak from the standup discussion

上级 e55e1adb
...@@ -112,5 +112,6 @@ export function register( ...@@ -112,5 +112,6 @@ export function register(
selector: vscode.DocumentSelector, selector: vscode.DocumentSelector,
client: ITypeScriptServiceClient 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' { ...@@ -110,8 +110,6 @@ declare module 'vscode' {
*/ */
export interface SemanticColoringProvider { export interface SemanticColoringProvider {
getLegend(): SemanticColoringLegend;
provideSemanticColoring(document: TextDocument, token: CancellationToken): ProviderResult<SemanticColoring>; provideSemanticColoring(document: TextDocument, token: CancellationToken): ProviderResult<SemanticColoring>;
} }
...@@ -127,7 +125,7 @@ declare module 'vscode' { ...@@ -127,7 +125,7 @@ declare module 'vscode' {
* @param provider A semantic coloring provider. * @param provider A semantic coloring provider.
* @return A [disposable](#Disposable) that unregisters this provider when being disposed. * @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 //#endregion
......
...@@ -352,9 +352,9 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I ...@@ -352,9 +352,9 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
registerOnTypeFormattingEditProvider(selector: vscode.DocumentSelector, provider: vscode.OnTypeFormattingEditProvider, firstTriggerCharacter: string, ...moreTriggerCharacters: string[]): vscode.Disposable { registerOnTypeFormattingEditProvider(selector: vscode.DocumentSelector, provider: vscode.OnTypeFormattingEditProvider, firstTriggerCharacter: string, ...moreTriggerCharacters: string[]): vscode.Disposable {
return extHostLanguageFeatures.registerOnTypeFormattingEditProvider(extension, checkSelector(selector), provider, [firstTriggerCharacter].concat(moreTriggerCharacters)); 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); 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 { registerSignatureHelpProvider(selector: vscode.DocumentSelector, provider: vscode.SignatureHelpProvider, firstItem?: string | vscode.SignatureHelpProviderMetadata, ...remaining: string[]): vscode.Disposable {
if (typeof firstItem === 'object') { if (typeof firstItem === 'object') {
......
...@@ -1532,9 +1532,9 @@ export class ExtHostLanguageFeatures implements extHostProtocol.ExtHostLanguageF ...@@ -1532,9 +1532,9 @@ export class ExtHostLanguageFeatures implements extHostProtocol.ExtHostLanguageF
//#region semantic coloring //#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); 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); return this._createDisposable(handle);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册