Refactor: Replace MarkdownRenderer with MarkdownDisplay component

- This commit refactors the Markdown rendering logic within the CLI UI.
  The existing `MarkdownRenderer.tsx` class-based component has been
  replaced with a new functional component `MarkdownDisplay.tsx`.
- The `MarkdownDisplay` component is a React.memoized component for
  improved performance and maintains the same core Markdown parsing
  and rendering capabilities.
This commit is contained in:
Taylor Mullen
2025-05-15 00:36:08 -07:00
committed by N. Taylor Mullen
parent 59e8fcb409
commit 6cb6f47b56
5 changed files with 307 additions and 377 deletions

View File

@@ -10,7 +10,7 @@ import Spinner from 'ink-spinner';
import { IndividualToolCallDisplay, ToolCallStatus } from '../../types.js';
import { DiffRenderer } from './DiffRenderer.js';
import { Colors } from '../../colors.js';
import { MarkdownRenderer } from '../../utils/MarkdownRenderer.js';
import { MarkdownDisplay } from '../../utils/MarkdownDisplay.js';
export const ToolMessage: React.FC<IndividualToolCallDisplay> = ({
name,
@@ -60,7 +60,7 @@ export const ToolMessage: React.FC<IndividualToolCallDisplay> = ({
{/* Use default text color (white) or gray instead of dimColor */}
{typeof resultDisplay === 'string' && (
<Box flexDirection="column">
{MarkdownRenderer.render(resultDisplay)}
<MarkdownDisplay text={resultDisplay} />
</Box>
)}
{typeof resultDisplay === 'object' && (