run static method
Implementation
static String run(List<String> arguments) {
final parser = ArgParser()
..addCommand('version')
..addCommand('help')
..addCommand('new')
..addCommand('serve')
..addCommand('make')
..addCommand('migrate')
..addCommand('queue')
..addCommand('schedule')
..addCommand('test')
..addCommand('build');
final results = parser.parse(arguments);
if (results.command == null) {
if (results.arguments.isEmpty) {
return _showHelp();
}
}
final command = results.command?.name;
final commandArgs = results.command?.arguments ?? [];
switch (command) {
case 'version':
return 'Dartian $version';
case 'help':
return _showHelp();
case 'serve':
// Serve command is now handled in bin/dartian.dart with ServeCommand
return 'Use: dartian serve [--host localhost] [--port 8000]';
case 'new':
// New command is now handled in bin/dartian.dart with NewCommand
return 'Use: dartian new <project-name>';
case 'make':
return _handleMakeCommand(commandArgs);
case 'queue':
if (commandArgs.isEmpty || commandArgs[0] != 'work') {
return 'Usage: dartian queue:work [options]';
}
return 'Use: dartian queue:work [--queue=default] [--driver=sync]';
case 'schedule':
if (commandArgs.isEmpty || commandArgs[0] != 'run') {
return 'Usage: dartian schedule:run';
}
return 'Use: dartian schedule:run';
case 'build':
if (commandArgs.isEmpty) {
return 'Usage: dartian build <type>\nTypes: exe, aot-snapshot, wasm';
}
return 'Use: dartian build exe|aot-snapshot|wasm';
case 'migrate':
// Migrate command is now handled in bin/dartian.dart
return 'Use: dartian migrate [--status] [--database=path]';
case 'test':
// Test command is now handled in bin/dartian.dart
return 'Use: dartian test [--coverage] [--name=pattern] [files]';
default:
return _showHelp();
}
}