bugfix live diffs in wholefile coder

This commit is contained in:
Paul Gauthier 2023-07-11 07:27:49 -07:00
parent c20b1bb073
commit aacbcd32d4

View file

@ -56,7 +56,7 @@ class WholeFileCoder(Coder):
full_path = (Path(self.root) / fname).absolute()
if mode == "diff":
output += self.do_live_diff(full_path, new_lines)
output += self.do_live_diff(full_path, new_lines, True)
elif self.allowed_to_edit(fname):
edited.add(fname)
new_lines = "".join(new_lines)
@ -101,7 +101,7 @@ class WholeFileCoder(Coder):
if fname is not None:
# ending an existing block
full_path = (Path(self.root) / fname).absolute()
output += self.do_live_diff(full_path, new_lines)
output += self.do_live_diff(full_path, new_lines, False)
return "\n".join(output)
if fname:
@ -113,14 +113,14 @@ class WholeFileCoder(Coder):
return edited
def do_live_diff(self, full_path, new_lines):
def do_live_diff(self, full_path, new_lines, final):
if full_path.exists():
orig_lines = self.io.read_text(full_path).splitlines(keepends=True)
show_diff = diffs.diff_partial_update(
orig_lines,
new_lines,
final=True,
final=final,
).splitlines()
output = show_diff
else: