From d42c5ba86cb37615a567b4162b1014db5203624e Mon Sep 17 00:00:00 2001 From: Jason Freeman Date: Tue, 16 Sep 2014 16:13:33 -0700 Subject: [PATCH] Begin packaging of signature help items --- src/services/services.ts | 11 ++++++++++- tests/cases/fourslash/fourslash.ts | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/services/services.ts b/src/services/services.ts index 2d3e60d0df..986b4de88a 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -3542,6 +3542,15 @@ module ts { return undefined; } + function getSignatureHelpItemsFromCandidateInfo(candidates: Signature[], bestSignature: Signature): SignatureHelpItems { + var items = map(candidates, candidateSignature => { + return new SignatureHelpItem(false, "", "", "", new Array(candidateSignature.parameters.length), ""); + }); + var selectedItemIndex = candidates.indexOf(bestSignature); + Debug.assert(selectedItemIndex >= 0); + return new SignatureHelpItems(items, undefined, selectedItemIndex); + } + synchronizeHostData(); // Decide whether to show signature help @@ -3556,7 +3565,7 @@ module ts { var candidates = []; var resolvedSignature = typeInfoResolver.getResolvedSignature(call, candidates); return candidates.length - ? new SignatureHelpItems(new Array(candidates.length), undefined, undefined) + ? getSignatureHelpItemsFromCandidateInfo(candidates, resolvedSignature) : undefined; } diff --git a/tests/cases/fourslash/fourslash.ts b/tests/cases/fourslash/fourslash.ts index c188d55884..99b73231c7 100644 --- a/tests/cases/fourslash/fourslash.ts +++ b/tests/cases/fourslash/fourslash.ts @@ -295,7 +295,7 @@ module FourSlashInterface { } public currentSignatureParamterCountIs(expected: number) { - // FourSlash.currentTestState.verifyCurrentSignatureHelpParameterCount(expected); + FourSlash.currentTestState.verifyCurrentSignatureHelpParameterCount(expected); } public currentSignatureTypeParamterCountIs(expected: number) {