github-linguist 7.4.0 → 7.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +5 -5
  2. data/grammars/annotation.liquidhaskell.haskell.json +15 -4
  3. data/grammars/hint.haskell.json +15 -4
  4. data/grammars/hint.message.haskell.json +15 -4
  5. data/grammars/hint.type.haskell.json +15 -4
  6. data/grammars/source.abap.json +14 -3
  7. data/grammars/source.apl.json +19 -2
  8. data/grammars/source.ats.json +17 -87
  9. data/grammars/source.ballerina.json +14 -19
  10. data/grammars/source.crystal.json +14 -2
  11. data/grammars/source.csound.json +37 -0
  12. data/grammars/source.css.json +25 -1
  13. data/grammars/source.css.scss.json +1724 -0
  14. data/grammars/source.gf.json +51 -0
  15. data/grammars/source.glsl.json +1 -1
  16. data/grammars/source.hack.json +2523 -0
  17. data/grammars/source.haskell.json +15 -4
  18. data/grammars/source.hc.json +709 -0
  19. data/grammars/source.hsig.json +15 -4
  20. data/grammars/source.hx.json +10 -6
  21. data/grammars/source.jolie.json +1 -1
  22. data/grammars/source.julia.json +114 -6
  23. data/grammars/source.m68k.json +412 -0
  24. data/grammars/source.mcfunction.json +62 -18
  25. data/grammars/source.objectscript.json +309 -0
  26. data/grammars/source.objectscript_class.json +674 -0
  27. data/grammars/source.objectscript_csp.json +19 -0
  28. data/grammars/source.objectscript_macros.json +226 -0
  29. data/grammars/source.powershell.json +21 -57
  30. data/grammars/source.rust.json +1 -1
  31. data/grammars/source.sass.json +836 -142
  32. data/grammars/source.sassdoc.json +346 -0
  33. data/grammars/source.scala.json +110 -10
  34. data/grammars/source.sqf.json +2 -1
  35. data/grammars/source.svelte.json +827 -0
  36. data/grammars/source.ts.json +8 -4
  37. data/grammars/source.tsql.json +507 -0
  38. data/grammars/source.tsx.json +8 -4
  39. data/grammars/source.viml.json +1 -1
  40. data/grammars/source.vtt.json +702 -0
  41. data/grammars/source.wollok.json +100 -0
  42. data/grammars/source.xojo.json +85 -0
  43. data/grammars/source.yara.json +3 -2
  44. data/grammars/source.zeek.json +412 -0
  45. data/grammars/source.zenscript.json +282 -0
  46. data/grammars/source.zig.json +2 -11
  47. data/grammars/text.haml.json +1 -1
  48. data/grammars/text.html.php.blade.json +3 -3
  49. data/grammars/text.html.vue.json +41 -1
  50. data/grammars/text.slim.json +1 -1
  51. data/grammars/text.tex.latex.haskell.json +15 -4
  52. data/grammars/version +1 -1
  53. data/lib/linguist/VERSION +1 -1
  54. data/lib/linguist/blob_helper.rb +5 -10
  55. data/lib/linguist/generated.rb +10 -2
  56. data/lib/linguist/heuristics.yml +14 -3
  57. data/lib/linguist/language.rb +3 -2
  58. data/lib/linguist/languages.json +1 -1
  59. data/lib/linguist/languages.yml +151 -16
  60. data/lib/linguist/samples.json +9844 -1711
  61. data/lib/linguist/samples.rb +8 -5
  62. data/lib/linguist/shebang.rb +6 -0
  63. data/lib/linguist/vendor.yml +3 -0
  64. metadata +25 -10
  65. data/grammars/source.bro.json +0 -403
  66. data/grammars/source.scss.json +0 -1287
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: fd3201b062e25699ef1953bb75bb31455120b7d6c2c7689564a98d96a933b3da
4
- data.tar.gz: e200f00dbc2d5b4328e1e5220e643689d815bf6f9bcc5937bd93959293b10f7a
2
+ SHA1:
3
+ metadata.gz: b4bd8cbabd12cf542c9a8bc799551db93e999282
4
+ data.tar.gz: 1b78e284c91ab90733cff84352ef094db30bd7d6
5
5
  SHA512:
