Files
Beyhan Oğur d5f52cc3d3 first commit
2026-09-03 04:45:36 +03:00

1.2 KiB

Single-file executable (Program.cs) targeting net48 with no external dependencies beyond the standard library and a few referenced assemblies. The entry point accepts one argument — the path to a compiled macro assembly — then iterates over four embedded resource cultures (en-US, it-IT, pl-PL, ko-KR), loading the target assembly via reflection for each culture and emitting one per-culture Markdown file plus per-category files under a sibling Docs/ directory. Reflection is used to discover types in the ClassicAssist.Data.Macros.Commands namespace, read CommandsDisplayAttribute / CommandsDisplayStringSeeAlsoAttribute metadata on public static members, and extract parameter info; attribute values are accessed through dynamic because this tool has no compile-time reference to the macro project. Localized strings come from Properties/Resources.*.resx resources (generated by PublicResXFileCodeGenerator). A custom AssemblyResolve handler bridges missing framework assemblies (including a typo workaround for Colletions → System.Collections) by probing the current directory and the runtime directory. Output model classes (Commands, Parameter, CommandComparer) live alongside Program and are not shared with any other project.