diff --git a/aider/coders/editblock_coder.py b/aider/coders/editblock_coder.py index 781b1530c..8f22fcc02 100644 --- a/aider/coders/editblock_coder.py +++ b/aider/coders/editblock_coder.py @@ -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}")