Skip to content

Commit 284d508

Browse files
committed
Add string interpolation syntax
1 parent b8714ed commit 284d508

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
let name = "Amirali"
2+
3+
let var = `hello ${name} how you doin?`
4+
5+
let expr = `2 + 2 is ${Int.toString(2 + 2)}`

syntax/rescript.vim

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,9 @@ syntax match resUnicodeChar "\v\\u[A-Fa-f0-9]\{4}" contained
8282
syntax match resEscapedChar "\v\\[\\"'ntbrf]" contained
8383
syntax region resString start="\v\"" end="\v\"" contains=resEscapedQuote,resEscapedChar,resUnicodeChar
8484

85-
syntax match resInterpolationVariable "\v\$[a-z_][A-Za-z0-0_'$]*" contained
86-
syntax region resString start="\v`" end="\v`" contains=resInterpolationVariable
87-
syntax region resString start="\v[a-z]`" end="\v`" contains=resInterpolationVariable
85+
syntax region resInterpolationBlock matchgroup=resInterpolationDelimiters start="\v\$\{" end="\v\}" contained contains=TOP
86+
syntax region resString start="\v`" end="\v`" contains=resInterpolationBlock
87+
syntax region resString start="\v[a-z]`" end="\v`" contains=resInterpolationBlock
8888

8989
" Polymorphic variants
9090
syntax match resPolyVariant "\v#[A-za-z][A-Za-z0-9_'$]*"
@@ -109,7 +109,7 @@ highlight default link resModuleChain Macro
109109
highlight default link resUnicodeChar Character
110110
highlight default link resEscapedChar Character
111111
highlight default link resString String
112-
highlight default link resInterpolationVariable Macro
112+
highlight default link resInterpolationDelimiters Macro
113113
highlight default link resAttribute PreProc
114114

115115
let b:current_syntax = "rescript"

0 commit comments

Comments
 (0)