]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
DocumentParsingManager: Ignore XML comments in guidebook pages (#35506)
authorWhatstone <166147148+whatston3@users.noreply.github.com>
Tue, 8 Apr 2025 12:44:55 +0000 (08:44 -0400)
committerGitHub <noreply@github.com>
Tue, 8 Apr 2025 12:44:55 +0000 (14:44 +0200)
* Parse XML comments

* Use var instead of typed for variable declaration

---------

Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
Content.Client/Guidebook/DocumentParsingManager.cs

index 857ae552024fd2babd511af7d76cffa37180aa57..ecf11d4725b3cc6bd28806cadf5c41ae9c92fdd8 100644 (file)
@@ -36,15 +36,17 @@ public sealed partial class DocumentParsingManager
             .Assert(_tagControlParsers.ContainsKey, tag => $"unknown tag: {tag}")
             .Bind(tag => _tagControlParsers[tag]);
 
+        var whitespaceAndCommentParser = SkipWhitespaces.Then(Try(String("<!--").Then(Parser<char>.Any.SkipUntil(Try(String("-->"))))).SkipMany());
+
         _controlParser = OneOf(_tagParser, TryHeaderControl, ListControlParser, TextControlParser)
-            .Before(SkipWhitespaces);
+            .Before(whitespaceAndCommentParser);
 
         foreach (var typ in _reflectionManager.GetAllChildren<IDocumentTag>())
         {
             _tagControlParsers.Add(typ.Name, CreateTagControlParser(typ.Name, typ, _sandboxHelper));
         }
 
-        ControlParser = SkipWhitespaces.Then(_controlParser.Many());
+        ControlParser = whitespaceAndCommentParser.Then(_controlParser.Many());
 
         _sawmill = Logger.GetSawmill("Guidebook");
     }