From f590e806a1188f652da04c4969c9c9b465589ef2 Mon Sep 17 00:00:00 2001 From: Pavel Penev Date: Sun, 27 Apr 2025 22:06:18 +0300 Subject: [PATCH] Added filenames to enum documentation --- .../UtilityCommands/Documentation/DocumentationHelpers.cs | 4 +++- .../Documentation/ExtractSpriteSequenceDocsCommand.cs | 2 +- .../UtilityCommands/Documentation/ExtractTraitDocsCommand.cs | 2 +- .../UtilityCommands/Documentation/ExtractWeaponDocsCommand.cs | 2 +- .../Documentation/Objects/ExtractedEnumInfo.cs | 2 ++ 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/OpenRA.Mods.Common/UtilityCommands/Documentation/DocumentationHelpers.cs b/OpenRA.Mods.Common/UtilityCommands/Documentation/DocumentationHelpers.cs index 414eda5d5a..e4d2ec937a 100644 --- a/OpenRA.Mods.Common/UtilityCommands/Documentation/DocumentationHelpers.cs +++ b/OpenRA.Mods.Common/UtilityCommands/Documentation/DocumentationHelpers.cs @@ -68,12 +68,14 @@ namespace OpenRA.Mods.Common.UtilityCommands.Documentation }); } - public static IEnumerable GetRelatedEnumInfos(HashSet relatedEnumTypes) + public static IEnumerable GetRelatedEnumInfos( + HashSet relatedEnumTypes, Cache>> pdbTypesCache) { return relatedEnumTypes.OrderBy(t => t.Name).Select(type => new ExtractedEnumInfo { Namespace = type.Namespace, Name = type.Name, + Filename = GetSourceFilenameForType(type, pdbTypesCache), Values = Enum.GetNames(type).ToDictionary(x => Convert.ToInt32(Enum.Parse(type, x), NumberFormatInfo.InvariantInfo), y => y) }); } diff --git a/OpenRA.Mods.Common/UtilityCommands/Documentation/ExtractSpriteSequenceDocsCommand.cs b/OpenRA.Mods.Common/UtilityCommands/Documentation/ExtractSpriteSequenceDocsCommand.cs index f791eec4ba..27deae0cee 100644 --- a/OpenRA.Mods.Common/UtilityCommands/Documentation/ExtractSpriteSequenceDocsCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/Documentation/ExtractSpriteSequenceDocsCommand.cs @@ -94,7 +94,7 @@ namespace OpenRA.Mods.Common.UtilityCommands.Documentation { Version = version, SpriteSequenceTypes = sequenceTypesInfo, - RelatedEnums = DocumentationHelpers.GetRelatedEnumInfos(relatedEnumTypes) + RelatedEnums = DocumentationHelpers.GetRelatedEnumInfos(relatedEnumTypes, pdbTypesCache) }; return JsonSerializer.Serialize(result); diff --git a/OpenRA.Mods.Common/UtilityCommands/Documentation/ExtractTraitDocsCommand.cs b/OpenRA.Mods.Common/UtilityCommands/Documentation/ExtractTraitDocsCommand.cs index 471d8994b9..13d3ccc6ab 100644 --- a/OpenRA.Mods.Common/UtilityCommands/Documentation/ExtractTraitDocsCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/Documentation/ExtractTraitDocsCommand.cs @@ -73,7 +73,7 @@ namespace OpenRA.Mods.Common.UtilityCommands.Documentation { Version = version, TraitInfos = traitTypesInfo, - RelatedEnums = DocumentationHelpers.GetRelatedEnumInfos(relatedEnumTypes) + RelatedEnums = DocumentationHelpers.GetRelatedEnumInfos(relatedEnumTypes, pdbTypesCache) }; return JsonSerializer.Serialize(result); diff --git a/OpenRA.Mods.Common/UtilityCommands/Documentation/ExtractWeaponDocsCommand.cs b/OpenRA.Mods.Common/UtilityCommands/Documentation/ExtractWeaponDocsCommand.cs index 090e409304..81c4efe608 100644 --- a/OpenRA.Mods.Common/UtilityCommands/Documentation/ExtractWeaponDocsCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/Documentation/ExtractWeaponDocsCommand.cs @@ -76,7 +76,7 @@ namespace OpenRA.Mods.Common.UtilityCommands.Documentation { Version = version, WeaponTypes = weaponTypesInfo, - RelatedEnums = DocumentationHelpers.GetRelatedEnumInfos(relatedEnumTypes) + RelatedEnums = DocumentationHelpers.GetRelatedEnumInfos(relatedEnumTypes, pdbTypesCache) }; return JsonSerializer.Serialize(result); diff --git a/OpenRA.Mods.Common/UtilityCommands/Documentation/Objects/ExtractedEnumInfo.cs b/OpenRA.Mods.Common/UtilityCommands/Documentation/Objects/ExtractedEnumInfo.cs index 0d79a5fa5b..c6f8cb7e6c 100644 --- a/OpenRA.Mods.Common/UtilityCommands/Documentation/Objects/ExtractedEnumInfo.cs +++ b/OpenRA.Mods.Common/UtilityCommands/Documentation/Objects/ExtractedEnumInfo.cs @@ -19,6 +19,8 @@ namespace OpenRA.Mods.Common.UtilityCommands.Documentation.Objects public string Name { get; set; } + public string Filename { get; set; } + public IDictionary Values { get; set; } } }