void AppendParameterList (StringBuilder result, ImmutableArray<IParameterSymbol> parameterList, bool spaceBefore, bool spaceAfter, bool newLine = true)
{
if (parameterList == null || parameterList.Length == 0)
return;
if (newLine)
result.AppendLine ();
for (int i = 0; i < parameterList.Length; i++) {
var parameter = parameterList [i];
if (newLine)
result.Append (new string (' ', 2));
var doHighightParameter = i == HighlightParameter || HighlightParameter >= i && i == parameterList.Length - 1 && parameter.IsParams;
if (doHighightParameter)
result.Append ("<u>");
/* if (parameter.IsOptional) {
GrayOut = true;
var color = AlphaBlend (colorStyle.Default.Color, colorStyle.Default.BackgroundColor, optionalAlpha);
var colorString = Mono.TextEditor.HelperMethods.GetColorString (color);
result.Append ("<span foreground=\"" + colorString + "\">");
}*/
AppendParameter (result, parameter);
if (parameter.IsOptional) {
if (options.GetOption (CSharpFormattingOptions.SpacingAroundBinaryOperator) == BinaryOperatorSpacingOptions.Single) {
result.Append (" = ");
} else {
result.Append ("=");
}
AppendConstant (result, parameter.Type, parameter.ExplicitDefaultValue);
// GrayOut = false;
// result.Append ("</span>");
}
if (doHighightParameter)
result.Append ("</u>");
if (i + 1 < parameterList.Length) {
if (spaceBefore)
result.Append (' ');
result.Append (',');
if (newLine) {
result.AppendLine ();
} else {
if (spaceAfter)
result.Append (' ');
}
}
}
if (newLine)
result.AppendLine ();
}