Change:
Issue Type: <bBug</bTrigger path suggestions inside a markdown link that uses angle brackets: Bug No suggestions show up VS Code version: Code - Insiders 1.69.0-insider (Universal) (, 2022-06-17T05:16:27.373Z) OS version: Darwin x64 21.5.0 Restricted Mode: No <details<summarySystem Info</summary </details<!-- generated by issue reporter --
Relevant code:
So I'm new to this project. Do I ask if I can be assigned this bug? Or is it whoever submits an solution first makes the pull request?
You can ask, I am currently working on this now - but you can try as well.
Alright thanks. So in general I can just work on a problem that catches my attention and ask/answer questions when appropriate?
Yes pretty much, you can work on any problem or issue that you would like.
What specifically is the bug here? Is the desired behavior where when you type a list of path links should appear?
Yes, it should work the same way it does if you remove the from the link One extra note: spaces should not be encoded inside links so for extra points make accepting a file suggestion with spaces in the name inserts a real space instead of
How do I recompile typescript files so vscode reflects the changes I made? Is it or ?
Is this the behavior you were looking for?

Discussion:
* Info if the link looks like it is for an anchor: `[](#header)` */ readonly anchorInfo?: AnchorContext; <ins> /** * Indicates that the completion does not require encoding. */ readonly skipEncoding?: boolean; </ins> } function tryDecodeUriComponent(str: string): string {

} /// [...](...| <del> private readonly linkStartPattern = /[([^]]*?)](s*([^s()]*)$/; </del> <ins> private readonly linkStartPattern = /[([^]]*?)](s*(<[^>)]*|[^s()]*)$/; </ins> /// [...][...| private readonly referenceLinkStartPattern = /[([^]]*?)][s*([^s()]*)$/;

const linkPrefixMatch = linePrefixText.match(this.linkStartPattern); if (linkPrefixMatch) { <del> const prefix = linkPrefixMatch[2]; </del> <ins> const isAngleBracketLink = linkPrefixMatch[2].startsWith('<'); const prefix = linkPrefixMatch[2].slice(isAngleBracketLink ? 1 : 0); </ins> if (this.refLooksLikeUrl(prefix)) { return undefined; } <del> const suffix = lineSuffixText.match(/^[^)s]*/); </del> <ins> const suffix = lineSuffixText.match(/^[^)s][^)s>]*/); </ins> return { kind: CompletionContextKind.Link, linkPrefix: tryDecodeUriComponent(prefix), linkTextStartPosition: position.translate({ characterDelta: -prefix.length }), linkSuffix: suffix ? suffix[0] : '', anchorInfo: this.getAnchorContext(prefix), <ins> skipEncoding: isAngleBracketLink, </ins> }; }

const isDir = type === vscode.FileType.Directory; yield { label: isDir ? name + '/' : name, <del> insertText: isDir ? encodeURIComponent(name) + '/' : encodeURIComponent(name), </del> <ins> insertText: (context.skipEncoding ? name : encodeURIComponent(name)) + (isDir ? '/' : ''), </ins> kind: isDir ? vscode.CompletionItemKind.Folder : vscode.CompletionItemKind.File, range: { inserting: insertRange,

assert.ok(completions.some(x => x.insertText === 'file%20with%20space.md'), 'Has encoded path completion'); }); <ins> test('Should support completions on angle bracket path with spaces', async () => { const completions = await getCompletionsAtCursor(workspacePath('new.md'), joinLines( `[](</sub with space/${CURSOR}` )); assert.ok(completions.some(x => x.insertText === 'file.md'), 'Has path completion'); }); test('Should not escape spaces in path names that use angle brackets', async () => { { const completions = await getCompletionsAtCursor(workspacePath('new.md'), joinLines( `[](<./sub/${CURSOR}` )); assert.ok(completions.some(x => x.insertText === 'file with space.md'), 'Has encoded path completion'); } { const completions = await getCompletionsAtCursor(workspacePath('new.md'), joinLines( `[](<./sub/${CURSOR}>` )); assert.ok(completions.some(x => x.insertText === 'file with space.md'), 'Has encoded path completion'); } }); </ins> test('Should complete paths for path with encoded spaces', async () => { const completions = await getCompletionsAtCursor(workspacePath('new.md'), joinLines( `[](./sub%20with%20space/${CURSOR})`