Add support for fake input in asciicast recordings

* Fixes a bug with `SelectionPrompt` and page size.
* Allow `IAnsiConsoleInput` to return `null`.
This commit is contained in:
Patrik Svensson
2021-05-24 02:36:14 +02:00
committed by Phil Scott
parent 46abadaccb
commit 450d87f5d3
56 changed files with 1314 additions and 1166 deletions

View File

@ -0,0 +1,29 @@
using DocExampleGenerator;
using Spectre.Console;
namespace Generator.Commands.Samples
{
internal class SelectionSample : BaseSample
{
public override (int Cols, int Rows) ConsoleSize => (base.ConsoleSize.Cols, 14);
public override void Run(IAnsiConsole console)
{
console.DisplayThenType(AskFruit, "↓↓↓¦¦¦¦ ");
}
private static void AskFruit(IAnsiConsole console)
{
// Ask for the user's favorite fruit
var fruit = console.Prompt(
new SelectionPrompt<string>()
.Title("What's your [green]favorite fruit[/]?")
.PageSize(10)
.MoreChoicesText("[grey](Move up and down to reveal more fruits)[/]")
.AddChoices(new [] {"Apple", "Apricot", "Avocado", "Banana", "Blackcurrant", "Blueberry", "Cherry", "Cloudberry", "Cocunut"}));
// Echo the fruit back to the terminal
console.WriteLine($"I agree. {fruit} is tasty!");
}
}
}