From 548cdc2adc1fde6e775edef88343a857f80f71ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9di-R=C3=A9mi=20Hashim?= Date: Tue, 6 May 2025 15:41:58 +0100 Subject: [PATCH 1/2] Handle non-printable control characters when escaping JSON --- analysis/vendor/json/Json.ml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/analysis/vendor/json/Json.ml b/analysis/vendor/json/Json.ml index 8bb6b8a36..407afb152 100644 --- a/analysis/vendor/json/Json.ml +++ b/analysis/vendor/json/Json.ml @@ -141,7 +141,10 @@ let escape text = | '\b' -> Buffer.add_string buf "\\b" | '\r' -> Buffer.add_string buf "\\r" | '\t' -> Buffer.add_string buf "\\t" - | c -> Buffer.add_char buf c); + | c -> + let code = Char.code c in + if code < 0x20 then Printf.bprintf buf "\\u%04x" code + else Buffer.add_char buf c); loop (i + 1)) in loop 0; From f6f17f5222b0d68adfddb64f662e3f6ee7d23eca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9di-R=C3=A9mi=20Hashim?= Date: Tue, 6 May 2025 15:44:36 +0100 Subject: [PATCH 2/2] Add CHANGELOG --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a6b1dda24..ff4e2008a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,8 @@ - Fix: Absence of Node.js does not hinder LSP server. https://github.com/rescript-lang/rescript-vscode/pull/1083 +- Fix: JSON from `rescript-code-editor-analysis` was not always escaped properly, which prevented code actions from being available in certain situations https://github.com/rescript-lang/rescript-vscode/pull/1089 + ## 1.62.0 #### :nail_care: Polish