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;
}