diff options
| author | Aleksey Kladov <aleksey.kladov@gmail.com> | 2020-05-08 09:28:15 +0200 |
|---|---|---|
| committer | Aleksey Kladov <aleksey.kladov@gmail.com> | 2020-05-08 09:28:15 +0200 |
| commit | 3bf5ef02c0dc3087fb4cdd0a794892edde359a0d (patch) | |
| tree | fa8ea51758c8a8416762431a4e0c8c812a694469 /editors/code | |
| parent | 6f2f9049dad24681a5e785555f975bfed8138d45 (diff) | |
| download | rust-3bf5ef02c0dc3087fb4cdd0a794892edde359a0d.tar.gz rust-3bf5ef02c0dc3087fb4cdd0a794892edde359a0d.zip | |
Add master config for inlayHints to make disabling easy
Diffstat (limited to 'editors/code')
| -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 6935fa7a5ae..853fc513b08 100644 --- a/editors/code/package.json +++ b/editors/code/package.json @@ -300,6 +300,11 @@ "default": true, "markdownDescription": "Check with all features (will be passed as `--all-features`)" }, + "rust-analyzer.inlayHints.enable": { + "type": "boolean", + "default": true, + "description": "Disable all inlay hints" + }, "rust-analyzer.inlayHints.typeHints": { "type": "boolean", "default": true, 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(); |
