github-linguist 7.1.3 → 7.2.0

Sign up to get free protection for your applications and to get access to all the features.
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
  {