@@ -21,8 +21,8 @@ import 'package:analyzer/src/util/sdk.dart';
2121import 'package:analyzer_plugin/protocol/protocol_common.dart'
2222 hide AnalysisError;
2323import 'package:args/args.dart' ;
24- import 'package:args/command_runner.dart' ;
2524import 'package:cli_util/cli_logging.dart' ;
25+ import 'package:dartdev/src/core.dart' ;
2626import 'package:meta/meta.dart' ;
2727import 'package:nnbd_migration/src/edit_plan.dart' ;
2828import 'package:nnbd_migration/src/exceptions.dart' ;
@@ -137,8 +137,7 @@ class CommandLineOptions {
137137 @required this .webPreview});
138138}
139139
140- // TODO(devoncarew): Refactor so this class extends DartdevCommand.
141- class MigrateCommand extends Command <int > {
140+ class MigrateCommand extends DartdevCommand {
142141 static const String cmdName = 'migrate' ;
143142
144143 static const String cmdDescription =
@@ -152,31 +151,16 @@ class MigrateCommand extends Command<int> {
152151
153152 final bool verbose;
154153
155- ArgParser _argParser;
156-
157- MigrateCommand ({this .verbose = false }) {
154+ MigrateCommand ({this .verbose = false })
155+ : super (cmdName, '$cmdDescription \n\n $migrationGuideLink ' ) {
158156 MigrationCli ._defineOptions (argParser, ! verbose);
159157 }
160158
161- @override
162- ArgParser get argParser {
163- // We override this in order to configure the help text line wrapping.
164- return _argParser ?? = ArgParser (
165- usageLineLength: stdout.hasTerminal ? stdout.terminalColumns : null ,
166- );
167- }
168-
169- @override
170- String get description => '$cmdDescription \n\n $migrationGuideLink ' ;
171-
172159 @override
173160 String get invocation {
174161 return '${super .invocation } [project or directory]' ;
175162 }
176163
177- @override
178- String get name => cmdName;
179-
180164 @override
181165 FutureOr <int > run () async {
182166 var cli = MigrationCli (binaryName: 'dart $name ' );
0 commit comments