diff --git a/packages/cli/src/ui/components/messages/GeminiMessage.test.tsx b/packages/cli/src/ui/components/messages/GeminiMessage.test.tsx index 06a551554a..e8209d884d 100644 --- a/packages/cli/src/ui/components/messages/GeminiMessage.test.tsx +++ b/packages/cli/src/ui/components/messages/GeminiMessage.test.tsx @@ -46,4 +46,21 @@ describe(' - Raw Markdown Display Snapshots', () => { expect(lastFrame()).toMatchSnapshot(); }, ); + + it('wraps long lines correctly in raw markdown mode', () => { + const terminalWidth = 20; + const text = + 'This is a long line that should wrap correctly without truncation'; + const { lastFrame } = renderWithProviders( + , + { + uiState: { renderMarkdown: false, streamingState: StreamingState.Idle }, + }, + ); + expect(lastFrame()).toMatchSnapshot(); + }); }); diff --git a/packages/cli/src/ui/components/messages/GeminiMessage.tsx b/packages/cli/src/ui/components/messages/GeminiMessage.tsx index 95e392dab7..3c17a3850f 100644 --- a/packages/cli/src/ui/components/messages/GeminiMessage.tsx +++ b/packages/cli/src/ui/components/messages/GeminiMessage.tsx @@ -47,7 +47,7 @@ export const GeminiMessage: React.FC = ({ ? undefined : Math.max(availableTerminalHeight - 1, 1) } - terminalWidth={terminalWidth} + terminalWidth={Math.max(terminalWidth - prefixWidth, 0)} renderMarkdown={renderMarkdown} /> = ({ ? undefined : Math.max(availableTerminalHeight - 1, 1) } - terminalWidth={terminalWidth} + terminalWidth={Math.max(terminalWidth - prefixWidth, 0)} renderMarkdown={renderMarkdown} /> - Raw Markdown Display Snapshots > renders with rende 1 const x = 1; " `; + +exports[` - Raw Markdown Display Snapshots > wraps long lines correctly in raw markdown mode 1`] = ` +"✦ This is a long + line that should + wrap correctly + without + truncation +" +`;