From f0125d2dbf24c991a3b4f50a8a28de1aeafaa3ea Mon Sep 17 00:00:00 2001 From: Neil <4138956+nwparker@users.noreply.github.com> Date: Sun, 31 May 2026 02:05:13 -0700 Subject: [PATCH] fix: keep framework route terminal links whole (#4036) --- src/renderer/src/lib/terminal-links.test.ts | 13 +++++++++++++ src/renderer/src/lib/terminal-links.ts | 4 +++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/renderer/src/lib/terminal-links.test.ts b/src/renderer/src/lib/terminal-links.test.ts index 0be24cc3b08..a1d590e3233 100644 --- a/src/renderer/src/lib/terminal-links.test.ts +++ b/src/renderer/src/lib/terminal-links.test.ts @@ -119,6 +119,19 @@ describe('terminal path helpers', () => { }) }) + it('detects framework route paths with bracket and paren segments', () => { + const links = extractTerminalFileLinks( + 'Error in app/(shop)/products/[productId]/page.tsx:42:7' + ) + expect(links).toHaveLength(1) + expect(links[0]).toMatchObject({ + pathText: 'app/(shop)/products/[productId]/page.tsx', + line: 42, + column: 7, + displayText: 'app/(shop)/products/[productId]/page.tsx:42:7' + }) + }) + it('handles large spaced path lists without quadratic overlap scans', () => { const line = Array.from({ length: 20_000 }, () => '/tmp/Foo Bar/file').join(', ') diff --git a/src/renderer/src/lib/terminal-links.ts b/src/renderer/src/lib/terminal-links.ts index e0ab97f0a6e..e9f34ec2689 100644 --- a/src/renderer/src/lib/terminal-links.ts +++ b/src/renderer/src/lib/terminal-links.ts @@ -25,8 +25,10 @@ export type ResolvedTerminalFileLink = Pick