Command<T> class
abstract
Core
Base command class for Artisanal-style CLI commands.
Provides access to the io helper for console output and renders help with proper section formatting.
Commands are the building blocks of your CLI. Each command has a name, description, and an optional set of arguments and subcommands.
Override the run() method to implement the command's logic. You can
access the Console via the console property if the command is run
through an Artisanal runner.
class ServeCommand extends Command<void> {
@override
String get name => 'serve';
@override
String get description => 'Start the development server.';
@override
Future<void> run() async {
io.title('Starting server...');
// ...
}
}
- Inheritance
-
- Object
- Command<
T> - Command
Constructors
Properties
-
aliases
→ List<
String> -
Alternate names for this command.
no setteroverride
- argParser → ArgParser
-
The argument parser for this command.
no setterinherited
- argResults → ArgResults?
-
The parsed argument results for this command.
no setterinherited
- category → String
-
The command's category.
no setterinherited
- description → String
-
A description of this command, included in
usage.no setterinherited - globalResults → ArgResults?
-
The parsed global argument results.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
-
Whether or not this command should be hidden from help listings.
no setterinherited
- invocation → String
-
A single-line template for how to invoke this command (e.g.
"pub getpackage").no setterinherited - io → Console
-
Access to the I/O helper for console output.
no setter
- name → String
-
The name of this command.
no setterinherited
- namespaceSeparator → String
-
Separator used to group subcommands for display.
no setter
-
parent
→ Command<
T> ? -
The command's parent command, if this is a subcommand.
no setterinherited
-
runner
→ CommandRunner<
T> ? -
The command runner for this command.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
subcommands
→ Map<
String, Command< T> > -
An unmodifiable view of all sublevel commands of this command.
no setterinherited
-
suggestionAliases
→ List<
String> -
Alternate non-functional names for this command.
no setterinherited
- summary → String
-
A short description of this command, included in
parent'sCommandRunner.usage.no setterinherited - takesArguments → bool
-
Whether or not this command takes positional arguments in addition to
options.
no setterinherited
- usage → String
-
Generates a string displaying usage information for this command.
no setterinherited
-
An optional footer for
usage.no setterinherited
Methods
-
addSubcommand(
Command< T> command) → void -
Adds
Commandas a subcommand of this.inherited -
formatUsage(
{bool includeDescription = true}) → String - Formats help output for this command.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
printUsage(
) → void -
Prints the usage information for this command.
override
-
run(
) → FutureOr< T> ? -
Runs this command.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
usageException(
String message) → Never -
Throws a
UsageExceptionwithmessage.override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited