diff --git a/src/services/services.ts b/src/services/services.ts index 2d3e60d0df9..986b4de88a3 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 c188d558848..99b73231c7e 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) {