github-linguist 7.1.3 → 7.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. checksums.yaml +5 -5
  2. data/grammars/annotation.liquidhaskell.haskell.json +119 -4
  3. data/grammars/etc.json +148 -0
  4. data/grammars/hint.haskell.json +119 -4
  5. data/grammars/hint.message.haskell.json +119 -4
  6. data/grammars/hint.type.haskell.json +119 -4
  7. data/grammars/injections.etc.json +21 -0
  8. data/grammars/source.abap.json +2 -2
  9. data/grammars/source.ats.json +87 -17
  10. data/grammars/source.ballerina.json +236 -313
  11. data/grammars/source.batchfile.json +1 -1
  12. data/grammars/source.bdf.json +14 -8
  13. data/grammars/source.changelogs.rpm-spec.json +3 -3
  14. data/grammars/source.chapel.json +1 -1
  15. data/grammars/source.coffee.json +98 -0
  16. data/grammars/source.csound-document.json +26 -124
  17. data/grammars/source.curlrc.json +180 -0
  18. data/grammars/source.dart.json +5 -2
  19. data/grammars/source.elixir.json +20 -25
  20. data/grammars/source.emacs.lisp.json +23 -1
  21. data/grammars/source.gdb.json +1 -1
  22. data/grammars/source.gitattributes.json +111 -0
  23. data/grammars/source.gitconfig.json +450 -0
  24. data/grammars/source.gitignore.json +140 -0
  25. data/grammars/source.graphql.json +18 -0
  26. data/grammars/source.haproxy-config.json +10 -10
  27. data/grammars/source.haskell.json +119 -4
  28. data/grammars/source.hgignore.json +34 -0
  29. data/grammars/source.hsig.json +119 -4
  30. data/grammars/source.hx.json +2 -2
  31. data/grammars/source.jison.json +1 -1
  32. data/grammars/source.ltspice.symbol.json +294 -0
  33. data/grammars/source.m4.json +187 -0
  34. data/grammars/source.man-conf.json +141 -0
  35. data/grammars/source.nanorc.json +330 -0
  36. data/grammars/source.nim.comment.json +82 -0
  37. data/grammars/source.nim.json +1 -57
  38. data/grammars/source.nix.json +2 -2
  39. data/grammars/source.opts.json +98 -0
  40. data/grammars/source.reason.json +13 -0
  41. data/grammars/source.rust.json +35 -0
  42. data/grammars/source.terraform.json +4 -1
  43. data/grammars/source.ts.json +307 -39
  44. data/grammars/source.tsx.json +290 -37
  45. data/grammars/source.zig.json +286 -0
  46. data/grammars/text.html.basic.json +1 -1
  47. data/grammars/text.marko.json +61 -9
  48. data/grammars/text.tex.latex.haskell.json +119 -4
  49. data/grammars/text.zone_file.json +2 -2
  50. data/grammars/version +1 -1
  51. data/lib/linguist/VERSION +1 -1
  52. data/lib/linguist/generated.rb +0 -8
  53. data/lib/linguist/heuristics.yml +30 -3
  54. data/lib/linguist/languages.json +1 -1
  55. data/lib/linguist/languages.yml +143 -3
  56. data/lib/linguist/samples.json +4494 -646
  57. data/lib/linguist/vendor.yml +1 -2
  58. metadata +31 -4
  59. data/grammars/source.solidity.json +0 -189
@@ -3,22 +3,22 @@
3
3
  "scopeName": "source.ballerina",
4
4
  "patterns": [
5
5
  {
6
- "include": "#functionDec"
6
+ "include": "#serviceDefinition"
7
7
  },
8
8
  {
9
- "include": "#serviceDec"
9
+ "include": "#functionDefinition"
10
10
  },
11
11
  {
12
- "include": "#endpointDef"
12
+ "include": "#typeDefinition"
13
13
  },
14
14
  {
15
- "include": "#documentationDef"
15
+ "include": "#annotationDefinition"
16
16
  },
17
17
  {
18
- "include": "#mdDocumentation"
18
+ "include": "#documentationDef"
19
19
  },
20
20
  {
21
- "include": "#typeDef"
21
+ "include": "#mdDocumentation"
22
22
  },
23
23
  {
24
24
  "include": "#objectDec"
@@ -27,7 +27,7 @@
27
27
  "include": "#record"
28
28
  },
29
29
  {
30
- "include": "#annotationDec"
30
+ "include": "#annotationAttachment"
31
31
  },
32
32
  {
33
33
  "include": "#recordLiteral"
@@ -48,7 +48,7 @@
48
48
  }
49
49
  ]
