From 8acfd0ae6019b40fa8f460aebed895afb6bb0d6e Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Fri, 24 Jun 2022 14:42:00 -0700 Subject: [PATCH] Exclude empty links from md results (#153161) These are technically valid links but we don't care about them since they take up no space --- .../src/languageFeatures/documentLinks.ts | 2 +- .../src/test/documentLinkProvider.test.ts | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/extensions/markdown-language-features/src/languageFeatures/documentLinks.ts b/extensions/markdown-language-features/src/languageFeatures/documentLinks.ts index c354bad83f0..8c322ce9756 100644 --- a/extensions/markdown-language-features/src/languageFeatures/documentLinks.ts +++ b/extensions/markdown-language-features/src/languageFeatures/documentLinks.ts @@ -219,7 +219,7 @@ const linkPattern = new RegExp( r`\(\s*)` + // <-- close prefix match /**/r`(` + /*****/r`[^\s\(\)\<](?:[^\s\(\)]|\([^\s\(\)]*?\))*|` + // Link without whitespace, or... - /*****/r`<[^<>]*>` + // In angle brackets + /*****/r`<[^<>]+>` + // In angle brackets /**/r`)` + // Title diff --git a/extensions/markdown-language-features/src/test/documentLinkProvider.test.ts b/extensions/markdown-language-features/src/test/documentLinkProvider.test.ts index 1a53e409362..17304f59868 100644 --- a/extensions/markdown-language-features/src/test/documentLinkProvider.test.ts +++ b/extensions/markdown-language-features/src/test/documentLinkProvider.test.ts @@ -461,6 +461,17 @@ suite('Markdown: MdLinkComputer', () => { new vscode.Range(5, 7, 5, 17), ]); }); + + test('Should not include link with empty angle bracket', async () => { + const links = await getLinksForFile(joinLines( + `[](<>)`, + `[link](<>)`, + `[link](<> "text")`, + `[link](<> 'text')`, + `[link](<> (text))`, + )); + assertLinksEqual(links, []); + }); });