From ef8ec984894408953cc6e0ea2e46cfeb9c272507 Mon Sep 17 00:00:00 2001
From: Billy Biggs <bbiggs@google.com>
Date: Mon, 14 Jul 2025 05:34:20 +0200
Subject: Add back support for escaping newline with a \ character (#4064)

---
 packages/cli/src/ui/components/InputPrompt.test.tsx | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

(limited to 'packages/cli/src/ui/components/InputPrompt.test.tsx')

diff --git a/packages/cli/src/ui/components/InputPrompt.test.tsx b/packages/cli/src/ui/components/InputPrompt.test.tsx
index ad7a3985..53a2cb0e 100644
--- a/packages/cli/src/ui/components/InputPrompt.test.tsx
+++ b/packages/cli/src/ui/components/InputPrompt.test.tsx
@@ -90,6 +90,7 @@ describe('InputPrompt', () => {
       killLineLeft: vi.fn(),
       openInExternalEditor: vi.fn(),
       newline: vi.fn(),
+      backspace: vi.fn(),
     } as unknown as TextBuffer;
 
     mockShellHistory = {
@@ -527,4 +528,19 @@ describe('InputPrompt', () => {
     expect(props.onSubmit).not.toHaveBeenCalled();
     unmount();
   });
+
+  it('should add a newline on enter when the line ends with a backslash', async () => {
+    props.buffer.setText('first line\\');
+
+    const { stdin, unmount } = render(<InputPrompt {...props} />);
+    await wait();
+
+    stdin.write('\r');
+    await wait();
+
+    expect(props.onSubmit).not.toHaveBeenCalled();
+    expect(props.buffer.backspace).toHaveBeenCalled();
+    expect(props.buffer.newline).toHaveBeenCalled();
+    unmount();
+  });
 });
-- 
cgit v1.2.3

