private static Error GetError(string text) { //The process of trying to sort the random spouts of letters back into lines. Hacky. if (text.Contains("\n")) { lineBuffer += text; List <string> lines = lineBuffer.Split('\n').ToList(); lineBuffer = lines.Last(); foreach (string line in lines) { var error = ErrorFinder.GetError(line); if (error != null) { return(error); } } } else { lineBuffer += text; } return(null); }
public static void ProgressiveLog(string s) { lineBuffer.Append(s); if (s.Contains("\n")) { List <string> lines = lineBuffer.ToString().Split('\n').ToList(); string suffixText = lines.Last(); lineBuffer = new StringBuilder(suffixText); OnBacktrack(tempText); for (var i = 0; i < lines.Count - 1; i++) { var line = lines[i]; var error = ErrorFinder.GetError(line); if (error == null) { Log(line); } else { if (errorsFound.ContainsKey(error)) { errorsFound[error]++; } else { errorsFound.Add(error, 1); } if (errorsFound[error] < 128) { LogCompileError(line, error); } else { Log(line);//Stop hyperlinking errors if we see over 128 of them } OnErrorFound(error); } } if (suffixText.Length > 0) { tempText = new List <Run>(); tempText.Add(Log(suffixText)); } } else { tempText.Add(Log(s)); } }
public static void ProgressiveLog(string s) { lineBuffer.Append(s); if (s.Contains("\n")) { List <string> lines = lineBuffer.ToString().Split('\n').ToList(); string suffixText = lines.Last(); lineBuffer = new StringBuilder(suffixText); OnBacktrack(tempText); for (var i = 0; i < lines.Count - 1; i++) { var line = lines[i]; var error = ErrorFinder.GetError(line); if (error == null) { Log(line); } else { LogCompileError(line, error); } } if (suffixText.Length > 0) { tempText = new List <Run>(); tempText.Add(Log(suffixText)); } } else { tempText.Add(Log(s)); } }