Implemented AddAsyncDelegate (#766)

This commit is contained in:
Ignacio Calvo
2023-05-25 12:31:01 +02:00
committed by GitHub
parent 0ec70a44db
commit 35ce60b596
13 changed files with 859 additions and 675 deletions

View File

@ -2,16 +2,16 @@ namespace Spectre.Console.Cli;
internal sealed class DelegateCommand : ICommand
{
private readonly Func<CommandContext, CommandSettings, int> _func;
private readonly Func<CommandContext, CommandSettings, Task<int>> _func;
public DelegateCommand(Func<CommandContext, CommandSettings, int> func)
public DelegateCommand(Func<CommandContext, CommandSettings, Task<int>> func)
{
_func = func;
}
public Task<int> Execute(CommandContext context, CommandSettings settings)
{
return Task.FromResult(_func(context, settings));
return _func(context, settings);
}
public ValidationResult Validate(CommandContext context, CommandSettings settings)