From 34ee191ef974d550ffebba3cbd236ee65eddf667 Mon Sep 17 00:00:00 2001 From: Florian Hammerschmidt Date: Tue, 23 May 2023 18:15:00 +0200 Subject: [PATCH 1/3] Add syntax highlighting for raw JS code --- grammars/rescript.tmLanguage.json | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/grammars/rescript.tmLanguage.json b/grammars/rescript.tmLanguage.json index db63e9b56..053a26a30 100644 --- a/grammars/rescript.tmLanguage.json +++ b/grammars/rescript.tmLanguage.json @@ -481,12 +481,41 @@ ] } ] + }, + "ffi": { + "name": "source.embedded.javascript", + "begin": "(%|%%)(raw|ffi)(\\()(`)", + "end": "(`)(\\))", + "beginCaptures": { + "1": { + "name": "punctuation.decorator" + }, + "2": { + "name": "entity.name.function" + }, + "4": { + "name": "punctuation.definition.string.template.begin.embedded-js" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.string.template.end.embedded-js" + } + }, + "patterns": [ + { + "include": "source.js" + } + ] } }, "patterns": [ { "include": "#storage" }, + { + "include": "#ffi" + }, { "include": "#constant" }, From 57f9b4b0b2366e6375cff3686a2256fe3acf4f76 Mon Sep 17 00:00:00 2001 From: Florian Hammerschmidt Date: Tue, 23 May 2023 22:52:46 +0200 Subject: [PATCH 2/3] changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 356711757..376172964 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,10 @@ ## master +#### :rocket: New Feature + +- Add support for syntax highlighting in `%raw` and `%ffi` extension points. https://github.com/rescript-lang/rescript-vscode/pull/774 + ## 1.18.0 #### :rocket: New Feature From fec300c6230bc0d362e6aa963db2f7b7edb329cb Mon Sep 17 00:00:00 2001 From: Florian Hammerschmidt Date: Wed, 24 May 2023 08:28:30 +0200 Subject: [PATCH 3/3] Sort patterns in tmLanguage.json --- grammars/rescript.tmLanguage.json | 42 +++++++++++++++---------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/grammars/rescript.tmLanguage.json b/grammars/rescript.tmLanguage.json index 053a26a30..4acab2243 100644 --- a/grammars/rescript.tmLanguage.json +++ b/grammars/rescript.tmLanguage.json @@ -511,70 +511,70 @@ }, "patterns": [ { - "include": "#storage" + "include": "#attribute" }, { - "include": "#ffi" + "include": "#bracketAccess" }, { - "include": "#constant" + "include": "#character" }, { - "include": "#commentLine" + "include": "#commentBlock" }, { - "include": "#commentBlock" + "include": "#commentLine" }, { - "include": "#character" + "include": "#constant" }, { - "include": "#typeParameter" + "include": "#constructor" }, { - "include": "#string" + "include": "#defaultIdIsVariable" }, { - "include": "#attribute" + "include": "#ffi" }, { "include": "#function" }, { - "include": "#list" + "include": "#jsx" }, { - "include": "#bracketAccess" + "include": "#keyword" }, { - "include": "#jsx" + "include": "#list" }, { - "include": "#operator" + "include": "#moduleAccess" }, { - "include": "#number" + "include": "#moduleDeclaration" }, { - "include": "#openOrIncludeModule" + "include": "#number" }, { - "include": "#moduleDeclaration" + "include": "#openOrIncludeModule" }, { - "include": "#moduleAccess" + "include": "#operator" }, { - "include": "#constructor" + "include": "#punctuations" }, { - "include": "#keyword" + "include": "#storage" }, { - "include": "#punctuations" + "include": "#string" }, { - "include": "#defaultIdIsVariable" + "include": "#typeParameter" } ] } \ No newline at end of file