From e657bf24081f271a73ec0a1c48e8c53aa591cb42 Mon Sep 17 00:00:00 2001 From: k Date: Wed, 17 Jul 2024 08:13:19 +0200 Subject: [PATCH 1/2] Special handling for empty json diagnostics See https://github.com/HaxeFoundation/haxe/issues/11709 --- src/haxeLanguageServer/Context.hx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/haxeLanguageServer/Context.hx b/src/haxeLanguageServer/Context.hx index c9c8b5c4..263412ba 100644 --- a/src/haxeLanguageServer/Context.hx +++ b/src/haxeLanguageServer/Context.hx @@ -102,6 +102,12 @@ class Context { final includeDisplayArguments = method.startsWith("display/") || method == ServerMethods.ReadClassPaths; callDisplay(method, [Json.stringify(message)], token, function(result:DisplayResult) { switch result { + case DResult("") if (method == DisplayMethods.Diagnostics): + haxeDisplayProtocol.handleMessage(({ + jsonrpc: Protocol.PROTOCOL_VERSION, + id: @:privateAccess haxeDisplayProtocol.nextRequestId - 1, // ew.. + result: {result: []} + } : ResponseMessage)); case DResult(msg): haxeDisplayProtocol.handleMessage(Json.parse(msg)); case DCancelled: From a7565ebf06ebaa330129eb62175af8b74552d2c9 Mon Sep 17 00:00:00 2001 From: k Date: Wed, 17 Jul 2024 22:33:46 +0200 Subject: [PATCH 2/2] The hack is not needed here, actually --- src/haxeLanguageServer/Context.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/haxeLanguageServer/Context.hx b/src/haxeLanguageServer/Context.hx index 263412ba..9a5a2eca 100644 --- a/src/haxeLanguageServer/Context.hx +++ b/src/haxeLanguageServer/Context.hx @@ -105,7 +105,7 @@ class Context { case DResult("") if (method == DisplayMethods.Diagnostics): haxeDisplayProtocol.handleMessage(({ jsonrpc: Protocol.PROTOCOL_VERSION, - id: @:privateAccess haxeDisplayProtocol.nextRequestId - 1, // ew.. + id: (cast message : RequestMessage).id, result: {result: []} } : ResponseMessage)); case DResult(msg):