Enable comment and whitespace parsing where it is useful.

This commit is contained in:
Paul Chote
2018-05-07 19:07:21 +01:00
committed by reaperrr
parent df31690332
commit 82e2595beb
5 changed files with 19 additions and 17 deletions

View File

@@ -232,18 +232,19 @@ namespace OpenRA
if (File.Exists(settingsFile))
{
yamlCache = MiniYaml.FromFile(settingsFile);
yamlCache = MiniYaml.FromFile(settingsFile, false);
foreach (var yamlSection in yamlCache)
{
object settingsSection;
if (Sections.TryGetValue(yamlSection.Key, out settingsSection))
if (yamlSection.Key != null && Sections.TryGetValue(yamlSection.Key, out settingsSection))
LoadSectionYaml(yamlSection.Value, settingsSection);
}
var keysNode = yamlCache.FirstOrDefault(n => n.Key == "Keys");
if (keysNode != null)
foreach (var node in keysNode.Value.Nodes)
Keys[node.Key] = FieldLoader.GetValue<Hotkey>(node.Key, node.Value.Value);
if (node.Key != null)
Keys[node.Key] = FieldLoader.GetValue<Hotkey>(node.Key, node.Value.Value);
}
// Override with commandline args

View File

@@ -37,7 +37,7 @@ namespace OpenRA.Mods.Common.UpdateRules
continue;
}
yaml.Add(Tuple.Create((IReadWritePackage)package, name, MiniYaml.FromStream(package.GetStream(name), name)));
yaml.Add(Tuple.Create((IReadWritePackage)package, name, MiniYaml.FromStream(package.GetStream(name), name, false)));
}
return yaml;
@@ -70,7 +70,7 @@ namespace OpenRA.Mods.Common.UpdateRules
{
// Ignore any files that aren't in the map bundle
if (!filename.Contains("|") && mapPackage.Contains(filename))
fileSet.Add(Tuple.Create(mapPackage, filename, MiniYaml.FromStream(mapPackage.GetStream(filename), filename)));
fileSet.Add(Tuple.Create(mapPackage, filename, MiniYaml.FromStream(mapPackage.GetStream(filename), filename, false)));
else if (modData.ModFiles.Exists(filename))
externalFilenames.Add(filename);
}
@@ -96,7 +96,7 @@ namespace OpenRA.Mods.Common.UpdateRules
return manualSteps;
}
var yaml = new MiniYaml(null, MiniYaml.FromStream(mapStream, mapPackage.Name));
var yaml = new MiniYaml(null, MiniYaml.FromStream(mapStream, mapPackage.Name, false));
files = new YamlFileSet() { Tuple.Create(mapPackage, "map.yaml", yaml.Nodes) };
manualSteps.AddRange(rule.BeforeUpdate(modData));
@@ -154,7 +154,7 @@ namespace OpenRA.Mods.Common.UpdateRules
if (mapStream == null)
continue;
var yaml = new MiniYaml(null, MiniYaml.FromStream(mapStream, package.Name));
var yaml = new MiniYaml(null, MiniYaml.FromStream(mapStream, package.Name, false));
var mapRulesNode = yaml.Nodes.FirstOrDefault(n => n.Key == "Rules");
if (mapRulesNode != null)
foreach (var f in LoadExternalMapYaml(modData, mapRulesNode.Value, externalFilenames))
@@ -192,8 +192,9 @@ namespace OpenRA.Mods.Common.UpdateRules
var childrenNode = current.Value.Nodes.FirstOrDefault(n => n.Key == "Children");
if (childrenNode != null)
foreach (var node in childrenNode.Value.Nodes)
foreach (var manualStep in ApplyChromeTransformInner(modData, node, transform))
yield return manualStep;
if (node.Key != null)
foreach (var manualStep in ApplyChromeTransformInner(modData, node, transform))
yield return manualStep;
}
static IEnumerable<string> ApplyChromeTransform(ModData modData, YamlFileSet files, UpdateRule.ChromeNodeTransform transform)
@@ -203,8 +204,9 @@ namespace OpenRA.Mods.Common.UpdateRules
foreach (var file in files)
foreach (var node in file.Item3)
foreach (var manualStep in ApplyChromeTransformInner(modData, node, transform))
yield return manualStep;
if (node.Key != null)
foreach (var manualStep in ApplyChromeTransformInner(modData, node, transform))
yield return manualStep;
}
static IEnumerable<string> ApplyTopLevelTransform(ModData modData, YamlFileSet files, UpdateRule.TopLevelNodeTransform transform)
@@ -214,8 +216,9 @@ namespace OpenRA.Mods.Common.UpdateRules
foreach (var file in files)
foreach (var node in file.Item3)
foreach (var manualStep in transform(modData, node))
yield return manualStep;
if (node.Key != null)
foreach (var manualStep in transform(modData, node))
yield return manualStep;
}
public static string FormatMessageList(IEnumerable<string> messages, int indent = 0)

View File

@@ -38,7 +38,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
foreach (var filename in modData.Manifest.ChromeLayout)
{
Console.WriteLine("# {0}:", filename);
var yaml = MiniYaml.FromFile(filename);
var yaml = MiniYaml.FromFile(filename, false);
FromChromeLayout(ref yaml, null,
translatableFields.Select(t => t.Name).Distinct(), null);
using (var file = new StreamWriter(filename))

View File

@@ -36,7 +36,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
{
include |= map.Package.Contains(f);
if (include)
nodes.AddRange(MiniYaml.FromStream(map.Open(f), f));
nodes.AddRange(MiniYaml.FromStream(map.Open(f), f, false));
else
includes.Add(f);
}

View File

@@ -62,8 +62,6 @@ namespace OpenRA.Mods.Common.UtilityCommands
if (!args.Contains("--yes"))
{
Console.WriteLine("WARNING: This command will automatically rewrite your mod rules.");
Console.WriteLine("Side effects of this command may include changing the whitespace to ");
Console.WriteLine("match the default conventions, and any yaml comments will be removed.");
Console.WriteLine();
Console.WriteLine("We strongly recommend that you have a backup of your mod rules, and ");
Console.WriteLine("for best results, to use a Git client to review the line-by-line ");