handle method
void
handle()
Implementation
void handle() {
try {
final results = _parser.parse(arguments);
if (results['help'] || (results.command?.name == 'help')) {
_printHelp();
return;
}
if (results['version']) {
_printVersion();
return;
}
final command = results.command?.name;
final config = ConfigLoader.load();
final cli = InteractiveCLI(config);
switch (command) {
case 'generate':
case 'g':
cli.startGenerate();
break;
case 'sync':
case 's':
cli.startSync();
break;
case 'interactive':
case 'i':
cli.startInteractive();
break;
case 'api':
case 'a':
cli.startApiGenerate();
break;
case 'batch':
case 'b':
final rest = results.command!.rest;
if (rest.isEmpty) {
print('Error: Please provide a folder path for batch generation.');
print('Usage: amg batch <folder_path>');
return;
}
cli.startBatch(rest.first);
break;
case 'init':
_handleInit();
break;
case 'version':
_printVersion();
break;
default:
// Default to interactive if no command or empty arguments
cli.startInteractive();
break;
}
} catch (e) {
print('Error parsing arguments: $e');
_printHelp();
}
}