Improve formatting of Program.ToString()

This commit is contained in:
Yoshi Askharoun
2024-01-31 18:43:04 -06:00
parent f075fce9ec
commit d29406b725
+14 -2
View File
@@ -39,10 +39,22 @@ public record Program(IEnumerable<IImport> Imports, IEnumerable<IBodyItem> Body)
{
public override string ToString()
{
const string lineEnding = "\r\n";
const string indent = " ";
StringBuilder sb = new();
sb.AppendJoin("\r\n", Imports.Select(i => i.ToString()));
sb.AppendJoin("\r\n", Body.Select(b => b.ToString()));
sb.AppendJoin(lineEnding, Imports.Select(i => i.ToString()));
sb.Append(lineEnding);
sb.Append(lineEnding);
foreach (var bodyItem in Body)
{
if (bodyItem is Instruction)
sb.Append(indent);
sb.Append(bodyItem.ToString());
sb.Append(lineEnding);
}
return sb.ToString();
}