Skip to content

Commit 98502d9

Browse files
committed
bugfix: ignore subsystems in comments
1 parent 8006d8f commit 98502d9

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

FreeSpace2TranslationTools/Services/Regexp.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ public static class Regexp
1717
private static readonly Regex _Xstr = new("XSTR\\s*\\(\\s*(\".*?\")\\s*,\\s*(-?\\d+)\\s*\\)", RegexOptions.Singleline | RegexOptions.Compiled);
1818
public static Regex Xstr { get => _Xstr; }
1919

20-
// don't select entries in comment...
21-
private static readonly Regex _NoAltNames = new(@"([^;]\$Name:[ \t]*(.*?)\r\n(?:[ \t]*\+nocreate[ \t]*\r\n)?)(((?!\$Alt Name|\+nocreate).)*?\r\n)", RegexOptions.Singleline | RegexOptions.Compiled);
20+
// don't select entries in comment... but take into account comments between $Name and +nocreate
21+
private static readonly Regex _NoAltNames = new(@"([^;]\$Name:[ \t]*(.*?)\r\n(?:;.*?\r\n)?(?:[ \t]*\+nocreate[ \t]*\r\n)?)(((?!\$Alt Name|\+nocreate).)*?\r\n)", RegexOptions.Singleline | RegexOptions.Compiled);
2222
public static Regex NoAltNames { get => _NoAltNames; }
2323

2424
private static readonly Regex _AlternateTypes = new(@"#Alternate Types:.*?#end\r\n\r\n", RegexOptions.Singleline | RegexOptions.Compiled);
@@ -163,7 +163,7 @@ public static class Regexp
163163
private static readonly Regex _ShipNames = new(@"\$Name:(.*)$", RegexOptions.Compiled | RegexOptions.Multiline);
164164
public static Regex ShipNames { get => _ShipNames; }
165165

166-
private static readonly Regex _Subsystems = new(@"(\$Subsystem:[ \t]*([^\r\n]*?),[^\r\n]*?\r?\n)(.*?)(?=\$Subsystem:|$)", RegexOptions.Compiled | RegexOptions.Singleline);
166+
private static readonly Regex _Subsystems = new(@"(?<!;)(\$Subsystem:[ \t]*([^\r\n]*?),[^\r\n]*?\r?\n)(.*?)(?=\$Subsystem:|$)", RegexOptions.Compiled | RegexOptions.Singleline);
167167
public static Regex Subsystems { get => _Subsystems; }
168168

169169
private static readonly Regex _TechDescriptions = new(@"(\+Tech Description:[ \t]*)(.*?)\r\n", RegexOptions.Compiled);

0 commit comments

Comments
 (0)