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 {
if (topLevelResults.flag('version')) {
print('dpk ${Pubspec.version.representation}');
return 0;
}
final commandName = topLevelResults.command?.name;
if (commandName != null) {
setTerminalTitle('dpk $commandName');
} else {
setTerminalTitle('dpk');
}
try {
return await super.runCommand(topLevelResults);
} finally {
restoreTerminalTitle();
}
}