run method
Implementation
Future<int> run() async {
final parsed = Args.parse(
args,
bool: const ['help', 'force', 'verbose', 'quiet', 'json', 'no-color'],
string: const ['pages', 'output'],
aliases: const {
'h': 'help',
'v': 'verbose',
'q': 'quiet',
'p': 'pages',
'o': 'output',
'f': 'force',
},
);
configureOutput(noColor: parsed.at('no-color')?.safeAs<bool>() == true);
final showHelp = parsed.at('help')?.safeAs<bool>() == true;
final positionals = parsed.rest.toList();
if (positionals.isEmpty || showHelp) {
if (positionals.isEmpty) {
_printUsage();
return 0;
}
}
final command = positionals.first;
if (showHelp) {
_printCommandUsage(command);
return 0;
}
switch (command) {
case 'scan':
return runScan(parsed);
case 'init':
return runInit(parsed);
case 'generate':
return runGenerate(parsed);
case 'watch':
return runWatch(parsed);
default:
stderr.writeln('Unknown command: $command');
_printUsage();
return 64;
}
}