Add dummy support

This commit is contained in:
kingwl
2020-12-23 15:07:33 +08:00
parent 434f63192e
commit 9f5cfc246b
13 changed files with 335 additions and 119 deletions

View File

@@ -1075,7 +1075,7 @@ class SignatureArgumentsLabelAdapter {
return asPromise(() => this._provider.provideSignatureArgumentsLabels(doc, token)).then(value => {
if (value) {
const id = this._cache.add([value]);
return { ...typeConvert.SignatrueArgumentsLabelList.from(value), id };
return { signatures: value.signatures.map(typeConvert.SignatureArgumentsSignature.from), id };
}
return undefined;
});
@@ -1340,7 +1340,7 @@ type Adapter = DocumentSymbolAdapter | CodeLensAdapter | DefinitionAdapter | Hov
| SuggestAdapter | SignatureHelpAdapter | LinkProviderAdapter | ImplementationAdapter
| TypeDefinitionAdapter | ColorProviderAdapter | FoldingProviderAdapter | DeclarationAdapter
| SelectionRangeAdapter | CallHierarchyAdapter | DocumentSemanticTokensAdapter | DocumentRangeSemanticTokensAdapter | EvaluatableExpressionAdapter
| LinkedEditingRangeAdapter;
| LinkedEditingRangeAdapter | SignatureArgumentsLabelAdapter;
class AdapterData {
constructor(
@@ -1782,6 +1782,12 @@ export class ExtHostLanguageFeatures implements extHostProtocol.ExtHostLanguageF
return this._createDisposable(handle);
}
registerSignatureArgumentsLabelProvider(extension: IExtensionDescription, selector: vscode.DocumentSelector, provider: vscode.SignatureArgumentsLabelProvider): vscode.Disposable {
const handle = this._addNewAdapter(new SignatureArgumentsLabelAdapter(this._documents, provider), extension);
this._proxy.$registerSignatureArgumentsLabelProvider(handle, this._transformDocumentSelector(selector));
return this._createDisposable(handle);
}
$provideSignatureHelp(handle: number, resource: UriComponents, position: IPosition, context: extHostProtocol.ISignatureHelpContextDto, token: CancellationToken): Promise<extHostProtocol.ISignatureHelpDto | undefined> {
return this._withAdapter(handle, SignatureHelpAdapter, adapter => adapter.provideSignatureHelp(URI.revive(resource), position, context, token), undefined);
}