handleArgs function
Implementation
PicositeConfig handleArgs(arguments, PicositeConfig config) {
final ArgParser argParser = buildParser();
try {
final ArgResults results = argParser.parse(arguments);
bool verbose = false;
// Process the parsed arguments.
if (results.wasParsed('preview')) {
config = config.copyWith(preview: true);
}
if (results.wasParsed('site')) {
config = config.copyWith(sitePath: results.option("site"));
}
if (results.wasParsed('includes')) {
config = config.copyWith(includesPath: results.option("includes"));
}
if (results.wasParsed('assets')) {
config = config.copyWith(assetsPath: results.option("assets"));
}
if (results.wasParsed('templates')) {
config = config.copyWith(templatesPath: results.option("templates"));
}
if (results.wasParsed('help')) {
printUsage(argParser);
exit(0);
}
if (results.wasParsed('version')) {
print('picosite version: $version');
exit(0);
}
if (results.wasParsed('verbose')) {
verbose = true;
}
// Act on the arguments provided.
print('Positional arguments: ${results.rest}');
if (verbose) {
print('[VERBOSE] All arguments: ${results.arguments}');
}
} on FormatException catch (e) {
// Print usage information if an invalid argument was provided.
print(e.message);
print('');
printUsage(argParser);
}
return config;
}