edit method
Replaces oldString with newString in path. When replaceAll is
false exactly one occurrence must match. When atLine is given, the match
must occur on that 1-based line or the edit is rejected.
Implementation
@override
Future<RepoEdit> edit(
String path,
String oldString,
String newString, {
bool replaceAll = false,
int? atLine,
}) async => RepoEdit.fromJson(
await _callMap(Op.edit, {
'path': path,
'oldString': oldString,
'newString': newString,
'replaceAll': replaceAll,
'atLine': ?atLine,
}),
);