6
- metadata.gz: 495e7265faf020f90d0fb18b03d71710f29ef76fd41c55089299063919cad982610995a033e4e4589b90a9646f9181b6e02789cdf31fb2a6cf35b61c8b8504b4
7
- data.tar.gz: 9c524474881806301b778388aae07180b708228f4b59c308b52cece0c5ae55eb70a6039ecbed4dbf7242e31578e8858cec00916a00d987bbf2e36038a0836198
6
+ metadata.gz: ccecdad32127c65eb97c90b4b528156e6a9ce920793565b911aefdef7f800afa7dc981b129013f89da814ba292453ca3d4e926a54df31fe7b20a36a2153789e1
7
+ data.tar.gz: 41058eaf75540117bb28b5a9634b98189aa0578050fc7ddbd0cc20963edbaa0a893f3458f19e7b1f76b390133060a1ae3df0851e1d2ebea4ee01143723d93a83
@@ -377,7 +377,7 @@
377
377
  {
378
378
  "name": "meta.declaration.instance.deriving.haskell",
379
379
  "contentName": "meta.type-signature.haskell",
380
- "begin": "(?:\\G(?:\\s*\\w+\\s)?|^)([ \\t]*)(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s+(instance)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
380
+ "begin": "(?:\\G(?:\\s*\\w+\\s)?|^)([ \\t]*)(?:(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s+|(deriving)\\s+(via)\\s+(.*)\\s+)?(instance)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
381
381
  "end": "(?:^(?!\\1[ \\t]|[ \\t]*$)|(?=@-}))",
382
382
  "patterns": [
383
383
  {
@@ -385,9 +385,6 @@
385
385
  },
386
386
  {
387
387
  "include": "#type_signature"
388
- },
389
- {
390
- "include": "#deriving_via"
391
388
  }
392
389
  ],
393
390
  "beginCaptures": {
@@ -403,6 +400,20 @@
403
400
  },
404
401
  "4": {
405
402
  "name": "keyword.other.haskell"
403
+ },
404
+ "5": {
405
+ "name": "keyword.other.haskell"
406
+ },
407
+ "6": {
408
+ "name": "meta.type-signature.haskell",
409
+ "patterns": [
410
+ {
411
+ "include": "#type_signature"
412
+ }
413
+ ]
414
+ },
415
+ "7": {
416
+ "name": "keyword.other.haskell"
406
417
  }
407
418
  }
408
419
  }
@@ -359,7 +359,7 @@
359
359
  {
360
360
  "name": "meta.declaration.instance.deriving.haskell",
361
361
  "contentName": "meta.type-signature.haskell",
362
- "begin": "^([ \\t]*)(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s+(instance)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
362
+ "begin": "^([ \\t]*)(?:(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s+|(deriving)\\s+(via)\\s+(.*)\\s+)?(instance)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
363
363
  "end": "^(?!\\1[ \\t]|[ \\t]*$)",
364
364
  "patterns": [
365
365
  {
@@ -367,9 +367,6 @@
367
367
  },
368
368
  {
369
369
  "include": "#type_signature"
370
- },
371
- {
372
- "include": "#deriving_via"
373
370
  }
374
371
  ],
375
372
  "beginCaptures": {
@@ -385,6 +382,20 @@
385
382
  },
386
383
  "4": {
387
384
  "name": "keyword.other.haskell"
385
+ },
386
+ "5": {
387
+ "name": "keyword.other.haskell"
388
+ },
389
+ "6": {
390
+ "name": "meta.type-signature.haskell",
391
+ "patterns": [
392
+ {
393
+ "include": "#type_signature"
394
+ }
395
+ ]
396
+ },
397
+ "7": {
398
+ "name": "keyword.other.haskell"
388
399
  }
389
400
  }
390
401
  }
@@ -383,7 +383,7 @@
383
383
  {
384
384
  "name": "meta.declaration.instance.deriving.haskell",
385
385
  "contentName": "meta.type-signature.haskell",
386
- "begin": "^([ \\t]*)(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s+(instance)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
386
+ "begin": "^([ \\t]*)(?:(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s+|(deriving)\\s+(via)\\s+(.*)\\s+)?(instance)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
387
387
  "end": "^(?!\\1[ \\t]|[ \\t]*$)",
388
388
  "patterns": [
389
389
  {
@@ -391,9 +391,6 @@
391
391
  },
392
392
  {
393
393
  "include": "#type_signature"
394
- },
395
- {
396
- "include": "#deriving_via"
397
394
  }
398
395
  ],
399
396
  "beginCaptures": {
@@ -409,6 +406,20 @@
409
406
  },
410
407
  "4": {
411
408
  "name": "keyword.other.haskell"
409
+ },
410
+ "5": {
411
+ "name": "keyword.other.haskell"
412
+ },
413
+ "6": {
414
+ "name": "meta.type-signature.haskell",
415
+ "patterns": [
416
+ {
417
+ "include": "#type_signature"
418
+ }
419
+ ]
420
+ },
421
+ "7": {
422
+ "name": "keyword.other.haskell"
412
423
  }
413
424
  }
414
425
  }
