in TeamCity.CSharpInteractive/TextToColorStrings.cs [29:50]
public IEnumerable<(ConsoleColor? color, string text)> Convert(string text, ConsoleColor? defaultColor)
{
var curColor = defaultColor;
foreach (var (color, str) in Split(text))
{
if (!string.IsNullOrWhiteSpace(color))
{
foreach (var colorStr in color.Split(';', StringSplitOptions.RemoveEmptyEntries))
{
if (!int.TryParse(colorStr, out var colorId) || !Colors.TryGetValue(colorId, out var colorVal) || !colorVal.HasValue)
{
continue;
}
curColor = colorVal.Value;
break;
}
}
yield return (curColor, str);
}
}