diff options
Diffstat (limited to 'editors/code/src')
-rw-r--r-- | editors/code/src/client.ts | 2 | ||||
-rw-r--r-- | editors/code/src/config.ts | 18 | ||||
-rw-r--r-- | editors/code/src/inlay_hints.ts | 2 |
3 files changed, 17 insertions, 5 deletions
diff --git a/editors/code/src/client.ts b/editors/code/src/client.ts index 6ce3b9235..e9f261c24 100644 --- a/editors/code/src/client.ts +++ b/editors/code/src/client.ts | |||
@@ -29,7 +29,7 @@ export async function createClient(config: Config, serverPath: string): Promise< | |||
29 | initializationOptions: { | 29 | initializationOptions: { |
30 | publishDecorations: !config.highlightingSemanticTokens, | 30 | publishDecorations: !config.highlightingSemanticTokens, |
31 | lruCapacity: config.lruCapacity, | 31 | lruCapacity: config.lruCapacity, |
32 | maxInlayHintLength: config.maxInlayHintLength, | 32 | inlayHints: config.inlayHints, |
33 | cargoWatchEnable: cargoWatchOpts.enable, | 33 | cargoWatchEnable: cargoWatchOpts.enable, |
34 | cargoWatchArgs: cargoWatchOpts.arguments, | 34 | cargoWatchArgs: cargoWatchOpts.arguments, |
35 | cargoWatchCommand: cargoWatchOpts.command, | 35 | cargoWatchCommand: cargoWatchOpts.command, |
diff --git a/editors/code/src/config.ts b/editors/code/src/config.ts index 3ade7e900..6db073bec 100644 --- a/editors/code/src/config.ts +++ b/editors/code/src/config.ts | |||
@@ -5,6 +5,12 @@ import { log } from "./util"; | |||
5 | 5 | ||
6 | const RA_LSP_DEBUG = process.env.__RA_LSP_SERVER_DEBUG; | 6 | const RA_LSP_DEBUG = process.env.__RA_LSP_SERVER_DEBUG; |
7 | 7 | ||
8 | export interface InlayHintOptions { | ||
9 | typeHints: boolean; | ||
10 | parameterHints: boolean; | ||
11 | maxLength: number | null; | ||
12 | } | ||
13 | |||
8 | export interface CargoWatchOptions { | 14 | export interface CargoWatchOptions { |
9 | enable: boolean; | 15 | enable: boolean; |
10 | arguments: string[]; | 16 | arguments: string[]; |
@@ -22,7 +28,8 @@ export class Config { | |||
22 | private static readonly requiresReloadOpts = [ | 28 | private static readonly requiresReloadOpts = [ |
23 | "cargoFeatures", | 29 | "cargoFeatures", |
24 | "cargo-watch", | 30 | "cargo-watch", |
25 | "highlighting.semanticTokens" | 31 | "highlighting.semanticTokens", |
32 | "inlayHints", | ||
26 | ] | 33 | ] |
27 | .map(opt => `${Config.rootSection}.${opt}`); | 34 | .map(opt => `${Config.rootSection}.${opt}`); |
28 | 35 | ||
@@ -149,8 +156,13 @@ export class Config { | |||
149 | get highlightingOn() { return this.cfg.get("highlightingOn") as boolean; } | 156 | get highlightingOn() { return this.cfg.get("highlightingOn") as boolean; } |
150 | get rainbowHighlightingOn() { return this.cfg.get("rainbowHighlightingOn") as boolean; } | 157 | get rainbowHighlightingOn() { return this.cfg.get("rainbowHighlightingOn") as boolean; } |
151 | get lruCapacity() { return this.cfg.get("lruCapacity") as null | number; } | 158 | get lruCapacity() { return this.cfg.get("lruCapacity") as null | number; } |
152 | get displayInlayHints() { return this.cfg.get("displayInlayHints") as boolean; } | 159 | get inlayHints(): InlayHintOptions { |
153 | get maxInlayHintLength() { return this.cfg.get("maxInlayHintLength") as number; } | 160 | return { |
161 | typeHints: this.cfg.get("inlayHints.typeHints") as boolean, | ||
162 | parameterHints: this.cfg.get("inlayHints.parameterHints") as boolean, | ||
163 | maxLength: this.cfg.get("inlayHints.maxLength") as null | number, | ||
164 | }; | ||
165 | } | ||
154 | get excludeGlobs() { return this.cfg.get("excludeGlobs") as string[]; } | 166 | get excludeGlobs() { return this.cfg.get("excludeGlobs") as string[]; } |
155 | get useClientWatching() { return this.cfg.get("useClientWatching") as boolean; } | 167 | get useClientWatching() { return this.cfg.get("useClientWatching") as boolean; } |
156 | get featureFlags() { return this.cfg.get("featureFlags") as Record<string, boolean>; } | 168 | get featureFlags() { return this.cfg.get("featureFlags") as Record<string, boolean>; } |
diff --git a/editors/code/src/inlay_hints.ts b/editors/code/src/inlay_hints.ts index e1a82e03e..b19b09ad5 100644 --- a/editors/code/src/inlay_hints.ts +++ b/editors/code/src/inlay_hints.ts | |||
@@ -10,7 +10,7 @@ export function activateInlayHints(ctx: Ctx) { | |||
10 | const maybeUpdater = { | 10 | const maybeUpdater = { |
11 | updater: null as null | HintsUpdater, | 11 | updater: null as null | HintsUpdater, |
12 | onConfigChange() { | 12 | onConfigChange() { |
13 | if (!ctx.config.displayInlayHints) { | 13 | if (!ctx.config.inlayHints.typeHints && !ctx.config.inlayHints.parameterHints) { |
14 | return this.dispose(); | 14 | return this.dispose(); |
15 | } | 15 | } |
16 | if (!this.updater) this.updater = new HintsUpdater(ctx); | 16 | if (!this.updater) this.updater = new HintsUpdater(ctx); |