Skip to content

Commit 37a18a9

Browse files
upd
1 parent f34b556 commit 37a18a9

File tree

1 file changed

+34
-15
lines changed

1 file changed

+34
-15
lines changed

tools/add_imports/bin/add_imports.dart

Lines changed: 34 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,18 @@ import 'package:add_imports/src/function_or_null.dart';
66
import 'package:collection/collection.dart';
77

88
void main(List<String> arguments) {
9-
final args = (() => Args.parse(arguments)).orNull();
10-
if (args == null) {
11-
print(Args.usage);
12-
13-
return;
14-
}
9+
final state = init(arguments);
10+
if (state == null) return;
1511

16-
final config = (() => Config.fromYaml(
17-
File(args.configpath).readAsStringSync(),
18-
)).orNull();
12+
final (sourceFile, config) = state;
1913

20-
if (config == null) {
21-
print('Error while reading config from "${args.configpath}"');
14+
final sourceString = sourceFile.readAsStringSync.orNull();
15+
if (sourceString == null) {
16+
print('Error while reading source from "${sourceFile.path}"');
2217

2318
return;
2419
}
2520

26-
final sourceFile = File(args.filename);
27-
final sourceString = sourceFile.readAsStringSync();
28-
2921
final classes = RegExp(r'new self.([A-Za-z]+)\(')
3022
.allMatches(sourceString)
3123
.map((e) => e.group(1))
@@ -57,5 +49,32 @@ void main(List<String> arguments) {
5749
sourceString,
5850
].join('\n');
5951

60-
sourceFile.writeAsStringSync(newSource);
52+
try {
53+
sourceFile.writeAsStringSync(newSource);
54+
} catch (_) {
55+
print('Error while writing new source to "${sourceFile.path}"');
56+
57+
return;
58+
}
59+
}
60+
61+
(File, Config)? init(List<String> arguments) {
62+
final args = (() => Args.parse(arguments)).orNull();
63+
if (args == null) {
64+
print(Args.usage);
65+
66+
return null;
67+
}
68+
69+
final config = (() => Config.fromYaml(
70+
File(args.configpath).readAsStringSync(),
71+
)).orNull();
72+
73+
if (config == null) {
74+
print('Error while reading config from "${args.configpath}"');
75+
76+
return null;
77+
}
78+
79+
return (File(args.filename), config);
6180
}

0 commit comments

Comments
 (0)