diff --git a/extensions/markdown-language-features/src/features/pathCompletions.ts b/extensions/markdown-language-features/src/features/pathCompletions.ts index 0e419a45a19..3ff2dd945c9 100644 --- a/extensions/markdown-language-features/src/features/pathCompletions.ts +++ b/extensions/markdown-language-features/src/features/pathCompletions.ts @@ -269,9 +269,13 @@ export class PathCompletionProvider implements vscode.CompletionItemProvider { } try { - return document.uri.with({ - path: resolve(dirname(document.uri.path), ref), - }); + if (document.uri.scheme === 'file') { + return vscode.Uri.file(resolve(dirname(document.uri.fsPath), ref)); + } else { + return document.uri.with({ + path: resolve(dirname(document.uri.path), ref), + }); + } } catch (e) { return undefined; } diff --git a/extensions/markdown-language-features/src/test/pathCompletion.test.ts b/extensions/markdown-language-features/src/test/pathCompletion.test.ts index c950ca4da54..6f7365116ab 100644 --- a/extensions/markdown-language-features/src/test/pathCompletion.test.ts +++ b/extensions/markdown-language-features/src/test/pathCompletion.test.ts @@ -26,8 +26,7 @@ function getCompletionsAtCursor(resource: vscode.Uri, fileContents: string) { }); } - -suite.skip('Markdown path completion provider', () => { +suite('Markdown path completion provider', () => { setup(async () => { // These tests assume that the markdown completion provider is already registered