public IEnumerable Convert()

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);
        }
    }