Handle String thrown differently
This commit is contained in:
parent
1c9aa76d89
commit
5eb15fcd06
3 changed files with 23 additions and 6 deletions
|
@ -20,7 +20,11 @@ main(List<String> args) async {
|
||||||
..addCommand(new MakeCommand());
|
..addCommand(new MakeCommand());
|
||||||
|
|
||||||
return await runner.run(args).then((_) {}).catchError((exc) {
|
return await runner.run(args).then((_) {}).catchError((exc) {
|
||||||
stderr.writeln("Oops, something went wrong: $exc");
|
if (exc is String) {
|
||||||
exitCode = 1;
|
stdout.writeln(exc);
|
||||||
|
} else {
|
||||||
|
stderr.writeln("Oops, something went wrong: $exc");
|
||||||
|
exitCode = 1;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,8 +113,8 @@ class InitCommand extends Command {
|
||||||
var shouldDelete = prompts.getBool(
|
var shouldDelete = prompts.getBool(
|
||||||
"Directory '${projectDir.absolute.path}' already exists. Overwrite it?");
|
"Directory '${projectDir.absolute.path}' already exists. Overwrite it?");
|
||||||
|
|
||||||
if (shouldDelete)
|
if (!shouldDelete)
|
||||||
throw new Exception("Chose not to overwrite existing directory.");
|
throw "Chose not to overwrite existing directory.";
|
||||||
else if (projectDir.absolute.uri.normalizePath().toFilePath() !=
|
else if (projectDir.absolute.uri.normalizePath().toFilePath() !=
|
||||||
Directory.current.absolute.uri.normalizePath().toFilePath())
|
Directory.current.absolute.uri.normalizePath().toFilePath())
|
||||||
await projectDir.delete(recursive: true);
|
await projectDir.delete(recursive: true);
|
||||||
|
|
|
@ -58,8 +58,21 @@ class RenameCommand extends Command {
|
||||||
renamePubspec(Directory dir, String oldName, String newName) async {
|
renamePubspec(Directory dir, String oldName, String newName) async {
|
||||||
// var pubspec = await loadPubspec(dir);
|
// var pubspec = await loadPubspec(dir);
|
||||||
print(cyan.wrap('Renaming your project to `$newName.`'));
|
print(cyan.wrap('Renaming your project to `$newName.`'));
|
||||||
print(cyan
|
|
||||||
.wrap('Note that this does not actually modify your `pubspec.yaml`.'));
|
var pubspecFile = new File.fromUri(dir.uri.resolve('pubspec.yaml'));
|
||||||
|
|
||||||
|
if (await pubspecFile.exists()) {
|
||||||
|
var contents = await pubspecFile.readAsString(), oldContents = contents;
|
||||||
|
contents =
|
||||||
|
contents.replaceAll(new RegExp('name:\\s*$oldName'), 'name: $newName');
|
||||||
|
|
||||||
|
if (contents != oldContents) {
|
||||||
|
await pubspecFile.writeAsString(contents);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// print(cyan
|
||||||
|
// .wrap('Note that this does not actually modify your `pubspec.yaml`.'));
|
||||||
// TODO: https://github.com/dart-lang/pubspec_parse/issues/17
|
// TODO: https://github.com/dart-lang/pubspec_parse/issues/17
|
||||||
// var newPubspec = new Pubspec.fromJson(pubspec.toJson()..['name'] = newName);
|
// var newPubspec = new Pubspec.fromJson(pubspec.toJson()..['name'] = newName);
|
||||||
// await newPubspec.save(dir);
|
// await newPubspec.save(dir);
|
||||||
|
|
Loading…
Reference in a new issue