public static ConcreteSyntaxTree Block(out ConcreteSyntaxTree body, string header = "", string footer = "", BraceStyle open = BraceStyle.Space, BraceStyle close = BraceStyle.Newline) { var outer = new ConcreteSyntaxTree(); outer.Write(header); switch (open) { case BraceStyle.Space: outer.Write(" "); break; case BraceStyle.Newline: outer.WriteLine(); break; } outer.WriteLine("{"); body = outer.Fork(1); outer.Write("}"); if (footer != "") { outer.Write(footer); } switch (close) { case BraceStyle.Space: outer.Write(" "); break; case BraceStyle.Newline: outer.WriteLine(); break; } return(outer); }
public static ConcreteSyntaxTree List(params ICanRender[] elements) { var result = new ConcreteSyntaxTree(); if (elements.Length > 0) { result.Append(elements[0]); for (int i = 1; i < elements.Length; i++) { result.Write(", "); result.Append(elements[i]); } } return(result); }