From 4bd6fd6fcd45235cf418f1f90f38d6c0ae20acef Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Sun, 18 Jul 2021 12:48:59 -0700 Subject: [PATCH] Smarter XML comment skipping (fixes #37) --- SabreTools.DatTools/Parser.cs | 58 ++++++++++++++++++++++++++++++----- 1 file changed, 50 insertions(+), 8 deletions(-) diff --git a/SabreTools.DatTools/Parser.cs b/SabreTools.DatTools/Parser.cs index f61aeb1a..1c3ce774 100644 --- a/SabreTools.DatTools/Parser.cs +++ b/SabreTools.DatTools/Parser.cs @@ -167,23 +167,65 @@ namespace SabreTools.DatTools // Get the first two non-whitespace, non-comment lines to check, if possible string first = string.Empty, second = string.Empty; + // TODO: Add handling of multi-line comments + try { using StreamReader sr = File.OpenText(filename); - first = sr.ReadLine().ToLowerInvariant(); - while ((string.IsNullOrWhiteSpace(first) || first.StartsWith("")) + { + inComment = false; + first = sr.ReadLine().ToLowerInvariant().Trim(); + } + else if (first.StartsWith("")) + { + first = sr.ReadLine().ToLowerInvariant().Trim(); + inComment = first.StartsWith("")) + { + inComment = false; + second = sr.ReadLine().ToLowerInvariant().Trim(); + } + else if (second.StartsWith("")) + { + second = sr.ReadLine().ToLowerInvariant().Trim(); + inComment = second.StartsWith("