public override void PrintTo(ScriptPrinter printer) { if (Text != null && Text.Length > 0) { printer.Write(Text); } }
private string ToText(ScriptNode node) { var output = new StringBuilder(); var context = new ScriptPrinter(new StringBuilderOutput(output)); context.Write(node); return(output.ToString()); }
private void PrintOperator(ScriptPrinter printer) { if (OperatorToken != null) { printer.Write(OperatorToken); } else { printer.Write(Operator.ToText()); } }
public override void PrintTo(ScriptPrinter printer) { if (printer.IsInWhileLoop) { // TODO: Not efficient printer.Write(Name == "for" ? "while" : Name); } else { base.PrintTo(printer); } }
public static void Write(this ScriptPrinter printer, List <ScriptNamedArgument> parameters) { if (parameters == null) { return; } for (var i = 0; i < parameters.Count; i++) { var option = parameters[i]; printer.ExpectSpace(); printer.Write(option); } }
public override void PrintTo(ScriptPrinter printer) { if (IsEntering) { printer.WriteEnterCode(EscapeCount); WriteWhitespaceMode(printer); } else { WriteWhitespaceMode(printer); printer.WriteExitCode(EscapeCount); } }
public override void PrintTo(ScriptPrinter printer) { if (Post) { printer.Write(Right); PrintOperator(printer); } else { PrintOperator(printer); printer.Write(Right); } }
public sealed override string ToString() { var strOutput = new StringBuilderOutput(); var printer = new ScriptPrinter(strOutput, new ScriptPrinterOptions() { Mode = ScriptMode.ScriptOnly }); printer.Write(this); var result = strOutput.ToString(); strOutput.Builder.Length = 0; return(result); }
private void WriteWhitespaceMode(ScriptPrinter printer) { switch (WhitespaceMode) { case ScriptWhitespaceMode.None: break; case ScriptWhitespaceMode.Greedy: printer.Write("-"); break; case ScriptWhitespaceMode.NonGreedy: printer.Write("~"); break; default: throw new ArgumentOutOfRangeException(); } }
public void Write(ScriptPrinter printer) { var rawText = ToString(); bool isRawComment = Type == ScriptTriviaType.CommentMulti && !rawText.StartsWith("##"); if (isRawComment) { // Escape any # by \# rawText = rawText.Replace("#", "\\#"); // Escape any }} rawText = rawText.Replace("}", "\\}"); printer.Write("## "); } printer.Write(rawText); if (isRawComment) { printer.Write(" ##"); } }
public abstract void PrintTo(ScriptPrinter printer);
public override void PrintTo(ScriptPrinter printer) { if (Value == null) { printer.Write("null"); return; } var type = Value.GetType(); if (type == typeof(string)) { printer.Write(ToLiteral(StringQuoteType, (string)Value)); } else if (type == typeof(bool)) { printer.Write(((bool)Value) ? "true" : "false"); } else if (type == typeof(int)) { printer.Write(((int)Value).ToString(CultureInfo.InvariantCulture)); } else if (type == typeof(double)) { printer.Write(AppendDecimalPoint(((double)Value).ToString("R", CultureInfo.InvariantCulture), true)); } else if (type == typeof(float)) { printer.Write(AppendDecimalPoint(((float)Value).ToString("R", CultureInfo.InvariantCulture), true)); printer.Write("f"); } else if (type == typeof(decimal)) { printer.Write(AppendDecimalPoint(((decimal)Value).ToString(CultureInfo.InvariantCulture), true)); printer.Write("m"); } else if (type == typeof(byte)) { printer.Write(((byte)Value).ToString(CultureInfo.InvariantCulture)); } else if (type == typeof(sbyte)) { printer.Write(((sbyte)Value).ToString(CultureInfo.InvariantCulture)); } else if (type == typeof(short)) { printer.Write(((short)Value).ToString(CultureInfo.InvariantCulture)); } else if (type == typeof(ushort)) { printer.Write(((ushort)Value).ToString(CultureInfo.InvariantCulture)); } else if (type == typeof(uint)) { printer.Write(((uint)Value).ToString(CultureInfo.InvariantCulture)); } else if (type == typeof(long)) { printer.Write(((long)Value).ToString(CultureInfo.InvariantCulture)); } else if (type == typeof(ulong)) { printer.Write(((uint)Value).ToString(CultureInfo.InvariantCulture)); } else if (type == typeof(char)) { printer.Write(ToLiteral(ScriptLiteralStringQuoteType.SimpleQuote, Value.ToString())); } else { printer.Write(Value.ToString()); } }
public override void PrintTo(ScriptPrinter printer) { }
public override void PrintTo(ScriptPrinter printer) { throw new NotSupportedException(); }
public override void PrintTo(ScriptPrinter printer) { printer.Write(Name); }