createParser static method

ArgParser createParser()

Implementation

static ArgParser createParser() {
  final parser = ArgParser();
  final createCmd = ArgParser()
    ..addOption(
      'template',
      abbr: 't',
      defaultsTo: Constants.appTemplate,
      allowed: [
        Constants.appTemplate,
        Constants.packageTemplate,
        Constants.packageWithTesterTemplate,
      ],
      help: 'Template type: app, package, or package+tester',
    )
    ..addOption(
      'org',
      abbr: 'o',
      help: 'Organization identifier (e.g., com.example)',
    )
    ..addFlag(
      'verbose',
      abbr: 'v',
      defaultsTo: false,
      help: 'Enable verbose output',
    );

  final initCmd = ArgParser()
    ..addFlag(
      'verbose',
      abbr: 'v',
      defaultsTo: false,
      help: 'Enable verbose output',
    );

  final moduleCmd = ArgParser()
    ..addOption(
      'name',
      abbr: 'n',
      help: 'Module name (e.g., user_store, product_item, order)',
    )
    ..addFlag(
      'verbose',
      abbr: 'v',
      defaultsTo: false,
      help: 'Enable verbose output',
    );

  parser.addCommand('create', createCmd);
  parser.addCommand('init', initCmd);
  parser.addCommand('module', moduleCmd);
  parser.addFlag(
    'help',
    abbr: 'h',
    defaultsTo: false,
    help: 'Show this help message',
  );
  parser.addFlag(
    'verbose',
    abbr: 'v',
    defaultsTo: false,
    help: 'Enable verbose output',
  );

  return parser;
}