run method

  1. @override
Future<void> run()
override

Runs this command.

The return value is wrapped in a Future if necessary and returned by CommandRunner.runCommand.

Implementation

@override
Future<void> run() async {
  final client = _apiClientFrom(argResults!);
  try {
    final blueprints = await client.blueprints();
    if (blueprints.isEmpty) {
      stdout.writeln('no blueprints are saved (try: blueprint save <file>)');
      return;
    }
    stdout.writeln('ID              INCLUDES  RESOURCES  NAME');
    for (final b in blueprints) {
      stdout.writeln(
        '${b.id.value.padRight(15)} '
        '${'${b.includes.length}'.padLeft(8)}  '
        '${'${b.resources.length}'.padLeft(9)}  ${b.name}',
      );
    }
  } finally {
    client.close();
  }
}