Skip to content

Commit a9da731

Browse files
committed
Move onProgress to inline function
Eliminate top-level, mutable state
1 parent ffd9857 commit a9da731

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

bin/dartdoc.dart

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,7 @@ main(List<String> arguments) async {
4747

4848
final bool sdkDocs = args['sdk-docs'];
4949

50-
if (args['show-progress']) {
51-
_showProgress = true;
52-
}
50+
var showProgress = args['show-progress'] as bool;
5351

5452
var readme = args['sdk-readme'];
5553
if (readme != null && !(new File(readme).existsSync())) {
@@ -156,8 +154,17 @@ main(List<String> arguments) async {
156154
useCategories: args['use-categories'],
157155
prettyIndexJson: args['pretty-index-json']);
158156

157+
var progressCounter = 0;
158+
159+
void onProgress(Object file) {
160+
if (showProgress && progressCounter % 5 == 0) {
161+
stdout.write('.');
162+
}
163+
progressCounter += 1;
164+
}
165+
159166
for (var generator in generators) {
160-
generator.onFileCreated.listen(_onProgress);
167+
generator.onFileCreated.listen(onProgress);
161168
}
162169

163170
DartSdk sdk = new FolderBasedDartSdk(PhysicalResourceProvider.INSTANCE,
@@ -203,7 +210,7 @@ main(List<String> arguments) async {
203210
outputDir, packageMeta, includeLibraries,
204211
includeExternals: includeExternals);
205212

206-
dartdoc.onCheckProgress.listen(_onProgress);
213+
dartdoc.onCheckProgress.listen(onProgress);
207214
Chain.capture(() async {
208215
DartDocResults results = await dartdoc.generateDocs();
209216
print('\nSuccess! Docs generated into ${results.outDir.absolute.path}');
@@ -218,8 +225,6 @@ main(List<String> arguments) async {
218225
});
219226
}
220227

221-
bool _showProgress = false;
222-
223228
ArgParser _createArgsParser() {
224229
var parser = new ArgParser();
225230
parser.addFlag('help',
@@ -318,15 +323,6 @@ ArgParser _createArgsParser() {
318323
return parser;
319324
}
320325

321-
int _progressCounter = 0;
322-
323-
void _onProgress(var file) {
324-
if (_showProgress && _progressCounter % 5 == 0) {
325-
stdout.write('.');
326-
}
327-
_progressCounter += 1;
328-
}
329-
330326
/// Print help if we are passed the help option.
331327
void _printHelp(ArgParser parser, {int exitCode: 0}) {
332328
print('Generate HTML documentation for Dart libraries.\n');

0 commit comments

Comments
 (0)