separate docs by namespace

This commit is contained in:
Matthias Mailänder
2015-05-02 10:06:14 +02:00
parent 9edc0675f0
commit a3b5f5a9a2

View File

@@ -34,12 +34,20 @@ namespace OpenRA.Mods.Common.UtilityCommands
var toc = new StringBuilder(); var toc = new StringBuilder();
var doc = new StringBuilder(); var doc = new StringBuilder();
var currentNamespace = "";
foreach (var t in Game.ModData.ObjectCreator.GetTypesImplementing<ITraitInfo>().OrderBy(t => t.Namespace)) foreach (var t in Game.ModData.ObjectCreator.GetTypesImplementing<ITraitInfo>().OrderBy(t => t.Namespace))
{ {
if (t.ContainsGenericParameters || t.IsAbstract) if (t.ContainsGenericParameters || t.IsAbstract)
continue; // skip helpers like TraitInfo<T> continue; // skip helpers like TraitInfo<T>
if (currentNamespace != t.Namespace)
{
currentNamespace = t.Namespace;
doc.AppendLine();
doc.AppendLine("## {0}".F(currentNamespace));
}
var traitName = t.Name.EndsWith("Info") ? t.Name.Substring(0, t.Name.Length - 4) : t.Name; var traitName = t.Name.EndsWith("Info") ? t.Name.Substring(0, t.Name.Length - 4) : t.Name;
toc.AppendLine("* [{0}](#{1})".F(traitName, traitName.ToLowerInvariant())); toc.AppendLine("* [{0}](#{1})".F(traitName, traitName.ToLowerInvariant()));
var traitDescLines = t.GetCustomAttributes<DescAttribute>(false).SelectMany(d => d.Lines); var traitDescLines = t.GetCustomAttributes<DescAttribute>(false).SelectMany(d => d.Lines);