mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-20 08:38:56 +01:00
WIP
This commit is contained in:
@@ -1062,6 +1062,26 @@ class SignatureHelpAdapter {
|
||||
}
|
||||
}
|
||||
|
||||
class SignatureArgumentsLabelAdapter {
|
||||
private readonly _cache = new Cache<vscode.SignatureArgumentsLabelList>('SignatureArgumentsLabel');
|
||||
|
||||
constructor(
|
||||
private readonly _documents: ExtHostDocuments,
|
||||
private readonly _provider: vscode.SignatureArgumentsLabelProvider,
|
||||
) { }
|
||||
|
||||
provideSignatureArgumentsLabels(resource: URI, token: CancellationToken): Promise<extHostProtocol.ISignatureArgumentsLabelDto | undefined> {
|
||||
const doc = this._documents.getDocument(resource);
|
||||
return asPromise(() => this._provider.provideSignatureArgumentsLabels(doc, token)).then(value => {
|
||||
if (value) {
|
||||
const id = this._cache.add([value]);
|
||||
return { ...typeConvert.SignatrueArgumentsLabelList.from(value), id };
|
||||
}
|
||||
return undefined;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
class LinkProviderAdapter {
|
||||
|
||||
private _cache = new Cache<vscode.DocumentLink>('DocumentLink');
|
||||
@@ -1770,6 +1790,11 @@ export class ExtHostLanguageFeatures implements extHostProtocol.ExtHostLanguageF
|
||||
this._withAdapter(handle, SignatureHelpAdapter, adapter => adapter.releaseSignatureHelp(id), undefined);
|
||||
}
|
||||
|
||||
// --- arguments labels
|
||||
$provideSignatureArgumentsLabel(handle: number, resource: UriComponents, token: CancellationToken): Promise<extHostProtocol.ISignatureArgumentsLabelDto | undefined> {
|
||||
return this._withAdapter(handle, SignatureArgumentsLabelAdapter, adapter => adapter.provideSignatureArgumentsLabels(URI.revive(resource), token), undefined);
|
||||
}
|
||||
|
||||
// --- links
|
||||
|
||||
registerDocumentLinkProvider(extension: IExtensionDescription | undefined, selector: vscode.DocumentSelector, provider: vscode.DocumentLinkProvider): vscode.Disposable {
|
||||
|
||||
Reference in New Issue
Block a user