From 2c6e9a76ee781deaff9e9f13655b8e92d843af60 Mon Sep 17 00:00:00 2001 From: Pedro Castro Date: Sun, 26 Apr 2026 10:31:00 -0300 Subject: [PATCH 1/2] Update tree sitter to v6.0.0 https://github.com/rescript-lang/tree-sitter-rescript/releases/tag/v6.0.0 --- extension.toml | 2 +- languages/rescript/highlights.scm | 26 +++++++++++++++++++++++--- languages/rescript/injections.scm | 9 ++++++++- languages/rescript/textobjects.scm | 5 ++++- 4 files changed, 36 insertions(+), 6 deletions(-) diff --git a/extension.toml b/extension.toml index 9176247..c3a764e 100644 --- a/extension.toml +++ b/extension.toml @@ -12,4 +12,4 @@ language = "ReScript" [grammars.rescript] repository = "https://github.com/rescript-lang/tree-sitter-rescript" -commit = "64249e68649c77d3c880e335469b464674ad1cbf" +commit = "5b90cd4e4138b1231a67977303bda47eb608480a" diff --git a/languages/rescript/highlights.scm b/languages/rescript/highlights.scm index bc40da1..3bd8620 100644 --- a/languages/rescript/highlights.scm +++ b/languages/rescript/highlights.scm @@ -1,4 +1,7 @@ -(comment) @comment +[ + (line_comment) + (block_comment) +] @comment ; Identifiers ;------------ @@ -17,6 +20,14 @@ (list_pattern) ] @type +; Dict +(dict "dict" @type.builtin) +(dict_pattern "dict" @type.builtin) +(dict_entry (string) @property) +(dict_pattern_entry (string) @property) +(dict_pattern_entry (value_identifier) @variable.parameter) +(parameter (dict_pattern (dict_pattern_entry (value_identifier) @variable.parameter))) + ((type_identifier) @type.builtin (#any-of? @type.builtin "int" "char" "string" "float" "bool" "unit")) @@ -65,6 +76,8 @@ ] @string +(regex) @string.special + (character) @character (escape_sequence) @string.escape @@ -215,6 +228,9 @@ "**" "*." "/." + "<<" + ">>" + ">>>" "<=" "==" "===" @@ -222,8 +238,12 @@ "!=" "!==" ">=" + "&&&" "&&" + "|||" "||" + "^^^" + "~~~" "=" ":=" "->" @@ -235,8 +255,8 @@ ] @operator ; Explicitly enclose these operators with binary_expression -; to avoid confusion with JSX tag delimiters -(binary_expression ["<" ">" "/"] @operator) +; to avoid confusion with JSX tag delimiters and extension expressions. +(binary_expression ["<" ">" "/" "%"] @operator) [ "(" diff --git a/languages/rescript/injections.scm b/languages/rescript/injections.scm index dc8638e..ab74100 100644 --- a/languages/rescript/injections.scm +++ b/languages/rescript/injections.scm @@ -1,4 +1,11 @@ -((comment) @injection.content (#set! injection.language "comment")) +([ + (line_comment) + (block_comment) +] @injection.content (#set! injection.language "comment")) + +; regex literal +(regex + (regex_pattern) @injection.content (#set! injection.language "regex")) ; %re (extension_expression diff --git a/languages/rescript/textobjects.scm b/languages/rescript/textobjects.scm index 99b05c4..31e2092 100644 --- a/languages/rescript/textobjects.scm +++ b/languages/rescript/textobjects.scm @@ -24,7 +24,10 @@ ; Comments ;--------- -(comment) @comment.around +([ + (line_comment) + (block_comment) +] @comment.around ; Parameters ;----------- From 7655d97bf94e10204288522b3fb037cf4493d769 Mon Sep 17 00:00:00 2001 From: Pedro Castro Date: Sun, 26 Apr 2026 10:34:57 -0300 Subject: [PATCH 2/2] fix textobjects.scm --- languages/rescript/textobjects.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/languages/rescript/textobjects.scm b/languages/rescript/textobjects.scm index 31e2092..b6fc85e 100644 --- a/languages/rescript/textobjects.scm +++ b/languages/rescript/textobjects.scm @@ -24,7 +24,7 @@ ; Comments ;--------- -([ +[ (line_comment) (block_comment) ] @comment.around