format method
Check or fix format
Implementation
Future<void> format({bool fix = false}) async {
if (isWorkspaceRoot) {
return;
}
filteredDartDirs ??= await filterTopLevelDartDirs(path);
var filteredDartDirsArg = filteredDartDirs!.join(' ');
if (fix || !options.noFormat) {
// Previous version were using dart_style, we now use dart format
// Even for flutter we use `dart format`, before flutter 3.7 `flutter format` was alloed
// Needed otherwise formatter is stuck
if (filteredDartDirsArg.isEmpty) {
filteredDartDirsArg = '.';
}
try {
if (fix) {
await runScript('''
# Format
dart format $filteredDartDirsArg
''');
} else {
await runScript('''
# Check Formatting
dart format --set-exit-if-changed $filteredDartDirsArg
''');
}
} catch (e) {
// Sometimes we allow formatting errors...
// if (supportsNnbdExperiment) {
// stderr.writeln('Error in dartfmt during nnbd experiment, ok...');
//} else {
//
// but in general no!
rethrow;
}
}
}