Fix active signature not being propagated properly

#33413
This commit is contained in:
Matt Bierner
2019-01-28 14:43:49 -08:00
parent b15877def6
commit 71ee61ef2d

View File

@@ -756,11 +756,14 @@ class SignatureHelpAdapter {
private reviveContext(context: modes.SignatureHelpContext): vscode.SignatureHelpContext {
let activeSignatureHelp: vscode.SignatureHelp | undefined = undefined;
if (context.activeSignatureHelp) {
const revivedSignatureHelp = typeConvert.SignatureHelp.to(context.activeSignatureHelp);
const saved = this._heap.get<vscode.SignatureHelp>(ObjectIdentifier.of(context.activeSignatureHelp));
if (saved) {
activeSignatureHelp = saved;
activeSignatureHelp.activeSignature = revivedSignatureHelp.activeSignature;
activeSignatureHelp.activeParameter = revivedSignatureHelp.activeParameter;
} else {
activeSignatureHelp = typeConvert.SignatureHelp.to(context.activeSignatureHelp);
activeSignatureHelp = revivedSignatureHelp;
}
}
return { ...context, activeSignatureHelp };