Patrik Svensson 450d87f5d3 Add support for fake input in asciicast recordings
* Fixes a bug with `SelectionPrompt` and page size.
* Allow `IAnsiConsoleInput` to return `null`.
2021-05-23 22:22:44 -04:00

41 lines
1.0 KiB
C#

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