addImportAndChangesInFile method
Implementation
Future<void> addImportAndChangesInFile({
required String filePath,
required List<String> importStatements,
required List<String> methodCalls,
}) async {
final file = File(filePath);
final lines = await file.readAsLines();
int lastImportIndex = -1;
for (int i = 0; i < lines.length; i++) {
if (lines[i].startsWith("$kImport ")) {
lastImportIndex = i;
} else {
break;
}
}
if (lastImportIndex != -1) {
if (importStatements.isNotEmpty) {
lines.insertAll(lastImportIndex + 1, importStatements);
}
int completionIndex = -1;
for (int i = 0; i < lines.length; i++) {
if (lines[i].trim() == '}') {
completionIndex = i;
}
}
if (completionIndex != -1) {
if (methodCalls.isNotEmpty) {
lines.insertAll(completionIndex, methodCalls);
}
await file.writeAsString(lines.join('\n'));
}
}
}