run method

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

Runs this command.

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

Implementation

@override
Future<int> run() async {
  if (argResults!['setup'] as bool ||
      argResults!.rest.firstOrNull == 'setup') {
    return _runSetup();
  }

  final request = argResults!.rest.join(' ').trim();
  if (request.isEmpty) {
    logger.logError('nothing to ask');
    logger.logDetail('try: distribute ai "build the ios app"');
    logger.logDetail('or configure a model first: distribute ai --setup');
    return 64;
  }

  return _ask(request);
}