public string Print(LNode node, IMessageSink msgs = null, object mode = null, string indentString = "\t", string lineSeparator = "\n") { var sb = new StringBuilder(); EcsNodePrinter.Printer(node, sb, msgs ?? MessageSink.Current, mode, indentString, lineSeparator); return(sb.ToString()); }
public void Print(LNode node, StringBuilder target, IMessageSink sink = null, ParsingMode mode = null, ILNodePrinterOptions options = null) { if (_usePlainCsPrinter) { EcsNodePrinter.PrintPlainCSharp(node, target, sink, mode, options); } else { EcsNodePrinter.PrintECSharp(node, target, sink, mode, options); } }
protected override void StartToken(char nextCh) { if (_newlinePending) { Newline(); } if ((EcsNodePrinter.IsIdentContChar(_lastCh) || _lastCh == '#') && (EcsNodePrinter.IsIdentContChar(nextCh) || nextCh == '@')) { _out.Write(' '); } else if ((_lastCh == '#' && nextCh == '#') || (_lastCh == '+' && nextCh == '+') || (_lastCh == '-' && nextCh == '-') || (_lastCh == '.' && (nextCh == '.' || char.IsDigit(nextCh))) || (_lastCh == '/' && nextCh == '*')) { _out.Write(' '); } }