public override void Run (DocGenerator generator, ISymbol member) { if (!generator.EvaluateCondition (Attributes, member)) return; foreach (var caseSection in CaseSections) { if (generator.EvaluateCondition (caseSection.Attributes, member)) { caseSection.Children.ForEach (child => child.Run (generator, member)); return; } } Children.ForEach (child => child.Run (generator, member)); }
public override void Run (DocGenerator generator) { string str = StringParserService.Parse (Documentation, generator.tags).Trim (); if (!char.IsUpper (str[0])) str = char.ToUpper (str[0]) + str.Substring (1); if (!Override) { if (generator.curName != null) { if (generator.sections.Where (s => s.Name == Name) .Any (s => s.Attributes.Any (attr => attr.Value == generator.curName))) return; } else if (generator.sections.Any (s => s.Name == Name)) { return; } } generator.Set (Name, generator.curName, str); }
public override void Run (DocGenerator generator) { if (!generator.EvaluateCondition (Attributes)) Children.ForEach (child => child.Run (generator)); }
public override void Run (DocGenerator generator, ISymbol member) { if (generator.EvaluateCondition (Attributes, member)) Children.ForEach (child => child.Run (generator, member)); }
internal static string GenerateEmptyDocumentation (TextEditorData data, IEntity member, string indent) { StringBuilder result = new StringBuilder (); DocGenerator generator = new DocGenerator (data); generator.GenerateDoc (member); bool first = true; foreach (Section section in generator.sections) { if (first) { result.Append (indent); result.Append ("/// <"); first = false; } else { result.AppendLine (); result.Append (indent); result.Append ("/// <"); } result.Append (section.Name); foreach (var attr in section.Attributes) { result.Append (" "); result.Append (attr.Key); result.Append ("=\""); result.Append (attr.Value); result.Append ("\""); } if (section.Name == "summary") { result.AppendLine (">"); result.Append (indent); result.Append ("/// "); result.AppendLine (); result.Append (indent); result.Append ("/// "); } else { result.Append (">"); } // bool inTag = false; // int column = indent.Length + "/// ".Length; result.Append ("</"); result.Append (section.Name); result.Append (">"); } result.AppendLine (); return result.ToString (); }
internal static string GenerateDocumentation (TextEditorData data, IEntity member, string indent, string prefix) { StringBuilder result = new StringBuilder (); DocGenerator generator = new DocGenerator (data); generator.GenerateDoc (member); bool first = true; foreach (Section section in generator.sections) { if (first) { result.Append (indent); result.Append (prefix); result.Append ("<"); first = false; } else { result.AppendLine (); result.Append (indent); result.Append (prefix); result.Append ("<"); } result.Append (section.Name); foreach (var attr in section.Attributes) { result.Append (" "); result.Append (attr.Key); result.Append ("=\""); result.Append (attr.Value); result.Append ("\""); } if (section.Name == "summary") { result.AppendLine (">"); result.Append (indent); result.Append (prefix); } else { result.Append (">"); } bool inTag = false; int column = indent.Length + prefix.Length; StringBuilder curWord = new StringBuilder (); foreach (char ch in section.Documentation) { if (ch == '<') inTag = true; if (ch == '>') inTag = false; if (ch =='\n') { result.Append (curWord.ToString ()); curWord.Length = 0; result.AppendLine (); result.Append (indent); result.Append (prefix); column = indent.Length + prefix .Length; } else if (!inTag && char.IsWhiteSpace (ch)) { if (column + curWord.Length > 120) { result.Length--; // trunk last char white space. result.AppendLine (); result.Append (indent); result.Append (prefix); column = indent.Length + prefix .Length; } result.Append (curWord.ToString ()); result.Append (ch); column += curWord.Length + 1; curWord.Length = 0; } else { curWord.Append (ch); } } if (section.Name == "summary") { result.AppendLine(curWord.ToString ()); result.Append(indent); result.Append(prefix); } else { result.Append(curWord.ToString ()); } result.Append ("</"); result.Append (section.Name); result.Append (">"); } result.AppendLine (); return result.ToString (); }
public abstract void Run (DocGenerator generator, object member);
public abstract void Run (DocGenerator generator, ISymbol member);
public abstract void Run (DocGenerator generator);