aboutsummaryrefslogtreecommitdiff
path: root/editors/code/src/debug.ts
diff options
context:
space:
mode:
authorZac Pullar-Strecker <[email protected]>2020-08-24 10:19:53 +0100
committerZac Pullar-Strecker <[email protected]>2020-08-24 10:20:13 +0100
commit7bbca7a1b3f9293d2f5cc5745199bc5f8396f2f0 (patch)
treebdb47765991cb973b2cd5481a088fac636bd326c /editors/code/src/debug.ts
parentca464650eeaca6195891199a93f4f76cf3e7e697 (diff)
parente65d48d1fb3d4d91d9dc1148a7a836ff5c9a3c87 (diff)
Merge remote-tracking branch 'upstream/master' into 503-hover-doc-links
Diffstat (limited to 'editors/code/src/debug.ts')
-rw-r--r--editors/code/src/debug.ts12
1 files changed, 10 insertions, 2 deletions
diff --git a/editors/code/src/debug.ts b/editors/code/src/debug.ts
index bd92c5b6d..925126a16 100644
--- a/editors/code/src/debug.ts
+++ b/editors/code/src/debug.ts
@@ -87,9 +87,17 @@ async function getDebugConfiguration(ctx: Ctx, runnable: ra.Runnable): Promise<v
87 debugOutput.show(true); 87 debugOutput.show(true);
88 } 88 }
89 89
90 const wsFolder = path.normalize(vscode.workspace.workspaceFolders![0].uri.fsPath); // folder exists or RA is not active. 90 const isMultiFolderWorkspace = vscode.workspace.workspaceFolders!.length > 1;
91 const firstWorkspace = vscode.workspace.workspaceFolders![0]; // folder exists or RA is not active.
92 const workspace = !isMultiFolderWorkspace || !runnable.args.workspaceRoot ?
93 firstWorkspace :
94 vscode.workspace.workspaceFolders!.find(w => runnable.args.workspaceRoot?.includes(w.uri.fsPath)) || firstWorkspace;
95
96 const wsFolder = path.normalize(workspace.uri.fsPath);
97 const workspaceQualifier = isMultiFolderWorkspace ? `:${workspace.name}` : '';
91 function simplifyPath(p: string): string { 98 function simplifyPath(p: string): string {
92 return path.normalize(p).replace(wsFolder, '${workspaceRoot}'); 99 // see https://github.com/rust-analyzer/rust-analyzer/pull/5513#issuecomment-663458818 for why this is needed
100 return path.normalize(p).replace(wsFolder, '${workspaceFolder' + workspaceQualifier + '}');
93 } 101 }
94 102
95 const executable = await getDebugExecutable(runnable); 103 const executable = await getDebugExecutable(runnable);