in TeamCity.CSharpInteractive/DiagnosticsPresenter.cs [20:51]
public void Show(CompilationDiagnostics data)
{
var (sourceCommand, readOnlyCollection) = data;
var prefix = Text.Empty;
if(_errorContext.TryGetSourceName(out var name))
{
prefix = new Text(name + " ");
}
foreach (var diagnostic in readOnlyCollection)
{
switch (diagnostic.Severity)
{
case DiagnosticSeverity.Hidden:
_log.Trace(() => new[] {prefix, new Text(diagnostic.ToString())});
break;
case DiagnosticSeverity.Info:
_log.Info(prefix, new Text(diagnostic.ToString()));
break;
case DiagnosticSeverity.Warning:
_log.Warning(prefix, new Text(diagnostic.ToString()));
break;
case DiagnosticSeverity.Error:
var errorId = $"{GetProperty(diagnostic.Id, string.Empty)},{diagnostic.Location.SourceSpan.Start},{diagnostic.Location.SourceSpan.Length}{GetProperty(GetFileName(sourceCommand.Name))}";
_log.Error(new ErrorId(errorId), prefix, new Text(diagnostic.ToString()));
break;
}
}
}