run method

Future<void> run(
  1. List<String> arguments
)

Run the CLI with provided arguments

Implementation

Future<void> run(List<String> arguments) async {
  if (arguments.isEmpty || arguments.length < 2) {
    _printUsage();
    exit(1);
  }

  final filePath = arguments[0];
  final outputDir = arguments[1];
  String className = 'AppLocalizations';
  bool includeFlutterDelegates = true;

  // Parse optional arguments
  for (int i = 2; i < arguments.length; i++) {
    final arg = arguments[i];
    if (arg.startsWith('--class-name=')) {
      className = arg.substring('--class-name='.length);
    } else if (arg == '--no-flutter-delegates') {
      includeFlutterDelegates = false;
    } else if (arg == '--help' || arg == '-h') {
      _printUsage();
      exit(0);
    } else {
      print('❌ Unknown argument: $arg');
      _printUsage();
      exit(1);
    }
  }

  try {
    await _translatorService.generateFromFile(
      filePath: filePath,
      outputDir: outputDir,
      className: className,
      includeFlutterDelegates: includeFlutterDelegates,
    );
  } catch (e) {
    print('❌ Generation failed: $e');
    exit(1);
  }
}