Ready for the first beta release. #105

Merged
That-One-Nerd merged 41 commits from main-canary into main 2023-05-18 13:05:42 -04:00
5 changed files with 25 additions and 2 deletions
Showing only changes of commit 13c9adf781 - Show all commits

View File

@ -14,3 +14,4 @@ global using System.Threading;
global using Valve;
global using Valve.Miscellaneous;
global using Valve.Vkv;
global using Valve.Vkv.ObjectModels;

View File

@ -0,0 +1,8 @@
namespace Valve.Vkv;
public enum SpacingMode
{
SingleSpace = 0,
IndentSizeSpacing,
DoubleTab,
}

View File

@ -289,7 +289,20 @@ public static class VkvConvert
writer.Write(new string(' ', indentLevel));
writer.Write(SerializeString(name, options));
writer.Write(' ');
switch (options.spacing)
{
case SpacingMode.SingleSpace: writer.Write(' ');
break;
case SpacingMode.IndentSizeSpacing: writer.Write(new string(' ', options.indentSize));
break;
case SpacingMode.DoubleTab: writer.Write("\t\t");
break;
default: throw new VkvSerializationException($"Unknown spacing mode \"{options.spacing}\".");
}
serializedValue = SerializeString(serializedValue, options);
writer.WriteLine(serializedValue);
@ -325,7 +338,6 @@ public static class VkvConvert
if (options.useQuotes) content = $"\"{content}\"";
return content;
}
#endregion
#region ToNodeTree

View File

@ -8,6 +8,7 @@ public record class VkvOptions
public int indentSize;
public bool resetStreamPosition;
public bool serializeProperties;
public SpacingMode spacing;
public bool useEscapeCodes;
public bool useQuotes;
@ -17,6 +18,7 @@ public record class VkvOptions
indentSize = 4;
resetStreamPosition = false;
serializeProperties = true;
spacing = SpacingMode.DoubleTab;
useEscapeCodes = false;
useQuotes = false;
}