applyEditToFile function
Apply a single edit to file content.
Implementation
String applyEditToFile(
String originalContent,
String oldString,
String newString, {
bool replaceAll = false,
}) {
if (newString.isNotEmpty) {
return replaceAll
? originalContent.replaceAll(oldString, newString)
: originalContent.replaceFirst(oldString, newString);
}
// When deleting (newString is empty), strip trailing newline if present
final stripTrailingNewline =
!oldString.endsWith('\n') && originalContent.contains('$oldString\n');
if (stripTrailingNewline) {
return replaceAll
? originalContent.replaceAll('$oldString\n', newString)
: originalContent.replaceFirst('$oldString\n', newString);
}
return replaceAll
? originalContent.replaceAll(oldString, newString)
: originalContent.replaceFirst(oldString, newString);
}