about summary refs log tree commit diff
path: root/editors/code/src
diff options
context:
space:
mode:
authorAleksey Kladov <aleksey.kladov@gmail.com>2020-05-08 09:28:15 +0200
committerAleksey Kladov <aleksey.kladov@gmail.com>2020-05-08 09:28:15 +0200
commit3bf5ef02c0dc3087fb4cdd0a794892edde359a0d (patch)
treefa8ea51758c8a8416762431a4e0c8c812a694469 /editors/code/src
parent6f2f9049dad24681a5e785555f975bfed8138d45 (diff)
downloadrust-3bf5ef02c0dc3087fb4cdd0a794892edde359a0d.tar.gz
rust-3bf5ef02c0dc3087fb4cdd0a794892edde359a0d.zip
Add master config for inlayHints to make disabling easy
Diffstat (limited to 'editors/code/src')
-rw-r--r--editors/code/src/config.ts1
-rw-r--r--editors/code/src/inlay_hints.ts14
2 files changed, 8 insertions, 7 deletions
diff --git a/editors/code/src/config.ts b/editors/code/src/config.ts
index 110e541800e..46de922f337 100644
--- a/editors/code/src/config.ts
+++ b/editors/code/src/config.ts
@@ -94,6 +94,7 @@ export class Config {
 
     get inlayHints() {
         return {
+            enable: this.get<boolean>("inlayHints.enable"),
             typeHints: this.get<boolean>("inlayHints.typeHints"),
             parameterHints: this.get<boolean>("inlayHints.parameterHints"),
             chainingHints: this.get<boolean>("inlayHints.chainingHints"),
diff --git a/editors/code/src/inlay_hints.ts b/editors/code/src/inlay_hints.ts
index a0953179706..a2b07d00378 100644
--- a/editors/code/src/inlay_hints.ts
+++ b/editors/code/src/inlay_hints.ts
@@ -10,13 +10,13 @@ export function activateInlayHints(ctx: Ctx) {
     const maybeUpdater = {
         updater: null as null | HintsUpdater,
         async onConfigChange() {
-            if (
-                !ctx.config.inlayHints.typeHints &&
-                !ctx.config.inlayHints.parameterHints &&
-                !ctx.config.inlayHints.chainingHints
-            ) {
-                return this.dispose();
-            }
+            const anyEnabled = ctx.config.inlayHints.typeHints
+                || ctx.config.inlayHints.parameterHints
+                || ctx.config.inlayHints.chainingHints;
+            const enabled = ctx.config.inlayHints.enable && anyEnabled;
+
+            if (!enabled) return this.dispose();
+
             await sleep(100);
             if (this.updater) {
                 this.updater.syncCacheAndRenderHints();