From 7b03a64b8501a736af8e605f399922a14b8feebb Mon Sep 17 00:00:00 2001 From: fuyou Date: Mon, 18 Aug 2025 13:26:34 +0800 Subject: Fix URL truncation in CLI display components #5902 (#5925) --- packages/cli/src/ui/utils/InlineMarkdownRenderer.tsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'packages/cli/src/ui/utils') diff --git a/packages/cli/src/ui/utils/InlineMarkdownRenderer.tsx b/packages/cli/src/ui/utils/InlineMarkdownRenderer.tsx index ff8d6257..4c05a28f 100644 --- a/packages/cli/src/ui/utils/InlineMarkdownRenderer.tsx +++ b/packages/cli/src/ui/utils/InlineMarkdownRenderer.tsx @@ -22,10 +22,15 @@ interface RenderInlineProps { } const RenderInlineInternal: React.FC = ({ text }) => { + // Early return for plain text without markdown or URLs + if (!/[*_~`<[https?:]/.test(text)) { + return {text}; + } + const nodes: React.ReactNode[] = []; let lastIndex = 0; const inlineRegex = - /(\*\*.*?\*\*|\*.*?\*|_.*?_|~~.*?~~|\[.*?\]\(.*?\)|`+.+?`+|.*?<\/u>)/g; + /(\*\*.*?\*\*|\*.*?\*|_.*?_|~~.*?~~|\[.*?\]\(.*?\)|`+.+?`+|.*?<\/u>|https?:\/\/\S+)/g; let match; while ((match = inlineRegex.exec(text)) !== null) { @@ -126,6 +131,12 @@ const RenderInlineInternal: React.FC = ({ text }) => { )} ); + } else if (fullMatch.match(/^https?:\/\//)) { + renderedNode = ( + + {fullMatch} + + ); } } catch (e) { console.error('Error parsing inline markdown part:', fullMatch, e); -- cgit v1.2.3