using System; using Spectre.Console; using Spectre.Console.Rendering; namespace Generator.Commands { public sealed class AsciiCastConsole : IAnsiConsole { private readonly IAnsiConsole _console; private readonly AsciiCastInput _input; public Profile Profile => _console.Profile; public IAnsiConsoleCursor Cursor => _console.Cursor; IAnsiConsoleInput IAnsiConsole.Input => _input; public AsciiCastInput Input => _input; public IExclusivityMode ExclusivityMode => _console.ExclusivityMode; public RenderPipeline Pipeline => _console.Pipeline; public AsciiCastConsole(IAnsiConsole console) { _console = console ?? throw new ArgumentNullException(nameof(console)); _input = new AsciiCastInput(); } public void Clear(bool home) { _console.Clear(home); } public void Write(IRenderable renderable) { _console.Write(renderable); } } }