runCommand method
Runs the command specified by topLevelResults.
This is notionally a protected method. It may be overridden or called from subclasses, but it shouldn't be called externally.
It's useful to override this to handle global flags and/or wrap the entire
command in a block. For example, you might handle the --verbose flag
here to enable verbose logging before running the command.
This returns the return value of Command.run.
Implementation
@override
Future<int?> runCommand(ArgResults topLevelResults) async {
final command = topLevelResults.command;
final runCommand = commands['run'];
if (command?.name == 'run' &&
command!.command == null &&
command.rest.isEmpty &&
runCommand is RunCommand) {
runCommand.printUsage();
return 0;
}
return super.runCommand(topLevelResults);
}