runCommand method

Future<ExitCode> runCommand()

Implementation

Future<ExitCode> runCommand() async {
  if (args.get<bool>('help', defaultValue: false) && args.path.isEmpty) {
    logger.write(_usage);
    return ExitCode.success;
  }

  if (args['version'] case true) {
    logger.info(packageVersion);
    return ExitCode.success;
  }

  switch (args.path) {
    case ['run' || 'r', ...final path]:
      return await const ScriptRunCommand().run(path);
    case ['pub', ...final path]:
      return await const PubCommand().run(path);
    case ['clean']:
      return await const CleanCommand().run();
    case ['list' || 'ls', ...final query]:
      return await const ListCommand().run(query);
    case ['test', ...final path]:
      return await const TestCommand().run(path);
  }

  logger.write(_usage);

  return ExitCode.usage;
}