From 05209811355a98a86c0860d71f18b0f39c2703d7 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sun, 25 Jun 2023 20:42:47 -0700 Subject: [PATCH] Attempt to quote diffs safely --- aider/diffs.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/aider/diffs.py b/aider/diffs.py index 0c4763c64..4de55b924 100644 --- a/aider/diffs.py +++ b/aider/diffs.py @@ -80,22 +80,23 @@ def diff_partial_update(lines_orig, lines_updated, final=False, fname=None): 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) if not diff.endswith("\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: show += f"--- {fname} original\n" show += f"+++ {fname} updated\n" if not final: show += bar - show += diff + f"{extra_backticks}\n\n" + show += diff + f"{backticks}\n\n" # print(diff)