in lib/command_runner.dart [126:139]
ArgResults parse(Iterable<String> args) {
try {
return argParser.parse(args);
} on ArgParserException catch (error) {
if (error.commands.isEmpty) usageException(error.message);
var command = commands[error.commands.first]!;
for (var commandName in error.commands.skip(1)) {
command = command.subcommands[commandName]!;
}
command.usageException(error.message);
}
}