convertSpecificPattern method

Future<void> convertSpecificPattern({
  1. required String pattern,
  2. required String replacement,
  3. List<String>? fileExtensions,
})

Convert specific patterns with custom logic

Implementation

Future<void> convertSpecificPattern({
  required String pattern,
  required String replacement,
  List<String>? fileExtensions,
}) async {
  if (verbose) {
    print('🎯 Converting specific pattern: $pattern → $replacement');
  }

  final extensions = fileExtensions ?? ['.dart'];
  await for (final file in _getAllFiles(extensions)) {
    if (await file.exists()) {
      final content = await file.readAsString();
      final newContent = content.replaceAll(RegExp(pattern), replacement);

      if (content != newContent && !dryRun) {
        await file.writeAsString(newContent);
        if (verbose) {
          print('📝 Updated: ${file.path}');
        }
      }
    }
  }
}