invocation property
A single-line template for how to invoke this command (e.g. "pub get
package"
).
Implementation
@override
String get invocation
{
final parents = [name];
for (var command = parent; command != null; command = command.parent) {
parents.add(command.name);
}
parents.add(runner!.executableName);
final invocation = parents.reversed.join(' ');
if (subcommands.isEmpty) {
if (arguments.isEmpty) {
return invocation;
} else {
final args = arguments.map((e) => '<${e.name}>').join(' ');
return '$invocation $args';
}
} else {
return '$invocation <subcommand> [arguments]';
}
}