/// <summary> /// Writes error or warning to console, with corresponding line and /// suggestions if available /// </summary> /// <param name="log">Console</param> /// <param name="item">Error log item</param> public static void WriteError(this ConsoleLog log, LogItem item) { var builder = new StringBuilder(" "); for (var i = 0; i < item.Start.Col - 1; i++) { if (item.Line[i] == '\t') { builder.Append('\t'); } else { builder.Append(' '); } } builder.Append('^'); log.NewLine() .LogLine(item.Level, item.Message) .NewLine() .Info(string.Format("{0,4}| ", item.Start.Ln)) .InfoLine(item.Line) .LogLine(item.Level, builder.ToString()) .NewLine(); if (item.Suggestions != null) { log.NormalLine(item.Suggestions) .NewLine(); } }
public void LogMessage(Importance importance, string message) { switch (importance) { case Importance.High: log.HighLine(message); break; case Importance.Normal: log.NormalLine(message); break; case Importance.Low: log.LowLine(message); break; } }