diff options
-rw-r--r-- | editors/code/package.json | 5 | ||||
-rw-r--r-- | editors/code/src/config.ts | 1 | ||||
-rw-r--r-- | editors/code/src/inlay_hints.ts | 14 |
3 files changed, 13 insertions, 7 deletions
diff --git a/editors/code/package.json b/editors/code/package.json index 6935fa7a5..853fc513b 100644 --- a/editors/code/package.json +++ b/editors/code/package.json | |||
@@ -300,6 +300,11 @@ | |||
300 | "default": true, | 300 | "default": true, |
301 | "markdownDescription": "Check with all features (will be passed as `--all-features`)" | 301 | "markdownDescription": "Check with all features (will be passed as `--all-features`)" |
302 | }, | 302 | }, |
303 | "rust-analyzer.inlayHints.enable": { | ||
304 | "type": "boolean", | ||
305 | "default": true, | ||
306 | "description": "Disable all inlay hints" | ||
307 | }, | ||
303 | "rust-analyzer.inlayHints.typeHints": { | 308 | "rust-analyzer.inlayHints.typeHints": { |
304 | "type": "boolean", | 309 | "type": "boolean", |
305 | "default": true, | 310 | "default": true, |
diff --git a/editors/code/src/config.ts b/editors/code/src/config.ts index 110e54180..46de922f3 100644 --- a/editors/code/src/config.ts +++ b/editors/code/src/config.ts | |||
@@ -94,6 +94,7 @@ export class Config { | |||
94 | 94 | ||
95 | get inlayHints() { | 95 | get inlayHints() { |
96 | return { | 96 | return { |
97 | enable: this.get<boolean>("inlayHints.enable"), | ||
97 | typeHints: this.get<boolean>("inlayHints.typeHints"), | 98 | typeHints: this.get<boolean>("inlayHints.typeHints"), |
98 | parameterHints: this.get<boolean>("inlayHints.parameterHints"), | 99 | parameterHints: this.get<boolean>("inlayHints.parameterHints"), |
99 | chainingHints: this.get<boolean>("inlayHints.chainingHints"), | 100 | chainingHints: this.get<boolean>("inlayHints.chainingHints"), |
diff --git a/editors/code/src/inlay_hints.ts b/editors/code/src/inlay_hints.ts index a09531797..a2b07d003 100644 --- a/editors/code/src/inlay_hints.ts +++ b/editors/code/src/inlay_hints.ts | |||
@@ -10,13 +10,13 @@ export function activateInlayHints(ctx: Ctx) { | |||
10 | const maybeUpdater = { | 10 | const maybeUpdater = { |
11 | updater: null as null | HintsUpdater, | 11 | updater: null as null | HintsUpdater, |
12 | async onConfigChange() { | 12 | async onConfigChange() { |
13 | if ( | 13 | const anyEnabled = ctx.config.inlayHints.typeHints |
14 | !ctx.config.inlayHints.typeHints && | 14 | || ctx.config.inlayHints.parameterHints |
15 | !ctx.config.inlayHints.parameterHints && | 15 | || ctx.config.inlayHints.chainingHints; |
16 | !ctx.config.inlayHints.chainingHints | 16 | const enabled = ctx.config.inlayHints.enable && anyEnabled; |
17 | ) { | 17 | |
18 | return this.dispose(); | 18 | if (!enabled) return this.dispose(); |
19 | } | 19 | |
20 | await sleep(100); | 20 | await sleep(100); |
21 | if (this.updater) { | 21 | if (this.updater) { |
22 | this.updater.syncCacheAndRenderHints(); | 22 | this.updater.syncCacheAndRenderHints(); |