about summary refs log tree commit diff
path: root/editors/code/src/client.ts
diff options
context:
space:
mode:
authorDavid Barsky <me@davidbarsky.com>2023-03-10 19:35:05 -0500
committerDavid Barsky <me@davidbarsky.com>2023-03-13 13:30:19 -0400
commit8d9bff0c74518d514d59a1638e4717f14caa1d71 (patch)
tree03af8d47e23c64e857a15784aeed2cd67975811f /editors/code/src/client.ts
parent91371494eec262d6e8966f905497ee2e3c384181 (diff)
downloadrust-8d9bff0c74518d514d59a1638e4717f14caa1d71.tar.gz
rust-8d9bff0c74518d514d59a1638e4717f14caa1d71.zip
Add a workspace config-based approach to reloading discovered projects.
Diffstat (limited to 'editors/code/src/client.ts')
-rw-r--r--editors/code/src/client.ts8
1 files changed, 5 insertions, 3 deletions
diff --git a/editors/code/src/client.ts b/editors/code/src/client.ts
index 62980ca0464..9103ef2f8fd 100644
--- a/editors/code/src/client.ts
+++ b/editors/code/src/client.ts
@@ -3,10 +3,10 @@ import * as lc from "vscode-languageclient/node";
 import * as vscode from "vscode";
 import * as ra from "../src/lsp_ext";
 import * as Is from "vscode-languageclient/lib/common/utils/is";
-import { assert } from "./util";
+import { assert, log } from "./util";
 import * as diagnostics from "./diagnostics";
 import { WorkspaceEdit } from "vscode";
-import { Config, substituteVSCodeVariables } from "./config";
+import { Config, prepareVSCodeConfig } from "./config";
 import { randomUUID } from "crypto";
 
 export interface Env {
@@ -95,7 +95,9 @@ export async function createClient(
                     const resp = await next(params, token);
                     if (resp && Array.isArray(resp)) {
                         return resp.map((val) => {
-                            return substituteVSCodeVariables(val);
+                            return prepareVSCodeConfig(val, (key, cfg) => {
+                                cfg[key] = config.discoveredWorkspaces;
+                            });
                         });
                     } else {
                         return resp;