private static string GenerateSpecificAnalyzerLinksList(IEnumerable <AnalyzerDetails> analyzersDetails, AnalyzerCategoryDetails category, string description, Func <string, string> linkCreator) { var links = GenerateAnalyzerLinksList(analyzersDetails, cat => cat.Name == category.Name, cat => "", linkCreator); return(links == "" ? $"There are no analyzers {description} for this category." : links); }
public static string ProcessCategoryTemplateText(string template, AnalyzerCategoryDetails category, IEnumerable <AnalyzerDetails> implementedAnalyzersDetails, IEnumerable <AnalyzerDetails> plannedAnalyzerDetails, string headerTemplate, Func <string, string> linkCreator) { return(template.Replace("%NAME%", category.Name) .Replace("%HEADER%", ProcessHeaderTemplate(headerTemplate, category.Name)) .Replace("%DESCRIPTION%", category.Description) .Replace("%IMPLEMENTED-LIST%", GenerateSpecificAnalyzerLinksList(implementedAnalyzersDetails, category, "implemented yet", linkCreator)) .Replace("%PLANNED-LIST%", GenerateSpecificAnalyzerLinksList(plannedAnalyzerDetails, category, "planned", linkCreator))); }
private static string CategoryNameLink(AnalyzerCategoryDetails category) => category.Name.Replace(" ", "");
private static string CreateCategoryPageLink(AnalyzerCategoryDetails category, Func <string, string> linkCreator) { return($"* [{category.Name}]({linkCreator(CategoryNameLink(category))})"); }