Skip to content

Commit c20cee1

Browse files
committed
Fix text interpolations
1 parent d208cea commit c20cee1

File tree

4 files changed

+1232
-0
lines changed

4 files changed

+1232
-0
lines changed

DataWeave.YAML-tmLanguage

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,7 @@ repository:
403403
'0': { name: string.quoted.double.dw punctuation.definition.string.end.dw }
404404
patterns:
405405
- include: '#template-substitution-element'
406+
- include: '#template-dollar'
406407
- include: '#string-character-escape'
407408
- match: ([^`])
408409
name: string.template.dw
@@ -417,6 +418,7 @@ repository:
417418
'0': { name: string.template.dw punctuation.definition.string.template.end.dw}
418419
patterns:
419420
- include: '#template-substitution-element'
421+
- include: '#template-dollar'
420422
- include: '#string-character-escape'
421423
- match: ([^`])
422424
name: string.template.dw
@@ -434,6 +436,7 @@ repository:
434436
'0': { name: string.quoted.double.dw punctuation.definition.string.end.dw }
435437
patterns:
436438
- include: '#template-substitution-element'
439+
- include: '#template-dollar'
437440
- include: '#string-character-escape'
438441
- match: ([^"])
439442
name: string.quoted.double.dw
@@ -448,10 +451,23 @@ repository:
448451
'2': { name: invalid.illegal.newline.dw }
449452
patterns:
450453
- include: '#template-substitution-element'
454+
- include: '#template-dollar'
451455
- include: '#string-character-escape'
452456
- match: ([^'])
453457
name: string.quoted.single.dw
454458

459+
template-dollar:
460+
patterns:
461+
- match: (\$(\$)+)
462+
name: variable.parameter.dw
463+
- match: (\$)(?![a-zA-Z(])
464+
name: variable.parameter.dw
465+
- match: (\$)([a-zA-Z][a-zA-Z0-9_]*)
466+
captures:
467+
'1': {name: keyword.other.dw}
468+
'2': {name: variable.other.dw}
469+
name: variable.parameter.dw
470+
455471
template-substitution-element:
456472
name: meta.template.expression.dw
457473
begin: \$\(

DataWeave.tmLanguage

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1192,6 +1192,10 @@
11921192
<key>include</key>
11931193
<string>#template-substitution-element</string>
11941194
</dict>
1195+
<dict>
1196+
<key>include</key>
1197+
<string>#template-dollar</string>
1198+
</dict>
11951199
<dict>
11961200
<key>include</key>
11971201
<string>#string-character-escape</string>
@@ -1237,6 +1241,10 @@
12371241
<key>include</key>
12381242
<string>#template-substitution-element</string>
12391243
</dict>
1244+
<dict>
1245+
<key>include</key>
1246+
<string>#template-dollar</string>
1247+
</dict>
12401248
<dict>
12411249
<key>include</key>
12421250
<string>#string-character-escape</string>
@@ -1284,6 +1292,10 @@
12841292
<key>include</key>
12851293
<string>#template-substitution-element</string>
12861294
</dict>
1295+
<dict>
1296+
<key>include</key>
1297+
<string>#template-dollar</string>
1298+
</dict>
12871299
<dict>
12881300
<key>include</key>
12891301
<string>#string-character-escape</string>
@@ -1329,6 +1341,10 @@
13291341
<key>include</key>
13301342
<string>#template-substitution-element</string>
13311343
</dict>
1344+
<dict>
1345+
<key>include</key>
1346+
<string>#template-dollar</string>
1347+
</dict>
13321348
<dict>
13331349
<key>include</key>
13341350
<string>#string-character-escape</string>
@@ -1341,6 +1357,43 @@
13411357
</dict>
13421358
</array>
13431359
</dict>
1360+
<key>template-dollar</key>
1361+
<dict>
1362+
<key>patterns</key>
1363+
<array>
1364+
<dict>
1365+
<key>match</key>
1366+
<string>(\$(\$)+)</string>
1367+
<key>name</key>
1368+
<string>variable.parameter.dw</string>
1369+
</dict>
1370+
<dict>
1371+
<key>match</key>
1372+
<string>(\$)(?![a-zA-Z(])</string>
1373+
<key>name</key>
1374+
<string>variable.parameter.dw</string>
1375+
</dict>
1376+
<dict>
1377+
<key>match</key>
1378+
<string>(\$)([a-zA-Z][a-zA-Z0-9_]*)</string>
1379+
<key>captures</key>
1380+
<dict>
1381+
<key>1</key>
1382+
<dict>
1383+
<key>name</key>
1384+
<string>keyword.other.dw</string>
1385+
</dict>
1386+
<key>2</key>
1387+
<dict>
1388+
<key>name</key>
1389+
<string>variable.other.dw</string>
1390+
</dict>
1391+
</dict>
1392+
<key>name</key>
1393+
<string>variable.parameter.dw</string>
1394+
</dict>
1395+
</array>
1396+
</dict>
13441397
<key>template-substitution-element</key>
13451398
<dict>
13461399
<key>name</key>

0 commit comments

Comments
 (0)