Improve error output w/ bad args
diff --git a/pkgs/markdown/tool/common_mark_stats.dart b/pkgs/markdown/tool/common_mark_stats.dart index fb3554a..9d54293 100644 --- a/pkgs/markdown/tool/common_mark_stats.dart +++ b/pkgs/markdown/tool/common_mark_stats.dart
@@ -4,7 +4,7 @@ import 'dart:io'; import 'dart:mirrors'; -import 'package:args/args.dart' show ArgParser; +import 'package:args/args.dart'; import 'package:collection/collection.dart'; import 'package:html/dom.dart' as dom; import 'package:html/parser.dart' show parseFragment; @@ -32,7 +32,16 @@ defaultsTo: false, help: 'verbose output', negatable: false) ..addFlag('help', defaultsTo: false, negatable: false); - var options = parser.parse(args); + ArgResults options; + + try { + options = parser.parse(args); + } on FormatException catch (e) { + stderr.writeln(e); + print(parser.usage); + exitCode = 64; + return; + } if (options['help']) { print(parser.usage); @@ -45,7 +54,7 @@ var updateFiles = options['update-files'] as bool; if (updateFiles && (raw || verbose || (specifiedSection != null))) { - print('The `update-files` flag must be used by itself'); + stderr.writeln('The `update-files` flag must be used by itself'); print(parser.usage); exitCode = 64; // unix standard improper usage return;