@@ -21,8 +21,8 @@ import 'package:analyzer/src/util/sdk.dart';
21
21
import 'package:analyzer_plugin/protocol/protocol_common.dart'
22
22
hide AnalysisError;
23
23
import 'package:args/args.dart' ;
24
- import 'package:args/command_runner.dart' ;
25
24
import 'package:cli_util/cli_logging.dart' ;
25
+ import 'package:dartdev/src/core.dart' ;
26
26
import 'package:meta/meta.dart' ;
27
27
import 'package:nnbd_migration/src/edit_plan.dart' ;
28
28
import 'package:nnbd_migration/src/exceptions.dart' ;
@@ -137,8 +137,7 @@ class CommandLineOptions {
137
137
@required this .webPreview});
138
138
}
139
139
140
- // TODO(devoncarew): Refactor so this class extends DartdevCommand.
141
- class MigrateCommand extends Command <int > {
140
+ class MigrateCommand extends DartdevCommand {
142
141
static const String cmdName = 'migrate' ;
143
142
144
143
static const String cmdDescription =
@@ -152,31 +151,16 @@ class MigrateCommand extends Command<int> {
152
151
153
152
final bool verbose;
154
153
155
- ArgParser _argParser;
156
-
157
- MigrateCommand ({this .verbose = false }) {
154
+ MigrateCommand ({this .verbose = false })
155
+ : super (cmdName, '$cmdDescription \n\n $migrationGuideLink ' ) {
158
156
MigrationCli ._defineOptions (argParser, ! verbose);
159
157
}
160
158
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
-
172
159
@override
173
160
String get invocation {
174
161
return '${super .invocation } [project or directory]' ;
175
162
}
176
163
177
- @override
178
- String get name => cmdName;
179
-
180
164
@override
181
165
FutureOr <int > run () async {
182
166
var cli = MigrationCli (binaryName: 'dart $name ' );
0 commit comments