static void printDiagnostics(SourceText line, Diagnostic diagnostic, int lineIndex, int character) { Console.WriteLine(); var lineInfo = line.Lines[lineIndex]; var prefixSpan = TextSpan.FromBound(lineInfo.Start, diagnostic.Span.Start); var suffixSpan = TextSpan.FromBound(diagnostic.Span.End, lineInfo.End); var prefix = line.ToString(prefixSpan); var error = line.ToString(diagnostic.Span); var suffix = line.ToString(suffixSpan); Console.ForegroundColor = ConsoleColor.DarkCyan; Console.Write($"\t{prefix}"); Console.ForegroundColor = ConsoleColor.DarkYellow; Console.Write(error); Console.ForegroundColor = ConsoleColor.DarkCyan; Console.WriteLine(suffix); Console.ForegroundColor = ConsoleColor.DarkRed; Console.Write($"[{lineIndex+1} {character}] : "); Console.WriteLine(diagnostic); }