doRun method

  1. @override
Future<int> doRun()
override

Implementation

@override
Future<int> doRun() async {
  final args = argResults!;
  final path = args.rest;

  final fullIndex = CommandIndex.build(runner!);
  final index = fullIndex.filter(path);

  if (index == null) {
    return error(_kExitCodeUnknownCommand,
        message: 'There is no command "${path.join(' ')}". '
            'Run "alex agents guide" to see all commands.');
  }

  if (isJsonFormat) {
    return jsonResult(
      exitCode: 0,
      summary: '${index.runnable.length} command(s)',
      data: <String, dynamic>{'commands': index.toJson()},
    );
  }

  print.info(GuideRenderer.render(index, version: packageVersion));
  return 0;
}