FormattedArgument FormatArgument(string argumentPrefix, ParserSuggestionArgument argument) => new FormattedArgument( argument: argument, displayName: argument.IsParams ? "[...]" : $"{argumentPrefix}{argument.Name}", displayType: argument.IsParams || argument.IsEnumerable ? $"<{argument.InnerType.Name}>..." : $"<{argument.Type.Name}>");
bool Equals(ParserSuggestionArgument x, ParserSuggestionArgument y) { if (ReferenceEquals(x, null) || ReferenceEquals(y, null)) { return(ReferenceEquals(x, null) && ReferenceEquals(y, null)); } if (ReferenceEquals(x, y)) { return(true); } if (!StringComparer.OrdinalIgnoreCase.Equals(x.Name, y.Name)) { return(false); } if (x.Type != y.Type) { return(false); } if (x.IsFulfilled != y.IsFulfilled) { return(false); } if (x.IsEnumerable != y.IsEnumerable) { return(false); } if (x.IsOptional != y.IsOptional) { return(false); } if (x.IsParams != y.IsParams) { return(false); } return(true); }