run method
Runs this command.
The return value is wrapped in a Future
if necessary and returned by
CommandRunner.runCommand
.
Implementation
@override
run() {
/// ensure yaml load correctly
ensureYamlInitialized();
/// split rewrite config if exist in myst.yaml
if (extensionConfig != null) {
if (extensionConfig!.containsKey("rewrite") == true) {
rewrite = extensionConfig!['rewrite'];
}
}
final watch = Stopwatch()..start();
PrintX.cool("extension start");
/// in case user don't want to type --name then take the first input instead
if (argResults!.arguments.isNotEmpty) {
inputName ??= argResults!.arguments.first;
className = (className ?? inputName)!.pascalCase;
fileName ??= inputName!.snakeCase;
/// printBlue("${argResults!.options}");
/// printGreen([inputName, className, fileName]);
/// generate extension class in lib/extensions
generateLib();
/// generate extension test class in test/extensions
generateTest();
} else {
printCyan(usage);
}
PrintX.cool("extension finished in (${watch.elapsedMilliseconds} ms)");
watch.stop();
}