using System; using System.Collections.Generic; using Spectre.Console.Rendering; namespace Spectre.Console.Cli { internal static class AnsiConsoleExtensions { private static readonly Lazy _console; static AnsiConsoleExtensions() { _console = new Lazy(() => AnsiConsole.Console); } public static IAnsiConsole GetConsole(this IAnsiConsole? console) { return console ?? _console.Value; } public static void SafeRender(this IAnsiConsole? console, IRenderable? renderable) { if (renderable != null) { console ??= _console.Value; console.Render(renderable); } } public static void SafeRender(this IAnsiConsole? console, IEnumerable renderables) { console ??= _console.Value; foreach (var renderable in renderables) { if (renderable != null) { console.Render(renderable); } } } } }