diff options
| author | hecatia-elegua <108802164+hecatia-elegua@users.noreply.github.com> | 2023-04-11 21:14:52 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-11 21:14:52 +0200 |
| commit | 398af0259f7614ff8a0d603edd5d94ce9aecd5f2 (patch) | |
| tree | 207fc25b5c6d73d5c7833fab11d24d2fa5a837d7 /editors/code/src/ctx.ts | |
| parent | 33ee157f3b05865984957953df21f4711f8e5cd6 (diff) | |
| parent | 7501d3b721560637e27f904d9fce79182c41bef7 (diff) | |
| download | rust-398af0259f7614ff8a0d603edd5d94ce9aecd5f2.tar.gz rust-398af0259f7614ff8a0d603edd5d94ce9aecd5f2.zip | |
Merge branch 'master' into alias-based-completion2
Diffstat (limited to 'editors/code/src/ctx.ts')
| -rw-r--r-- | editors/code/src/ctx.ts | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/editors/code/src/ctx.ts b/editors/code/src/ctx.ts index dd74b31cc71..0ffa42c2a5a 100644 --- a/editors/code/src/ctx.ts +++ b/editors/code/src/ctx.ts @@ -1,6 +1,7 @@ import * as vscode from "vscode"; import * as lc from "vscode-languageclient/node"; import * as ra from "./lsp_ext"; +import * as path from "path"; import { Config, prepareVSCodeConfig } from "./config"; import { createClient } from "./client"; @@ -192,12 +193,13 @@ export class Ctx { const discoverProjectCommand = this.config.discoverProjectCommand; if (discoverProjectCommand) { const workspaces: JsonProject[] = await Promise.all( - vscode.workspace.workspaceFolders!.map(async (folder): Promise<JsonProject> => { - const rustDocuments = vscode.workspace.textDocuments.filter(isRustDocument); - return discoverWorkspace(rustDocuments, discoverProjectCommand, { - cwd: folder.uri.fsPath, - }); - }) + vscode.workspace.textDocuments + .filter(isRustDocument) + .map(async (file): Promise<JsonProject> => { + return discoverWorkspace([file], discoverProjectCommand, { + cwd: path.dirname(file.uri.fsPath), + }); + }) ); this.addToDiscoveredWorkspaces(workspaces); |
