mirror of
https://github.com/nsnail/spectre.console.git
synced 2025-06-18 13:03:21 +08:00
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:

committed by
Phil Scott

parent
46abadaccb
commit
450d87f5d3
@ -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!");
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user