feat: Add support for scanning and yielding ```bash blocks in find_original_update_blocks

This commit is contained in:
Paul Gauthier (aider) 2024-08-20 13:26:27 -07:00
parent 8b81d4fd45
commit 9dea3f48cb

View file

@ -406,6 +406,16 @@ def find_original_update_blocks(content, fence=DEFAULT_FENCE):
while pieces:
cur = pieces.pop()
# Check for ```bash blocks
if cur.strip().startswith("```bash"):
bash_content = []
while pieces and not pieces[-1].strip().startswith("```"):
bash_content.append(pieces.pop())
if pieces and pieces[-1].strip().startswith("```"):
pieces.pop() # Remove the closing ```
yield "bash_command", "".join(bash_content), ""
continue
if cur in (DIVIDER, UPDATED):
processed.append(cur)
raise ValueError(f"Unexpected {cur}")