50
50
  },
51
- "annotationDec": {
51
+ "annotationAttachment": {
52
52
  "patterns": [
53
53
  {
54
54
  "name": "storage.type.annotation.ballerina",
@@ -56,6 +56,20 @@
56
56
  }
57
57
  ]
58
58
  },
59
+ "annotationDefinition": {
60
+ "begin": "\\bannotation\\b",
61
+ "end": ";",
62
+ "patterns": [
63
+ {
64
+ "include": "#typeDescription"
65
+ }
66
+ ],
67
+ "beginCaptures": {
68
+ "0": {
69
+ "name": "keyword.ballerina"
70
+ }
71
+ }
72
+ },
59
73
  "booleans": {
60
74
  "patterns": [
61
75
  {
@@ -151,9 +165,6 @@
151
165
  "begin": "\\{",
152
166
  "end": "(?=\\})",
153
167
  "patterns": [
154
- {
155
- "include": "#endpointDef"
156
- },
157
168
  {
158
169
  "include": "#workerDef"
159
170
  },
@@ -258,58 +269,6 @@
258
269
  }
259
270
  ]
260
271
  },
261
- "continuedTupleType": {
262
- "patterns": [
263
- {
264
- "begin": "\\(",
265
- "end": "(?=\\)|;)",
266
- "patterns": [
267
- {
268
- "include": "#comment"
269
- },
270
- {
271
- "include": "#continuedType"
272
- },
273
- {
274
- "include": "#constrainType"
275
- },
276
- {
277
- "name": "storage.type.ballerina",
278
- "match": "\\b((?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\"))\\b"
279
- }
280
- ]
281
- }
282
- ]
283
- },
284
- "continuedType": {
285
- "patterns": [
286
- {
287
- "begin": "[|,:]",
288
- "end": "(\\b(?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\")\\b)|(\\))",
289
- "patterns": [
290
- {
291
- "include": "#comment"
292
- },
293
- {
294
- "include": "#continuedTupleType"
295
- }
296
- ],
297
- "beginCaptures": {
298
- "0": {
299
- "name": "keyword.operator.ballerina"
300
- }
301
- },
302
- "endCaptures": {
303
- "1": {
304
- "name": "storage.type.ballerina"
305
- },
306
- "2": {
307
- "name": "source.ballerina"
308
- }
309
- }
310
- }
311
- ]
312
- },
313
272
  "defaultValue": {
314
273
  "patterns": [
315
274
  {
@@ -410,39 +369,12 @@
410
369
  }
411
370
  ]
412
371
  },
413
- "endpointDef": {
414
- "patterns": [
415
- {
416
- "begin": "\\bendpoint\\b",
417
- "end": ";",
418
- "patterns": [
419
- {
420
- "include": "#parameter"
421
- },
422
- {
423
- "include": "#recordLiteral"
424
- },
425
- {
426
- "include": "#comment"
427
- }
428
- ],
429
- "beginCaptures": {
430
- "0": {
431
- "name": "keyword.ballerina"
432
- }
433
- }
434
- }
435
- ]
436
- },
437
- "functionDec": {
372
+ "functionDefinition": {
438
373
  "patterns": [
439
374
  {
440
375
  "begin": "\\bfunction\\b",
441
376
  "end": "\\}|(?=;)",
442
377
  "patterns": [
443
- {
444
- "include": "#functionReceiver"
445
- },
446
378
  {
447
379
  "include": "#functionParameters"
448
380
  },
@@ -489,6 +421,9 @@
489
421
  {
490
422
  "include": "#parameter"
491
423
  },
424
+ {
425
+ "include": "#parameterTuple"
426
+ },
492
427
  {
493
428
  "include": "#defaultValue"
494
429
  },
@@ -509,38 +444,18 @@
509
444
  }
510
445
  ]
511
446
  },
512
- "functionReceiver": {
513
- "patterns": [
514
- {
515
- "begin": "\u003c",
516
- "end": "\u003e",
517
- "patterns": [
518
- {
519
- "include": "#parameter"
520
- },
521
- {
522
- "include": "#comment"
523
- }
524
- ],
525
- "beginCaptures": {
526
- "0": {
527
- "name": "punctuation.definition.parameters.begin.ballerina"
528
- }
529
- },
530
- "endCaptures": {
531
- "0": {
532
- "name": "punctuation.definition.parameters.end.ballerina"
533
- }
534
- }
535
- }
536
- ]
537
- },
538
447
  "functionReturns": {
539
448
  "patterns": [
540
449
  {
541
450
  "begin": "\\breturns\\b",
542
451
  "end": "(?=\\{|;)",
543
452
  "patterns": [
453
+ {
454
+ "include": "#record"
455
+ },
456
+ {
457
+ "include": "#objectDec"
458
+ },
544
459
  {
545
460
  "name": "storage.type.ballerina",
546
461
  "match": "(?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\")"
@@ -566,19 +481,19 @@
566
481
  "patterns": [
567
482
  {
568
483
  "name": "keyword.control.ballerina",
569
- "match": "\\b(if|else|iterator|try|catch|finally|fork|join|all|some|while|foreach|in|throw|return|returns|break|timeout|transaction|abort|retry|retries|continue|bind|with|lengthof|typeof|enum)\\b"
484
+ "match": "\\b(if|else|iterator|try|catch|finally|fork|join|all|some|while|foreach|in|throw|return|returns|break|timeout|transaction|abort|retry|retries|continue|bind|with|typeof|enum|wait)\\b"
570
485
  },
571
486
  {
572
487
  "name": "keyword.other.ballerina",
573
- "match": "\\b(import|version|public|private|attach|as|native|documentation|lock|new|record|limit|ascending|descending|check|start|done|untaint|onretry|oncommit|onabort|scope|compensate|compensation|primarykey|channel|abstract)\\b"
488
+ "match": "\\b(import|version|public|private|attach|as|native|documentation|lock|new|record|limit|ascending|descending|check|start|done|untaint|onretry|oncommit|onabort|scope|compensate|compensation|primarykey|channel|abstract|extern|final|listener|remote|client|__init)\\b"
574
489
  },
575
490
  {
576
491
  "name": "keyword.other.siddhi.ballerina",
577
- "match": "\\b(forever|from|on|select|group|by|having|order|where|followed|insert|into|update|delete|set|for|window|query)\\b"
492
+ "match": "\\b(forever|from|on|select|group|by|having|order|where|followed|insert|into|update|set|for|window|query)\\b"
578
493
  },
579
494
  {
580
495
  "name": "keyword.other.ballerina",
581
- "match": "\\b(annotation|package|type|connector|function|resource|service|action|worker|struct|transformer|endpoint|object)\\b"
496
+ "match": "\\b(annotation|package|type|connector|function|resource|service|action|worker|struct|transformer|object)\\b"
582
497
  },
583
498
  {
584
499
  "name": "keyword.other.ballerina",
@@ -593,6 +508,22 @@
593
508
  }
594
509
  ]
595
510
  },
511
+ "literal": {
512
+ "patterns": [
513
+ {
514
+ "include": "#booleans"
515
+ },
516
+ {
517
+ "include": "#numbers"
518
+ },
519
+ {
520
+ "include": "#strings"
521
+ },
522
+ {
523
+ "include": "#maps"
524
+ }
525
+ ]
526
+ },
596
527
  "maps": {
597
528
  "patterns": [
598
529
  {
@@ -616,6 +547,25 @@
616
547
  }
617
548
  ]
618
549
  },
550
+ "matchBindingPattern": {
551
+ "patterns": [
552
+ {
553
+ "begin": "var",
554
+ "end": "(?==\u003e)",
555
+ "patterns": [
556
+ {
557
+ "name": "variable.parameter.ballerina",
558
+ "match": "(?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\")"
559
+ }
560
+ ],
561
+ "beginCaptures": {
562
+ "0": {
563
+ "name": "storage.type.ballerina"
564
+ }
565
+ }
566
+ }
567
+ ]
568
+ },
619
569
  "matchStatement": {
620
570
  "patterns": [
621
571
  {
@@ -647,7 +597,10 @@
647
597
  "end": "(?=\\})",
648
598
  "patterns": [
649
599
  {
650
- "include": "#parameter"
600
+ "include": "#literal"
601
+ },
602
+ {
603
+ "include": "#matchBindingPattern"
651
604
  },
652
605
  {
653
606
  "include": "#matchStatementPatternClause"
@@ -780,9 +733,6 @@
780
733
  "begin": "\\{",
781
734
  "end": "(?=\\})",
782
735
  "patterns": [
783
- {
784
- "include": "#varDefBlock"
785
- },
786
736
  {
787
737
  "include": "#mdDocumentation"
788
738
  },
@@ -790,13 +740,17 @@
790
740
  "include": "#documentationDef"
791
741
  },
792
742
  {
793
- "include": "#objectInitDec"
743
+ "include": "#functionDefinition"
794
744
  },
795
745
  {
796
- "include": "#functionDec"
746
+ "include": "#annotationAttachment"
797
747
  },
798
748
  {
799
- "include": "#annotationDec"
749
+ "name": "keyword.ballerina",
750
+ "match": "(public|private|extern|resource|remote)"
751
+ },
752
+ {
753
+ "include": "#variableDefInline"
800
754
  },
801
755
  {
802
756
  "include": "#variableDef"
@@ -873,27 +827,6 @@
873
827
  }
874
828
  ]
875
829
  },
876
- "objectInitDec": {
877
- "patterns": [
878
- {
879
- "begin": "\\bnew\\b",
880
- "end": "\\}",
881
- "patterns": [
882
- {
883
- "include": "#objectInitParameters"
884
- },
885
- {
886
- "include": "#objectInitBody"
887
- }
888
- ],
889
- "beginCaptures": {
890
- "0": {
891
- "name": "keyword.ballerina"
892
- }
893
- }
894
- }
895
- ]
896
- },
897
830
  "objectInitParameters": {
898
831
  "patterns": [
899
832
  {
@@ -962,32 +895,76 @@
962
895
  "parameter": {
963
896
  "patterns": [
964
897
  {
965
- "begin": "\\b(?:(?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\"))\\b",
966
- "end": "\\b(?:(?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\"))\\b|(?==\u003e)|(?=\\))",
898
+ "begin": "((?=record|object)|(?:(?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\")))",
899
+ "end": "(?:\\,)|(?:\\|)|(?:\\:)|(?==\u003e)|(?=\\))",
967
900
  "patterns": [
968
901
  {
969
- "include": "#continuedType"
902
+ "include": "#record"
903
+ },
904
+ {
905
+ "include": "#objectDec"
970
906
  },
971
907
  {
972
908
  "include": "#constrainType"
973
909
  },
910
+ {
911
+ "include": "#defaultValue"
912
+ },
974
913
  {
975
914
  "include": "#comment"
915
+ },
916
+ {
917
+ "include": "#parameterTuple"
918
+ },
919
+ {
920
+ "name": "variable.parameter.ballerina",
921
+ "match": "(?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\")"
976
922
  }
977
923
  ],
978
924
  "beginCaptures": {
979
925
  "0": {
980
926
  "name": "storage.type.ballerina"
981
927
  }
982
- },
983
- "endCaptures": {
984
- "0": {
985
- "name": "variable.parameter.ballerina"
986
- }
987
928
  }
988
929
  }
989
930
  ]
990
931
  },
932
+ "parameterTuple": {
933
+ "patterns": [
934
+ {
935
+ "begin": "\\(",
936
+ "end": "(?=\\,)|(?=\\|)|(?=\\:)|(?==\u003e)",
937
+ "patterns": [
938
+ {
939
+ "include": "#record"
940
+ },
941
+ {
942
+ "include": "#objectDec"
943
+ },
944
+ {
945
+ "include": "#parameter"
946
+ },
947
+ {
948
+ "include": "#parameterTupleEnd"
949
+ }
950
+ ]
951
+ }
952
+ ]
953
+ },
954
+ "parameterTupleEnd": {
955
+ "patterns": [
956
+ {
957
+ "begin": "\\)",
958
+ "end": "(?=\\,)|(?=\\|)|(?=\\:)|(?==\u003e)|(?=\\))",
959
+ "patterns": [
960
+ {
961
+ "name": "variable.parameter.ballerina",
962
+ "match": "(?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\")"
963
+ }
964
+ ]
965
+ }
966
+ ]
967
+ },
991
968
  "paranthesised": {
992
969
  "patterns": [
993
970
  {
@@ -1053,7 +1030,10 @@
1053
1030
  "end": "(?=\\})",
1054
1031
  "patterns": [
1055
1032
  {
1056
- "include": "#annotationDec"
1033
+ "include": "#annotationAttachment"
1034
+ },
1035
+ {
1036
+ "include": "#variableDefInline"
1057
1037
  },
1058
1038
  {
1059
1039
  "include": "#variableDef"
@@ -1101,74 +1081,6 @@
1101
1081
  }
1102
1082
  ]
1103
1083
  },
1104
- "resourceDef": {
1105
- "patterns": [
1106
- {
1107
- "begin": "((?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\"))\\s*(?=\\()",
1108
- "end": "\\}",
1109
- "patterns": [
1110
- {
1111
- "include": "#comment"
1112
- },
1113
- {
1114
- "include": "#mdDocumentation"
1115
- },
1116
- {
1117
- "include": "#functionParameters"
1118
- },
1119
- {
1120
- "include": "#callableUnitBody"
1121
- }
1122
- ],
1123
- "beginCaptures": {
1124
- "0": {
1125
- "name": "entity.name.function.ballerina"
1126
- }
1127
- },
1128
- "endCaptures": {
1129
- "0": {
1130
- "name": "punctuation.definition.block.ballerina"
1131
- }
1132
- }
1133
- }
1134
- ]
1135
- },
1136
- "serviceBindRecordLiteral": {
1137
- "patterns": [
1138
- {
1139
- "begin": "\\{",
1140
- "end": "(?=\\})",
1141
- "patterns": [
1142
- {
1143
- "include": "#code"
1144
- }
1145
- ],
1146
- "beginCaptures": {
1147
- "0": {
1148
- "name": "punctuation.definition.block.ballerina"
1149
- }
1150
- },
1151
- "endCaptures": {
1152
- "0": {
1153
- "name": "punctuation.definition.block.ballerina"
1154
- }
1155
- }
1156
- }
1157
- ]
1158
- },
1159
- "serviceBindVarContinued": {
1160
- "patterns": [
1161
- {
1162
- "begin": ",",
1163
- "end": "(?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\")",
1164
- "endCaptures": {
1165
- "0": {
1166
- "name": "variable.parameter.ballerina"
1167
- }
1168
- }
1169
- }
1170
- ]
1171
- },
1172
1084
  "serviceBody": {
1173
1085
  "patterns": [
1174
1086
  {
@@ -1185,13 +1097,10 @@
1185
1097
  "include": "#documentationDef"
1186
1098
  },
1187
1099
  {
1188
- "include": "#annotationDec"
1100
+ "include": "#annotationAttachment"
1189
1101
  },
1190
1102
  {
1191
- "include": "#endpointDef"
1192
- },
1193
- {
1194
- "include": "#resourceDef"
1103
+ "include": "#functionDefinition"
1195
1104
  },
1196
1105
  {
1197
1106
  "include": "#recordLiteral"
@@ -1213,21 +1122,12 @@
1213
1122
  }
1214
1123
  ]
1215
1124
  },
1216
- "serviceDec": {
1125
+ "serviceDefinition": {
1217
1126
  "patterns": [
1218
1127
  {
1219
1128
  "begin": "\\bservice\\b",
1220
- "end": "\\}",
1129
+ "end": "\\}|;|=",
1221
1130
  "patterns": [
1222
- {
1223
- "include": "#serviceReceiver"
1224
- },
1225
- {
1226
- "include": "#serviceEndpointAttachments"
1227
- },
1228
- {
1229
- "include": "#serviceName"
1230
- },
1231
1131
  {
1232
1132
  "include": "#comment"
1233
1133
  },
@@ -1235,33 +1135,10 @@
1235
1135
  "include": "#serviceBody"
1236
1136
  },
1237
1137
  {
1238
- "include": "#serviceBindVarContinued"
1239
- }
1240
- ],
1241
- "beginCaptures": {
1242
- "0": {
1243
- "name": "keyword.ballerina"
1244
- }
1245
- },
1246
- "endCaptures": {
1247
- "0": {
1248
- "name": "punctuation.definition.block.ballerina"
1249
- }
1250
- }
1251
- }
1252
- ]
1253
- },
1254
- "serviceEndpointAttachments": {
1255
- "patterns": [
1256
- {
1257
- "begin": "bind",
1258
- "end": "(\\})|((?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\"))",
1259
- "patterns": [
1260
- {
1261
- "include": "#serviceBindRecordLiteral"
1138
+ "include": "#serviceOn"
1262
1139
  },
1263
1140
  {
1264
- "include": "#comment"
1141
+ "include": "#serviceName"
1265
1142
  }
1266
1143
  ],
1267
1144
  "beginCaptures": {
@@ -1270,11 +1147,8 @@
1270
1147
  }
1271
1148
  },
1272
1149
  "endCaptures": {
1273
- "1": {
1150
+ "0": {
1274
1151
  "name": "punctuation.definition.block.ballerina"
1275
- },
1276
- "2": {
1277
- "name": "variable.parameter.ballerina"
1278
1152
  }
1279
1153
  }
1280
1154
  }
@@ -1288,28 +1162,19 @@
1288
1162
  }
1289
1163
  ]
1290
1164
  },
1291
- "serviceReceiver": {
1165
+ "serviceOn": {
1292
1166
  "patterns": [
1293
1167
  {
1294
- "begin": "\u003c",
1295
- "end": "\u003e",
1168
+ "begin": "on",
1169
+ "end": "(?={)",
1296
1170
  "patterns": [
1297
1171
  {
1298
- "name": "storage.type.ballerina",
1299
- "match": "(?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\")"
1300
- },
1301
- {
1302
- "include": "#comment"
1172
+ "include": "#code"
1303
1173
  }
1304
1174
  ],
1305
1175
  "beginCaptures": {
1306
1176
  "0": {
1307
- "name": "punctuation.definition.parameters.begin.ballerina"
1308
- }
1309
- },
1310
- "endCaptures": {
1311
- "0": {
1312
- "name": "punctuation.definition.parameters.end.ballerina"
1177
+ "name": "keyword.ballerina"
1313
1178
  }
1314
1179
  }
1315
1180
  }
@@ -1397,14 +1262,40 @@
1397
1262
  }
1398
1263
  ]
1399
1264
  },
1400
- "typeDef": {
1265
+ "tupleType": {
1266
+ "patterns": [
1267
+ {
1268
+ "begin": "\\(",
1269
+ "end": "(?=\\)|;)",
1270
+ "patterns": [
1271
+ {
1272
+ "include": "#comment"
1273
+ },
1274
+ {
1275
+ "include": "#continuedType"
1276
+ },
1277
+ {
1278
+ "include": "#constrainType"
1279
+ },
1280
+ {
1281
+ "name": "storage.type.ballerina",
1282
+ "match": "\\b((?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\"))\\b"
1283
+ }
1284
+ ]
1285
+ }
1286
+ ]
1287
+ },
1288
+ "typeDefinition": {
1401
1289
  "patterns": [
1402
1290
  {
1403
1291
  "begin": "\\btype\\b",
1404
- "end": "\\b(?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\")\\b",
1292
+ "end": ";",
1405
1293
  "patterns": [
1406
1294
  {
1407
1295
  "include": "#comment"
1296
+ },
1297
+ {
1298
+ "include": "#typeDescription"
1408
1299
  }
1409
1300
  ],
1410
1301
  "beginCaptures": {
@@ -1420,54 +1311,66 @@
1420
1311
  }
1421
1312
  ]
1422
1313
  },
1423
- "types": {
1314
+ "typeDescription": {
1424
1315
  "patterns": [
1425
1316
  {
1426
- "name": "storage.type.ballerina",
1427
- "match": "\\b(boolean|int|float|string|var|any|datatable|table|byte|future|typedesc)\\b"
1428
- },
1429
- {
1430
- "name": "storage.type.ballerina",
1431
- "match": "\\b(map|exception|json|xml|xmlns|error)\\b"
1432
- },
1433
- {
1434
- "name": "storage.type.ballerina",
1435
- "match": "\\b(stream|streamlet|aggregation)\\b"
1436
- }
1437
- ]
1438
- },
1439
- "varDefBlock": {
1440
- "patterns": [
1441
- {
1442
- "begin": "\\b(?:private|public)\\b",
1443
- "end": "\\}|;|,",
1317
+ "begin": "(?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\")",
1318
+ "end": "(?=;)",
1444
1319
  "patterns": [
1445
1320
  {
1446
- "include": "#objectMemberFunctionDec"
1321
+ "include": "#comment"
1447
1322
  },
1448
1323
  {
1449
- "include": "#variableDef"
1324
+ "include": "#objectDec"
1450
1325
  },
1451
1326
  {
1452
- "include": "#code"
1327
+ "include": "#record"
1328
+ },
1329
+ {
1330
+ "include": "#literal"
1331
+ },
1332
+ {
1333
+ "name": "storage.type.ballerina",
1334
+ "match": "(?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\")"
1453
1335
  }
1454
1336
  ],
1455
1337
  "beginCaptures": {
1456
1338
  "0": {
1457
- "name": "keyword.ballerina"
1339
+ "name": "entity.name.function.ballerina"
1340
+ }
1341
+ },
1342
+ "endCaptures": {
1343
+ "0": {
1344
+ "name": "source.ballerina"
1458
1345
  }
1459
1346
  }
1460
1347
  }
1461
1348
  ]
1462
1349
  },
1350
+ "types": {
1351
+ "patterns": [
1352
+ {
1353
+ "name": "storage.type.ballerina",
1354
+ "match": "\\b(boolean|int|float|string|var|any|anydata|datatable|table|byte|future|typedesc)\\b"
1355
+ },
1356
+ {
1357
+ "name": "storage.type.ballerina",
1358
+ "match": "\\b(map|exception|json|xml|xmlns|error)\\b"
1359
+ },
1360
+ {
1361
+ "name": "storage.type.ballerina",
1362
+ "match": "\\b(stream|streamlet|aggregation)\\b"
1363
+ }
1364
+ ]
1365
+ },
1463
1366
  "variableDef": {
1464
1367
  "patterns": [
1465
1368
  {
1466
- "begin": "\\b(?:(?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\"))\\b|(?=\\()",
1467
- "end": "\\b(?:(?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\"))\\b|(?=\\,)|(?=;)|\\.\\.\\.",
1369
+ "begin": "(?:(?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\"))(?: |\\t)|(?=\\()",
1370
+ "end": "(?:(?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\"))|(?=\\,)|(?=;)|\\.\\.\\.",
1468
1371
  "patterns": [
1469
1372
  {
1470
- "include": "#continuedTupleType"
1373
+ "include": "#tupleType"
1471
1374
  },
1472
1375
  {
1473
1376
  "include": "#continuedType"
@@ -1492,6 +1395,26 @@
1492
1395
  }
1493
1396
  ]
1494
1397
  },
1398
+ "variableDefInline": {
1399
+ "patterns": [
1400
+ {
1401
+ "begin": "(?=record)|(?=object)",
1402
+ "end": "(?=;)",
1403
+ "patterns": [
1404
+ {
1405
+ "include": "#record"
1406
+ },
1407
+ {
1408
+ "include": "#objectDec"
1409
+ },
1410
+ {
1411
+ "name": "source.ballerina",
1412
+ "match": "(?:[a-zA-Z_][a-zA-Z0-9_]*)|(?:\\^\"([^|\"\\\\\\f\\n\\r\\t]|\\\\\\\\[btnfr]|\\\\[|\"\\\\/])+\")"
1413
+ }
1414
+ ]
1415
+ }
1416
+ ]
1417
+ },
1495
1418
  "workerBody": {
1496
1419
  "patterns": [
1497
1420
  {