Files
RemSox/UI/CLI/ICommand.cs
T

24 lines
724 B
C#

namespace RemSox.UI.CLI;
/// <summary>
/// Defines a command executable via the CLI or GUI terminal.
/// </summary>
public interface ICommand
{
/// <summary>
/// Gets the name of the command used to invoke it.
/// </summary>
string Name { get; }
/// <summary>
/// Gets a brief description of the command's functionality.
/// </summary>
string Description { get; }
/// <summary>
/// Executes the command.
/// </summary>
/// <param name="arguments">The arguments provided to the command.</param>
/// <param name="printLine">A delegate to stream output lines to the current console or terminal.</param>
Task ExecuteAsync(string? arguments, Action<string> printLine);
}