Patrik Svensson a23bec4082 Add profile support
Closes #231
2021-01-19 17:53:03 +01:00

43 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
using Spectre.Console.Rendering;
namespace Spectre.Console.Cli
{
internal static class AnsiConsoleExtensions
{
private static readonly Lazy<IAnsiConsole> _console;
static AnsiConsoleExtensions()
{
_console = new Lazy<IAnsiConsole>(() => 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<IRenderable?> renderables)
{
console ??= _console.Value;
foreach (var renderable in renderables)
{
if (renderable != null)
{
console.Render(renderable);
}
}
}
}
}