diff options
author | Dmitry <[email protected]> | 2020-08-09 14:35:51 +0100 |
---|---|---|
committer | Dmitry <[email protected]> | 2020-08-09 14:39:32 +0100 |
commit | 8068302fefc75440b823f4bf1731a5f347d7c767 (patch) | |
tree | 251b967182e79bc82a58c2fb208c688f6152df1f /editors/code/src/debug.ts | |
parent | 1a43a0f63e0008787225abb6fb2baef97b6a39e0 (diff) | |
parent | 8a57afe5a4bfab40072a83f7dc4ca560bf860919 (diff) |
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'editors/code/src/debug.ts')
-rw-r--r-- | editors/code/src/debug.ts | 12 |
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); |