public void WriteError(string error_msg, ScriptEngineType engineType) { _errored = true; _erroredEngine = engineType; foreach (string message_part in error_msg.SplitIntoChunks(1024)) { var buffer = OutputEncoding.GetBytes(message_part); Write(buffer, 0, buffer.Length); } }
public void AppendError(string OutputText, ScriptEngineType engineType) { Unfreeze(); string errorHeader = string.Empty; switch (engineType) { case ScriptEngineType.IronPython: errorHeader = ScriptConsoleConfigs.ToCustomHtmlTags(ScriptConsoleConfigs.IPYErrorHeader); break; case ScriptEngineType.CPython: errorHeader = ScriptConsoleConfigs.ToCustomHtmlTags(ScriptConsoleConfigs.CPYErrorHeader); break; case ScriptEngineType.CSharp: errorHeader = ScriptConsoleConfigs.ToCustomHtmlTags(ScriptConsoleConfigs.CLRErrorHeader); break; case ScriptEngineType.Invoke: break; case ScriptEngineType.VisualBasic: errorHeader = ScriptConsoleConfigs.ToCustomHtmlTags(ScriptConsoleConfigs.CLRErrorHeader); break; case ScriptEngineType.IronRuby: errorHeader = ScriptConsoleConfigs.ToCustomHtmlTags(ScriptConsoleConfigs.IRubyErrorHeader); break; case ScriptEngineType.DynamoBIM: break; case ScriptEngineType.Grasshopper: break; case ScriptEngineType.Content: break; } // add new line to header if (errorHeader != string.Empty) { errorHeader += "\n"; } AppendText(errorHeader + OutputText, ScriptConsoleConfigs.ErrorBlock); }
public void AppendError(string OutputText, ScriptEngineType engineType) { Unfreeze(); string errorHeader = string.Empty; switch (engineType) { case ScriptEngineType.IronPython: errorHeader = ScriptConsoleConfigs.ToCustomHtmlTags(ScriptConsoleConfigs.IPYErrorHeader); break; case ScriptEngineType.CPython: errorHeader = ScriptConsoleConfigs.ToCustomHtmlTags(ScriptConsoleConfigs.CPYErrorHeader); break; case ScriptEngineType.CSharp: errorHeader = ScriptConsoleConfigs.ToCustomHtmlTags(ScriptConsoleConfigs.CSharpErrorHeader); break; case ScriptEngineType.Invoke: break; case ScriptEngineType.VisualBasic: errorHeader = ScriptConsoleConfigs.ToCustomHtmlTags(ScriptConsoleConfigs.VBErrorHeader); break; case ScriptEngineType.IronRuby: errorHeader = ScriptConsoleConfigs.ToCustomHtmlTags(ScriptConsoleConfigs.IRubyErrorHeader); break; case ScriptEngineType.DynamoBIM: break; case ScriptEngineType.Grasshopper: break; case ScriptEngineType.Content: break; } // add new line to header if (errorHeader != string.Empty) { errorHeader += "\n"; } // if this is a know debugger stop error // make a nice report foreach (var dbgr in _supportedDebuggers) { foreach (var stopFinder in dbgr.StopFinders) { if (stopFinder.Item1.IsMatch(OutputText)) { AppendText( errorHeader + stopFinder.Item2, ScriptConsoleConfigs.ErrorBlock ); return; } } } // otherwise report the error AppendText( errorHeader + OutputText, ScriptConsoleConfigs.ErrorBlock ); }