diff options
| author | bors <bors@rust-lang.org> | 2024-10-21 14:11:33 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-10-21 14:11:33 +0000 |
| commit | 87f4dad8dcab8b038e8e1a460c939accceb316fd (patch) | |
| tree | c164e4b4906943d7c69f6687db3a0a8ac4daf105 | |
| parent | 0d6202dd4515b05023f9c88aa6a098374fe9cbcd (diff) | |
| parent | 4dd2af5113c975f865da460f166ea0809cf51c3b (diff) | |
| download | rust-87f4dad8dcab8b038e8e1a460c939accceb316fd.tar.gz rust-87f4dad8dcab8b038e8e1a460c939accceb316fd.zip | |
Auto merge of #18359 - Daanoz:support-initializeStopped, r=Veykril
feat: support initializeStopped setting See #18356 Add option to start rust-analyzer in "stopped" state when the extension activates.
| -rw-r--r-- | src/tools/rust-analyzer/editors/code/package.json | 5 | ||||
| -rw-r--r-- | src/tools/rust-analyzer/editors/code/src/config.ts | 4 | ||||
| -rw-r--r-- | src/tools/rust-analyzer/editors/code/src/main.ts | 9 |
3 files changed, 17 insertions, 1 deletions
diff --git a/src/tools/rust-analyzer/editors/code/package.json b/src/tools/rust-analyzer/editors/code/package.json index 70bb5f2447a..e55eceff781 100644 --- a/src/tools/rust-analyzer/editors/code/package.json +++ b/src/tools/rust-analyzer/editors/code/package.json @@ -349,6 +349,11 @@ "markdownDescription": "Whether to show the test explorer.", "default": false, "type": "boolean" + }, + "rust-analyzer.initializeStopped": { + "markdownDescription": "Do not start rust-analyzer server when the extension is activated.", + "default": false, + "type": "boolean" } } }, diff --git a/src/tools/rust-analyzer/editors/code/src/config.ts b/src/tools/rust-analyzer/editors/code/src/config.ts index abb4099f9f5..67bc72f1e12 100644 --- a/src/tools/rust-analyzer/editors/code/src/config.ts +++ b/src/tools/rust-analyzer/editors/code/src/config.ts @@ -330,6 +330,10 @@ export class Config { get statusBarClickAction() { return this.get<string>("statusBar.clickAction"); } + + get initializeStopped() { + return this.get<boolean>("initializeStopped"); + } } export function prepareVSCodeConfig<T>(resp: T): T { diff --git a/src/tools/rust-analyzer/editors/code/src/main.ts b/src/tools/rust-analyzer/editors/code/src/main.ts index 0ddc5619e99..fdf43f66f94 100644 --- a/src/tools/rust-analyzer/editors/code/src/main.ts +++ b/src/tools/rust-analyzer/editors/code/src/main.ts @@ -107,7 +107,14 @@ async function activateServer(ctx: Ctx): Promise<RustAnalyzerExtensionApi> { initializeDebugSessionTrackingAndRebuild(ctx); } - await ctx.start(); + if (ctx.config.initializeStopped) { + ctx.setServerStatus({ + health: "stopped", + }); + } else { + await ctx.start(); + } + return ctx; } |
