Default to workspace root when dropping into untitled md files (#159814)

Fixes #159812
This commit is contained in:
Matt Bierner 2022-09-01 16:03:40 -07:00 committed by GitHub
parent 07ceed3d09
commit d9fd208c29
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -57,12 +57,12 @@ export async function tryGetUriListSnippet(document: vscode.TextDocument, dataTr
return;
}
const docUri = getParentDocumentUri(document);
const dir = getDocumentDir(document);
const snippet = new vscode.SnippetString();
uris.forEach((uri, i) => {
const mdPath = docUri.scheme === uri.scheme && docUri.authority === uri.authority
? encodeURI(path.relative(URI.Utils.dirname(docUri).fsPath, uri.fsPath).replace(/\\/g, '/'))
const mdPath = dir && dir.scheme === uri.scheme && dir.authority === uri.authority
? encodeURI(path.relative(dir.fsPath, uri.fsPath).replace(/\\/g, '/'))
: uri.toString(false);
const ext = URI.Utils.extname(uri).toLowerCase();
@ -78,6 +78,14 @@ export async function tryGetUriListSnippet(document: vscode.TextDocument, dataTr
return snippet;
}
function getDocumentDir(document: vscode.TextDocument): vscode.Uri | undefined {
const docUri = getParentDocumentUri(document);
if (docUri.scheme === Schemes.untitled) {
return vscode.workspace.workspaceFolders?.[0]?.uri;
}
return URI.Utils.dirname(docUri);
}
function getParentDocumentUri(document: vscode.TextDocument): vscode.Uri {
if (document.uri.scheme === Schemes.notebookCell) {
for (const notebook of vscode.workspace.notebookDocuments) {