mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-30 09:14:59 +00:00
Attempt to quote diffs safely
This commit is contained in:
parent
e5ad9d501f
commit
0520981135
1 changed files with 7 additions and 6 deletions
|
@ -80,22 +80,23 @@ def diff_partial_update(lines_orig, lines_updated, final=False, fname=None):
|
||||||
|
|
||||||
diff = list(diff)[2:]
|
diff = list(diff)[2:]
|
||||||
|
|
||||||
# TODO find the longest string of ` that start a line
|
|
||||||
max_backticks = max(len(line) - len(line.lstrip("`")) for line in diff.splitlines())
|
|
||||||
extra_backticks = "`" * (max_backticks + 1)
|
|
||||||
|
|
||||||
diff = "".join(diff)
|
diff = "".join(diff)
|
||||||
if not diff.endswith("\n"):
|
if not diff.endswith("\n"):
|
||||||
diff += "\n"
|
diff += "\n"
|
||||||
|
|
||||||
show = f"{extra_backticks}diff\n"
|
for i in range(3, 10):
|
||||||
|
backticks = "`" * i
|
||||||
|
if backticks not in diff:
|
||||||
|
break
|
||||||
|
|
||||||
|
show = f"{backticks}diff\n"
|
||||||
if fname:
|
if fname:
|
||||||
show += f"--- {fname} original\n"
|
show += f"--- {fname} original\n"
|
||||||
show += f"+++ {fname} updated\n"
|
show += f"+++ {fname} updated\n"
|
||||||
if not final:
|
if not final:
|
||||||
show += bar
|
show += bar
|
||||||
|
|
||||||
show += diff + f"{extra_backticks}\n\n"
|
show += diff + f"{backticks}\n\n"
|
||||||
|
|
||||||
# print(diff)
|
# print(diff)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue