diff --git a/OpenRA.Mods.Common/UtilityCommands/ExtractLuaDocsCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ExtractLuaDocsCommand.cs index 9cf297dc0b..525253b296 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ExtractLuaDocsCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ExtractLuaDocsCommand.cs @@ -70,17 +70,20 @@ namespace OpenRA.Mods.Common.UtilityCommands var name = t.GetCustomAttributes(true).First().Name; var members = ScriptMemberWrapper.WrappableMembers(t); + Console.WriteLine(); Console.WriteLine("### " + name); - Console.WriteLine(""); + Console.WriteLine(); + Console.WriteLine("| Function | Description |"); + Console.WriteLine("|---------:|-------------|"); foreach (var m in members.OrderBy(m => m.Name)) { - var desc = m.HasAttribute() ? m.GetCustomAttributes(true).First().Lines.JoinWith("\n") : ""; - Console.WriteLine($""); + var desc = m.HasAttribute() ? m.GetCustomAttributes(true).First().Lines.JoinWith("
") : ""; + Console.WriteLine($"| **{m.LuaDocString()}** | {desc} |"); } - - Console.WriteLine("
{m.LuaDocString()}{desc}
"); } + Console.WriteLine(); + Console.WriteLine("## Actor Properties / Commands"); var actorCategories = utility.ModData.ObjectCreator.GetTypesImplementing().SelectMany(cg => @@ -94,8 +97,11 @@ namespace OpenRA.Mods.Common.UtilityCommands foreach (var kv in actorCategories) { + Console.WriteLine(); Console.WriteLine("### " + kv.Key); - Console.WriteLine(""); + Console.WriteLine(); + Console.WriteLine("| Function | Description |"); + Console.WriteLine("|---------:|-------------|"); foreach (var property in kv.OrderBy(p => p.Item2.Name)) { @@ -105,28 +111,28 @@ namespace OpenRA.Mods.Common.UtilityCommands var hasRequires = required.Any(); var isActivity = mi.HasAttribute(); - Console.WriteLine(""); + Console.WriteLine(" |"); } - - Console.WriteLine("
{0}", mi.LuaDocString()); + Console.Write($"| **{mi.LuaDocString()}**"); if (isActivity) - Console.WriteLine("
Queued Activity"); + Console.Write("
*Queued Activity*"); - Console.WriteLine("
"); + Console.Write(" | "); if (hasDesc) - Console.WriteLine(mi.GetCustomAttributes(false).First().Lines.JoinWith("\n")); + Console.Write(mi.GetCustomAttributes(false).First().Lines.JoinWith("
")); if (hasDesc && hasRequires) - Console.WriteLine("
"); + Console.Write("
"); if (hasRequires) - Console.WriteLine($"Requires {(required.Length == 1 ? "Trait" : "Traits")}: {required.JoinWith(", ")}"); + Console.Write($"**Requires {(required.Length == 1 ? "Trait" : "Traits")}:** {required.JoinWith(", ")}"); - Console.WriteLine("
"); } + Console.WriteLine(); + Console.WriteLine("## Player Properties / Commands"); var playerCategories = utility.ModData.ObjectCreator.GetTypesImplementing().SelectMany(cg => @@ -140,8 +146,11 @@ namespace OpenRA.Mods.Common.UtilityCommands foreach (var kv in playerCategories) { + Console.WriteLine(); Console.WriteLine("### " + kv.Key); - Console.WriteLine(""); + Console.WriteLine(); + Console.WriteLine("| Function | Description |"); + Console.WriteLine("|---------:|-------------|"); foreach (var property in kv.OrderBy(p => p.Item2.Name)) { @@ -151,26 +160,26 @@ namespace OpenRA.Mods.Common.UtilityCommands var hasRequires = required.Any(); var isActivity = mi.HasAttribute(); - Console.WriteLine(""); + Console.WriteLine(" |"); } - Console.WriteLine("
{0}", mi.LuaDocString()); + Console.Write($"| **{mi.LuaDocString()}**"); if (isActivity) - Console.WriteLine("
Queued Activity"); + Console.Write("
*Queued Activity*"); - Console.WriteLine("
"); + Console.Write(" | "); if (hasDesc) - Console.WriteLine(mi.GetCustomAttributes(false).First().Lines.JoinWith("\n")); + Console.Write(mi.GetCustomAttributes(false).First().Lines.JoinWith("
")); if (hasDesc && hasRequires) - Console.WriteLine("
"); + Console.Write("
"); if (hasRequires) - Console.WriteLine($"Requires {(required.Length == 1 ? "Trait" : "Traits")}: {required.JoinWith(", ")}"); + Console.Write($"**Requires {(required.Length == 1 ? "Trait" : "Traits")}:** {required.JoinWith(", ")}"); - Console.WriteLine("
"); + Console.WriteLine(); } } diff --git a/OpenRA.Mods.Common/UtilityCommands/ExtractTraitDocsCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ExtractTraitDocsCommand.cs index 1cf512599b..095622a466 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ExtractTraitDocsCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ExtractTraitDocsCommand.cs @@ -85,23 +85,21 @@ namespace OpenRA.Mods.Common.UtilityCommands var infos = FieldLoader.GetTypeLoadInfo(t); if (!infos.Any()) continue; - doc.AppendLine(""); - doc.AppendLine(""); + doc.AppendLine(); + doc.AppendLine("| Property | Default Value | Type | Description |"); + doc.AppendLine("| -------- | --------------| ---- | ----------- |"); var liveTraitInfo = Game.ModData.ObjectCreator.CreateBasic(t); foreach (var info in infos) { var fieldDescLines = info.Field.GetCustomAttributes(true).SelectMany(d => d.Lines); var fieldType = Util.FriendlyTypeName(info.Field.FieldType); var loadInfo = info.Field.GetCustomAttributes(true).FirstOrDefault(); - var defaultValue = loadInfo != null && loadInfo.Required ? "(required)" : FieldSaver.SaveField(liveTraitInfo, info.Field.Name).Value.Value; - doc.Append($""); - doc.Append(""); + doc.AppendLine("|"); } - - doc.AppendLine("
PropertyDefault ValueTypeDescription
{info.YamlName}{defaultValue}{fieldType}"); + var defaultValue = loadInfo != null && loadInfo.Required ? "*(required)*" : FieldSaver.SaveField(liveTraitInfo, info.Field.Name).Value.Value; + doc.Append($"| {info.YamlName} | {defaultValue} | {fieldType} | "); foreach (var line in fieldDescLines) doc.Append(line + " "); - doc.AppendLine("
"); } Console.Write(doc.ToString()); diff --git a/OpenRA.Mods.Common/UtilityCommands/ExtractWeaponDocsCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ExtractWeaponDocsCommand.cs index aed192d4cf..6d52f8b098 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ExtractWeaponDocsCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ExtractWeaponDocsCommand.cs @@ -78,8 +78,9 @@ namespace OpenRA.Mods.Common.UtilityCommands if (!infos.Any()) continue; - doc.AppendLine(""); - doc.AppendLine(""); + doc.AppendLine(); + doc.AppendLine("| Property | Default Value | Type | Description |"); + doc.AppendLine("| -------- | --------------| ---- | ----------- |"); var liveTraitInfo = t == typeof(WeaponInfo) ? null : objectCreator.CreateBasic(t); foreach (var info in infos) @@ -87,16 +88,11 @@ namespace OpenRA.Mods.Common.UtilityCommands var fieldDescLines = info.Field.GetCustomAttributes(true).SelectMany(d => d.Lines); var fieldType = Util.FriendlyTypeName(info.Field.FieldType); var defaultValue = liveTraitInfo == null ? "" : FieldSaver.SaveField(liveTraitInfo, info.Field.Name).Value.Value; - doc.Append($""); - doc.Append(""); + doc.AppendLine("|"); } - - doc.AppendLine("
PropertyDefault ValueTypeDescription
{info.YamlName}{defaultValue}{fieldType}"); - + doc.Append($"| {info.YamlName} | {defaultValue} | {fieldType} | "); foreach (var line in fieldDescLines) doc.Append(line + " "); - - doc.AppendLine("
"); } Console.Write(doc.ToString());