@@ -356,7 +356,7 @@
356
356
  {
357
357
  "name": "meta.declaration.instance.deriving.haskell",
358
358
  "contentName": "meta.type-signature.haskell",
359
- "begin": "^([ \\t]*)(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s+(instance)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
359
+ "begin": "^([ \\t]*)(?:(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s+|(deriving)\\s+(via)\\s+(.*)\\s+)?(instance)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
360
360
  "end": "^(?!\\1[ \\t]|[ \\t]*$)",
361
361
  "patterns": [
362
362
  {
@@ -364,9 +364,6 @@
364
364
  },
365
365
  {
366
366
  "include": "#type_signature"
367
- },
368
- {
369
- "include": "#deriving_via"
370
367
  }
371
368
  ],
372
369
  "beginCaptures": {
@@ -382,6 +379,20 @@
382
379
  },
383
380
  "4": {
384
381
  "name": "keyword.other.haskell"
382
+ },
383
+ "5": {
384
+ "name": "keyword.other.haskell"
385
+ },
386
+ "6": {
387
+ "name": "meta.type-signature.haskell",
388
+ "patterns": [
389
+ {
390
+ "include": "#type_signature"
391
+ }
392
+ ]
393
+ },
394
+ "7": {
395
+ "name": "keyword.other.haskell"
385
396
  }
386
397
  }
387
398
  }
@@ -24,6 +24,10 @@
24
24
  "name": "comment.line.pragma.abap",
25
25
  "match": "(?\u003c![^\\s])##.*?(?=([\\.:,\\s]))"
26
26
  },
27
+ {
28
+ "name": "variable.other.abap",
29
+ "match": "(?i)(?\u003c=\\s)([a-z_/][a-z_0-9/]*)(?=\\s+=\\s+)"
30
+ },
27
31
  {
28
32
  "name": "constant.numeric.abap",
29
33
  "match": "\\b[0-9]+(\\b|\\.|,)"
@@ -281,8 +285,15 @@
281
285
  ]
282
286
  },
283
287
  "keywords_followed_by_braces": {
284
- "name": "keyword.control.simple.abap",
285
- "match": "(?ix)\\b(data|value|field-symbol)(?=\\()"
288
+ "match": "(?ix)\\b(data|value|field-symbol)\\((\u003c?[a-z_\\/][a-z_0-9\\/]*\u003e?)\\)",
289
+ "captures": {
290
+ "1": {
291
+ "name": "keyword.control.simple.abap"
292
+ },
293
+ "2": {
294
+ "name": "variable.other.abap"
295
+ }
296
+ }
286
297
  },
287
298
  "logical_operator": {
288
299
  "name": "keyword.operator.arithmetic.abap",
@@ -290,7 +301,7 @@
290
301
  },
