using JetBrains.Annotations;
namespace Robust.Shared.Console
{
///
/// Basic interface to handle console commands. Any class implementing this will be
/// registered with the console system through reflection.
///
[UsedImplicitly(ImplicitUseTargetFlags.WithInheritors)]
public interface IConsoleCommand
{
///
/// Name of the command.
///
///
/// A string as identifier for this command.
///
string Command { get; }
///
/// Short description of the command.
///
///
/// String printed as short summary in the "help" command.
///
string Description { get; }
///
/// Extended description for the command.
///
///
/// String printed as summary when "help Command" is used.
///
string Help { get; }
///
/// Executes the client command.
///
/// The console that executed this command.
/// Unparsed text of the complete command with arguments.
/// An array of all the parsed arguments.
void Execute(IConsoleShell shell, string argStr, string[] args);
}
}