diff --git a/src/PowerShellEditorServices.Protocol/Server/LanguageServer.cs b/src/PowerShellEditorServices.Protocol/Server/LanguageServer.cs index 885f0ce1f..ab3e7a040 100644 --- a/src/PowerShellEditorServices.Protocol/Server/LanguageServer.cs +++ b/src/PowerShellEditorServices.Protocol/Server/LanguageServer.cs @@ -842,23 +842,24 @@ await editorSession.LanguageService.FindParameterSetsInFile( if (parameterSets != null) { - var sigs = new List(); - foreach (ParameterSetSignature sig in parameterSets.Signatures) + signatures = new SignatureInformation[parameterSets.Signatures.Length]; + for (int i = 0; i < signatures.Length; i++) { - var parameters = new List(); - foreach (ParameterInfo paramInfo in sig.Parameters) + var parameters = new ParameterInformation[parameterSets.Signatures[i].Parameters.Count()]; + int j = 0; + foreach (ParameterInfo param in parameterSets.Signatures[i].Parameters) { - parameters.Add(CreateParameterInfo(paramInfo)); + parameters[j] = CreateParameterInfo(param); + j++; } - var signature = new SignatureInformation + signatures[i] = new SignatureInformation { - Label = parameterSets.CommandName + " " + sig.SignatureText, + Label = parameterSets.CommandName + " " + parameterSets.Signatures[i].SignatureText, Documentation = null, - Parameters = parameters.ToArray(), + Parameters = parameters, }; } - signatures = sigs.ToArray(); } await requestContext.SendResult(