291
302
  "main_keywords": {
292
303
  "name": "keyword.control.simple.abap",
293
- "match": "(?ix)(?\u003c=^|\\s)(\n\t abstract|add|add-corresponding|adjacent|alias|aliases|all|append|appending|ascending|as|assert|assign|assigned|assigning|association|authority-check|\n\t back|begin|binary|block|bound|break-point|by|byte|\n\t call|cast|changing|check|class-data|class-method|class-methods|clear|close|cnt|collect|commit|cond|character|\n\t corresponding|communication|component|compute|concatenate|condense|constants|conv|count|\n\t controls|convert|create|currency|\n\t data|descending|default|define|deferred|delete|describe|detail|display|divide|divide-corresponding|display-mode|duplicates|\n\t deleting|\n\t editor-call|end|endexec|endfunction|ending|endmodule|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|exit-command|\n\t endprovide|endselect|endtry|endwhile|enum|event|events|exec|exit|export|\n\t exporting|extract|exception|exceptions|\n\t field-symbols|field-groups|field|first|fetch|fields|format|frame|free|from|function|find|for|function-pool|\n\t generate|get|\n\t handle|hide|hashed|\n\t include|import|importing|index|infotypes|initial|initialization|\n\t id|is|in|interface|interfaces|input|insert|into|\n\t\t\tkey|\n\t left-justified|leave|like|line|line-count|line-size|load|local|log-point|length|left|leading|lower|\n\t matchcode|method|mesh|message|message-id|methods|modify|module|move|move-corresponding|multiply|multiply-corresponding|match|\n\t\t\tnew|new-line|new-page|new-section|no|no-gap|no-gaps|no-sign|no-zero|non-unique|number|\n\t occurrence|object|obligatory|of|overlay|optional|others|occurrences|occurs|offset|options|\n\t pack|parameters|perform|places|position|print-control|private|program|protected|provide|public|put|\n\t radiobutton|raising|ranges|receive|receiving|redefinition|reference|refresh|regex|reject|results|requested|\n\t ref|replace|report|reserve|restore|result|return|returning|right-justified|rollback|read|read-only|rp-provide-from-last|run|\n\t scan|screen|scroll|search|select|select-options|selection-screen|stamp|source|subkey|\n\t separated|set|shift|single|skip|sort|sorted|split|standard|stamp|starting|start-of-selection|sum|subtract-corresponding|statics|step|stop|structure|submatches|submit|subtract|summary|supplied|suppress|section|syntax-check|syntax-trace|system-call|switch|\n\t tables|table|task|testing|test-seam|test-injection|then|time|times|title|titlebar|to|top-of-page|trailing|transfer|transformation|translate|transporting|types|type|type-pool|type-pools|\n\t unassign|unique|uline|unpack|update|upper|using|\n\t value|\n\t when|while|window|write|where|with|work|\n\t\txml)(?=\\s|\\.|:|,)"
304
+ "match": "(?ix)(?\u003c=^|\\s)(\n\t abstract|add|add-corresponding|adjacent|alias|aliases|all|append|appending|ascending|as|assert|assign|assigned|assigning|association|authority-check|\n\t back|begin|binary|block|bound|break-point|by|byte|\n\t call|cast|changing|check|class-data|class-method|class-methods|clear|close|cnt|collect|commit|cond|character|\n\t corresponding|communication|component|compute|concatenate|condense|constants|conv|count|\n\t controls|convert|create|currency|\n\t data|descending|default|define|deferred|delete|describe|detail|display|divide|divide-corresponding|display-mode|duplicates|\n\t deleting|\n\t editor-call|end|endexec|endfunction|ending|endmodule|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|exit-command|\n\t endprovide|endselect|endtry|endwhile|enum|event|events|exec|exit|export|\n\t exporting|extract|exception|exceptions|\n\t field-symbols|field-groups|field|first|fetch|fields|format|frame|free|from|function|find|for|found|function-pool|\n\t generate|get|\n\t handle|hide|hashed|\n\t include|import|importing|index|infotypes|initial|initialization|\n\t id|is|in|interface|interfaces|input|insert|instance|into|\n\t\t\tkey|\n\t left-justified|leave|like|line|line-count|line-size|load|local|log-point|length|left|leading|lower|\n\t matchcode|method|mesh|message|message-id|methods|modify|module|move|move-corresponding|multiply|multiply-corresponding|match|\n\t\t\tnew|new-line|new-page|new-section|no|no-gap|no-gaps|no-sign|no-zero|non-unique|number|\n\t occurrence|object|obligatory|of|output|overlay|optional|others|occurrences|occurs|offset|options|\n\t pack|parameters|perform|places|position|print-control|private|program|protected|provide|public|put|\n\t radiobutton|raising|ranges|receive|receiving|redefinition|reference|refresh|regex|reject|results|requested|\n\t ref|replace|report|reserve|restore|result|return|returning|right-justified|rollback|read|read-only|rp-provide-from-last|run|\n\t scan|screen|scroll|search|select|select-options|selection-screen|stamp|source|subkey|\n\t separated|set|shift|single|skip|sort|sorted|split|standard|stamp|starting|start-of-selection|sum|subtract-corresponding|statics|step|stop|structure|submatches|submit|subtract|summary|supplied|suppress|section|syntax-check|syntax-trace|system-call|switch|\n\t tables|table|task|testing|test-seam|test-injection|then|time|times|title|titlebar|to|top-of-page|trailing|transfer|transformation|translate|transporting|types|type|type-pool|type-pools|\n\t unassign|unique|uline|unpack|update|upper|using|\n\t value|\n\t when|while|window|write|where|with|work|\n\t\txml)(?=\\s|\\.|:|,)"
294
305
  },
295
306
  "operators": {
296
307
  "patterns": [
@@ -306,9 +306,26 @@
306
306
  "patterns": [
307
307
  {
308
308
  "name": "meta.function.apl",
309
- "begin": "(?x) ^\\s*? (?# 1: keyword.operator.nabla.apl) (∇) (?: \\s* (?: (?# 2: entity.function.return-value.apl) ( [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* ) | \\s* (?# 3: entity.function.return-value.shy.apl) ( (\\{) (?# 4: punctuation.definition.return-value.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\}) (?# 5: punctuation.definition.return-value.end.apl) | (\\() (?# 6: punctuation.definition.return-value.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\)) (?# 7: punctuation.definition.return-value.end.apl) | (\\(\\s*\\{) (?# 8: punctuation.definition.return-value.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\}\\s*\\)) (?# 9: punctuation.definition.return-value.end.apl) | (\\{\\s*\\() (?# 10: punctuation.definition.return-value.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\)\\s*\\}) (?# 11: punctuation.definition.return-value.end.apl) ) \\s* ) \\s* (?# 12: keyword.operator.assignment.apl) (←) )? \\s* (?: (?# MONADIC) (?: (?# 13: entity.function.name.apl) ( [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* ) \\s* (?# 14: entity.function.axis.apl) ( (?# 15: punctuation.definition.axis.begin.apl) (\\[) \\s* (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* (?# 16: invalid.illegal.extra-characters.apl) (.*?) | (?# 17: invalid.illegal.apl) ([^\\]]*) ) \\s* (?# 18: punctuation.definition.axis.end.apl) (\\]) )? \\s*? (?# 19: entity.function.arguments.right.apl) ( (?\u003c=\\s|\\]) [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* | (\\() (?# 20: punctuation.definition.arguments.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\)) (?# 21: punctuation.definition.arguments.end.apl) ) \\s* (?=;|$) ) | (?# DYADIC/AMBIVALENT) (?#==================) (?: (?# 22: entity.function.arguments.left.apl) ( [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s+ ) | (?# 23: entity.function.arguments.left.optional.apl) ( (\\{) (?# 24: punctuation.definition.arguments.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\}) (?# 25: punctuation.definition.arguments.end.apl) | (\\(\\s*\\{) (?# 26: punctuation.definition.arguments.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\}\\s*\\)) (?# 27: punctuation.definition.arguments.end.apl) | (\\{\\s*\\() (?# 28: punctuation.definition.arguments.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\)\\s*\\}) (?# 29: punctuation.definition.arguments.end.apl) ) )? \\s* (?: (?# 30: entity.function.name.apl) ( [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* ) \\s* (?# 31: entity.function.axis.apl) ( (?# 32: punctuation.definition.axis.begin.apl) (\\[) \\s* (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* (?# 33: invalid.illegal.extra-characters.apl) (.*?) | (?# 34: invalid.illegal.apl) ([^\\]]*) ) \\s* (?# 35: punctuation.definition.axis.end.apl) (\\]) )? | (?# 36: entity.function.operands.apl) ( (?# 37: punctuation.definition.operands.begin.apl) (\\() (?# 38: entity.function.operands.left.apl) ( \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* )? \\s* (?# 39: entity.function.name.apl) ( [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* ) \\s*? (?# 40: entity.function.axis.apl) ( (?# 41: punctuation.definition.axis.begin.apl) (\\[) \\s* (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* (?# 42: invalid.illegal.extra-characters.apl) (.*?) | (?# 43: invalid.illegal.apl) ([^\\]]*) ) \\s* (?# 44: punctuation.definition.axis.end.apl) (\\]) )? \\s* (?# 45: entity.function.operands.right.apl) ( [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )? (?# 46: punctuation.definition.operands.end.apl) (\\)) ) ) \\s* (?# 47: entity.function.arguments.right.apl) ( (?\u003c=\\s|\\]) [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* | \\s* (\\() (?# 48: punctuation.definition.arguments.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\)) (?# 49: punctuation.definition.arguments.end.apl) )? (?#==================) ) \\s* (?# 50: invalid.illegal.arguments.right.apl) ([^;]+)? (?# 51: entity.function.local-variables.apl) ( (?# 52: Include “;”) ( (?: \\s* ; (?: \\s* [⎕A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )+ )+ ) | (?# 53: invalid.illegal.local-variables.apl) ([^⍝]+) )? \\s* (?# 54: comment.line.apl) (⍝.*)? $",
309
+ "begin": "(?x) ^\\s*? (?# 1: keyword.operator.nabla.apl) (∇) (?: \\s* (?: (?# 2: entity.function.return-value.apl) ( [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* ) | \\s* (?# 3: entity.function.return-value.shy.apl) ( (\\{) (?# 4: punctuation.definition.return-value.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\}) (?# 5: punctuation.definition.return-value.end.apl) | (\\() (?# 6: punctuation.definition.return-value.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\)) (?# 7: punctuation.definition.return-value.end.apl) | (\\(\\s*\\{) (?# 8: punctuation.definition.return-value.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\}\\s*\\)) (?# 9: punctuation.definition.return-value.end.apl) | (\\{\\s*\\() (?# 10: punctuation.definition.return-value.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\)\\s*\\}) (?# 11: punctuation.definition.return-value.end.apl) ) \\s* ) \\s* (?# 12: keyword.operator.assignment.apl) (←) )? \\s* (?: (?# MONADIC) (?: (?# 13: entity.function.name.apl) ( [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* ) \\s* (?# 14: entity.function.axis.apl) ( (?# 15: punctuation.definition.axis.begin.apl) (\\[) \\s* (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* (?# 16: invalid.illegal.extra-characters.apl) (.*?) | (?# 17: invalid.illegal.apl) ([^\\]]*) ) \\s* (?# 18: punctuation.definition.axis.end.apl) (\\]) )? \\s*? (?# 19: entity.function.arguments.right.apl) ( (?\u003c=\\s|\\]) [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* | (\\() (?# 20: punctuation.definition.arguments.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\)) (?# 21: punctuation.definition.arguments.end.apl) ) \\s* (?=;|$) ) | (?# DYADIC/AMBIVALENT) (?#==================) (?: (?# 22: entity.function.arguments.left.apl) ( [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s+ ) | (?# 23: entity.function.arguments.left.optional.apl) ( (\\{) (?# 24: punctuation.definition.arguments.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\}) (?# 25: punctuation.definition.arguments.end.apl) | (\\(\\s*\\{) (?# 26: punctuation.definition.arguments.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\}\\s*\\)) (?# 27: punctuation.definition.arguments.end.apl) | (\\{\\s*\\() (?# 28: punctuation.definition.arguments.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\)\\s*\\}) (?# 29: punctuation.definition.arguments.end.apl) ) )? \\s* (?: (?# 30: entity.function.name.apl) ( [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* ) \\s* (?# 31: entity.function.axis.apl) ( (?# 32: punctuation.definition.axis.begin.apl) (\\[) \\s* (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* (?# 33: invalid.illegal.extra-characters.apl) (.*?) | (?# 34: invalid.illegal.apl) ([^\\]]*) ) \\s* (?# 35: punctuation.definition.axis.end.apl) (\\]) )? | (?# 36: entity.function.operands.apl) ( (?# 37: punctuation.definition.operands.begin.apl) (\\() (?# 38: entity.function.operands.left.apl) ( \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* )? \\s* (?# 39: entity.function.name.apl) ( [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* ) \\s*? (?# 40: entity.function.axis.apl) ( (?# 41: punctuation.definition.axis.begin.apl) (\\[) \\s* (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* (?# 42: invalid.illegal.extra-characters.apl) (.*?) | (?# 43: invalid.illegal.apl) ([^\\]]*) ) \\s* (?# 44: punctuation.definition.axis.end.apl) (\\]) )? \\s* (?# 45: entity.function.operands.right.apl) ( [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )? (?# 46: punctuation.definition.operands.end.apl) (\\)) ) ) \\s* (?# 47: entity.function.arguments.right.apl) ( (?\u003c=\\s|\\]) [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* | \\s* (\\() (?# 48: punctuation.definition.arguments.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\)) (?# 49: punctuation.definition.arguments.end.apl) )? (?#==================) ) \\s* (?# 50: invalid.illegal.arguments.right.apl) ([^;]+)? (?# 51: entity.function.local-variables.apl) ( (?# 52: Include “;”) ( (?\u003e \\s* ; (?: \\s* [⎕A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )+ )+ ) | (?# 53: invalid.illegal.local-variables.apl) ([^⍝]+) )? \\s* (?# 54: comment.line.apl) (⍝.*)? $",
310
310
  "end": "^\\s*?(?:(∇)|(⍫))\\s*?(⍝.*?)?$",
311
311
  "patterns": [
312
+ {
313
+ "name": "entity.function.definition.apl",
314
+ "match": "(?x)\n^\\s*\n(\n\t(?\u003e\n\t\t;\n\t\t(?:\n\t\t\t\\s*\n\t\t\t[⎕A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ]\n\t\t\t[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\n\t\t\t\\s*\n\t\t)+\n\t)+\n)",
315
+ "captures": {
316
+ "0": {
317
+ "name": "entity.function.local-variables.apl"
318
+ },
319
+ "1": {
320
+ "patterns": [
321
+ {
322
+ "name": "punctuation.separator.apl",
323
+ "match": ";"
324
+ }
325
+ ]
326
+ }
327
+ }
328
+ },
312
329
  {
313
330
  "include": "$self"
314
331
  }
@@ -853,7 +870,7 @@
853
870
  },
854
871
  "number": {
855
872
  "name": "constant.numeric.apl",
856
- "match": "(?:[¯0-9]|\\.[0-9])[¯0-9A-Za-z]*"
873
+ "match": "¯?[0-9][¯0-9A-Za-z]*(?:\\.[¯0-9Ee][¯0-9A-Za-z]*)*|¯?\\.[0-9Ee][¯0-9A-Za-z]*"
857
874
  },
858
875
  "sck": {
859
876
  "patterns": [
@@ -2,12 +2,6 @@
2
2
  "name": "ATS",
3
3
  "scopeName": "source.ats",
4
4
  "patterns": [
5
- {
6
- "include": "#quantifier_curly"
7
- },
8
- {
9
- "include": "#quantifier_square"
10
- },
11
5
  {
12
6
  "include": "#block"
13
7
  },
@@ -18,10 +12,7 @@
18
12
  "include": "#comment_line"
19
13
  },
20
14
  {
21
- "include": "#comment_block_c"
22
- },
23
- {
24
- "include": "#comment_block_sml"
15
+ "include": "#comment_block"
25
16
  },
26
17
  {
27
18
  "include": "#embed"
@@ -30,13 +21,13 @@
30
21
  "include": "#operators"
31
22
  },
32
23
  {
33
- "include": "#quantifier_arrow"
24
+ "include": "#quantifier_curly"
34
25
  },
35
26
  {
36
- "include": "#definition_function"
27
+ "include": "#quantifier_square"
37
28
  },
38
29
  {
39
- "include": "#definition_type"
30
+ "include": "#quantifier_arrow"
40
31
  },
41
32
  {
42
33
  "include": "#keywords"
@@ -44,9 +35,6 @@
44
35
  {
45
36
  "include": "#keywords_types"
46
37
  },
47
- {
48
- "include": "#false_true"
49
- },
50
38
  {
51
39
  "include": "#string"
52
40
  },
@@ -61,16 +49,12 @@
61
49
  },
62
50
  {
63
51
  "include": "#number"
64
- },
65
- {
66
- "include": "#identifier"
67
52
  }
68
53
  ],
69
54
  "repository": {
70
55
  "block": {
71
- "name": "meta.block",
72
- "begin": "(?\u003c=where|=|^|then|else|\\$rec|\\$rec_t|\\$rec_vt)(?:\\s*)\\{",
73
- "end": "\\}",
56
+ "begin": "(?\u003c=where|=|^|then|else|\\$rec|\\$rec_t|\\$rec_vt)(?:\\s*){",
57
+ "end": "}",
74
58
  "patterns": [
75
59
  {
76
60
  "include": "$self"
@@ -82,19 +66,13 @@
82
66
  "name": "string.quoted.double",
83
67
  "match": "(')([^\\\\]{0,1}|\\\\(\\\\|[abefpnrtv'\"?]|[0-3]\\d{0,2}|[4-7]\\d?|x[a-fA-F0-9]{0,2}|u[a-fA-F0-9]{0,4}|U[a-fA-F0-9]{0,8}))(')"
84
68
  },
85
- "comment_block_c": {
86
- "name": "comment.block",
87
- "begin": "/\\*",
88
- "end": "\\*/",
89
- "applyEndPatternLast": true
90
- },
91
- "comment_block_sml": {
69
+ "comment_block": {
92
70
  "name": "comment.block",
93
71
  "begin": "\\(\\*",
94
72
  "end": "\\*\\)",
95
73
  "patterns": [
96
74
  {
97
- "include": "#comment_block_sml"
75
+ "include": "#comment_block"
98
76
  }
99
77
  ],
100
78
  "applyEndPatternLast": true
@@ -104,7 +82,7 @@
104
82
  "match": "//.*$"
105
83
  },
106
84
  "comment_rest": {
107
- "name": "comment.block",
85
+ "name": "comment",
108
86
  "begin": "////",
109
87
  "end": ".\\z",
110
88
  "patterns": [
@@ -114,66 +92,18 @@
114
92
  ],
115
93
  "applyEndPatternLast": true
116
94
  },
117
- "definition_function": {
118
- "name": "meta.function-definition",
119
- "begin": "\\b(?:castfn|fn|fun|implement|implmnt|infixl|infixr|infix|overload|postfix|praxi|prfn|prfun|primplement|primplmnt|var)\\b",
120
- "end": "\\b[a-zA-Z][a-zA-Z0-9_']*\\b",
121
- "patterns": [
122
- {
123
- "include": "$self"
124
- }
125
- ],
126
- "beginCaptures": {
127
- "0": {
128
- "name": "keyword"
129
- }
130
- },
131
- "endCaptures": {
132
- "0": {
133
- "name": "entity.name.function"
134
- }
135
- }
136
- },
137
- "definition_type": {
138
- "name": "meta.type-definition",
139
- "begin": "\\b(abstype|abst@ype|abst0pe|absvtype|absvt@ype|absvt0pe|absviewtype|absviewt@ype|absviewt0pe|absview|absprop|datatype|datavtype|dataviewtype|dataview|dataprop|datasort|sortdef|propdef|viewdef|viewtypedef|vtypedef|stadef|stacst|typedef)\\b",
140
- "end": "\\b[a-zA-Z][a-zA-Z0-9_']*\\b",
141
- "patterns": [
142
- {
143
- "include": "$self"
144
- }
145
- ],
146
- "beginCaptures": {
147
- "0": {
148
- "name": "keyword"
149
- }
150
- },
151
- "endCaptures": {
152
- "0": {
153
- "name": "entity.name.type storage.type"
154
- }
155
- }
156
- },
157
95
  "embed": {
158
96
  "name": "meta",
159
97
  "begin": "(%{)",
160
98
  "end": "(%})"
161
99
  },
162
- "false_true": {
163
- "name": "constant.language.boolean",
164
- "match": "\\b(?:false|true)\\b"
165
- },
166
- "identifier": {
167
- "name": "identifier",
168
- "match": "\\b[a-zA-Z][a-zA-Z0-9_']*\\b"
169
- },
170
100
  "keywords": {
171
101
  "name": "keyword",
172
- "match": "(\\#|\\$)(\\w+)|\\b(castfn|and|andalso|assume|as|begin|break|case(\\+|-)?|class|continue|dynload|dyn|else|end|exception|extern|fix|fn|for|fun|if|implement|implmnt|primplement|primplmnt|infixl|infixr|infix|in|lam|let|llam|local|macdef|macrodef|method|modprop|modtype|module|nonfix|object|of|op|or|orelse|overload|par|postfix|praxi|prefix|prfn|prfun|prval|rec|scase|sif|stacst|staif|staload|stavar|sta|struct|symelim|symintr|then|try|union|val(\\+|-)?|var|when|where|while|withprop|withtype|withviewtype|withview|with)\\b"
102
+ "match": "(\\#|\\$)(\\w+)|\\b(castfn|and|andalso|assume|as|begin|break|case(\\+|-)?|class|continue|dynload|dyn|else|end|exception|extern|fix|fn|for|fun|if|implement|implmnt|primplement|primplmnt|infixl|infixr|infix|in|lam|let|llam|local|macdef|macrodef|method|modprop|modtype|module|nonfix|object|of|op|or|orelse|overload|par|postfix|praxi|prefix|prfn|prfun|prval|rec|sif|staif|staload|stavar|sta|struct|symelim|symintr|then|try|union|val(\\+|-)?|var|when|where|while|withprop|withtype|withviewtype|withview|with)\\b"
173
103
  },
174
104
  "keywords_types": {
175
105
  "name": "keyword",
176
- "match": "(\\#|\\$)(\\w+)|\\b(abstype|abst@ype|abst0pe|absvtype|absvt@ype|absvt0pe|absviewtype|absviewt@ype|absviewt0pe|absview|absprop|datatype|datavtype|dataviewtype|dataview|dataprop|datasort|sortdef|propdef|viewdef|viewtypedef|vtypedef|stadef|typedef)\\b"
106
+ "match": "(\\#|\\$)(\\w+)|\\b(abstype|abst@ype|abst0pe|absvtype|absvt@ype|absvt0pe|absviewtype|absviewt@ype|absviewt0pe|absview|absprop|datatype|datavtype|dataviewtype|dataview|dataprop|datasort|sortdef|propdef|viewdef|viewtypedef|vtypedef|stadef|typedef|)\\b"
177
107
  },
178
108
  "number": {
179
109
  "name": "constant.numeric",
@@ -189,14 +119,14 @@
189
119
  "end": "\u003e"
190
120
  },
191
121
  "quantifier_curly": {
192
- "name": "support.type.quantifier.universal",
193
- "begin": "\\{(?=[\\S])",
194
- "end": "\\}"
122
+ "name": "support.type",
123
+ "begin": "({)",
124
+ "end": "(})"
195
125
  },
196
126
  "quantifier_square": {
197
- "name": "support.type.quantifier.existential",
198
- "begin": "\\[(?=[\\S])",
199
- "end": "\\]"
127
+ "name": "support.type",
128
+ "begin": "(\\[)",
129
+ "end": "(\\])"
200
130
  },
201
131
  "records": {
202
132
  "begin": "('|@)({)",
@@ -57,18 +57,22 @@
57
57
  ]
58
58
  },
59
59
  "annotationDefinition": {
60
- "begin": "\\bannotation\\b",
61
- "end": ";",
62
60
  "patterns": [
63
61
  {
64
- "include": "#typeDescription"
65
- }
66
- ],
67
- "beginCaptures": {
68
- "0": {
69
- "name": "keyword.ballerina"
62
+ "begin": "\\bannotation\\b",
63
+ "end": ";",
64
+ "patterns": [
65
+ {
66
+ "include": "#typeDescription"
67
+ }
68
+ ],
69
+ "beginCaptures": {
70
+ "0": {
71
+ "name": "keyword.ballerina"
72
+ }
73
+ }
70
74
  }
71
- }
75
+ ]
72
76
  },
73
77
  "booleans": {
74
78
  "patterns": [
@@ -245,9 +249,6 @@
245
249
  {
246
250
  "include": "#comment"
247
251
  },
248
- {
249
- "include": "#continuedType"
250
- },
251
252
  {
252
253
  "include": "#constrainType"
253
254
  },
@@ -937,7 +938,7 @@
937
938
  "patterns": [
938
939
  {
939
940
  "begin": "\\(",
940
- "end": "(?=\\,)|(?=\\|)|(?=\\:)|(?==\u003e)",
941
+ "end": "(?=\\,)|(?=\\|)|(?=\\:)|(?==\u003e)|(?=\\))",
941
942
  "patterns": [
942
943
  {
943
944
  "include": "#record"
@@ -1275,9 +1276,6 @@
1275
1276
  {
1276
1277
  "include": "#comment"
1277
1278
  },
1278
- {
1279
- "include": "#continuedType"
1280
- },
1281
1279
  {
1282
1280
  "include": "#constrainType"
1283
1281
  },
@@ -1376,9 +1374,6 @@
1376
1374
  {
1377
1375
  "include": "#tupleType"
1378
1376
  },
1379
- {
1380
- "include": "#continuedType"
1381
- },
1382
1377
  {
1383
1378
  "include": "#constrainType"
1384
1379
  },