tm-grammars 1.31.1 → 1.31.3

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.
package/README.md CHANGED
@@ -40,7 +40,7 @@ import { grammars } from 'tm-grammars'
40
40
  | `berry` | `be` | [berry-lang/berry](https://github.com/berry-lang/berry/blob/74611286b8d2d2c2ee16ea187029f2a9c4257f5f/tools/plugins/vscode/skiars.berry-1.2.0/syntaxes/berry.json) | [MIT](https://raw.githubusercontent.com/berry-lang/berry/master/LICENSE) | | | 2.63 kB |
41
41
  | `bibtex` | | [microsoft/vscode](https://github.com/microsoft/vscode/blob/9a2c94d213696a4453b6d9988b003d98e7646e75/extensions/latex/syntaxes/Bibtex.tmLanguage.json) | [MIT](https://raw.githubusercontent.com/microsoft/vscode/main/LICENSE.txt) | | | 4.51 kB |
42
42
  | `bicep` | | [Azure/bicep](https://github.com/Azure/bicep/blob/6252abb94141fc6e774a53652404be30f1cb9000/src/textmate/bicep.tmlanguage) | [MIT](https://raw.githubusercontent.com/Azure/bicep/main/LICENSE) | | | 4.92 kB |
43
- | `bird2` | `bird` | [bird-chinese-community/BIRD-tm-language-grammar](https://github.com/bird-chinese-community/BIRD-tm-language-grammar/blob/17a8d1d61d4bc1ba719e0025e3f8b283c68eddde/grammars/bird2.tmLanguage.json) | [MPL-2.0](https://raw.githubusercontent.com/bird-chinese-community/BIRD-tm-language-grammar/main/LICENSE) | | | 16.09 kB |
43
+ | `bird2` | `bird` | [bird-chinese-community/BIRD-tm-language-grammar](https://github.com/bird-chinese-community/BIRD-tm-language-grammar/blob/efd72e31c81f0fedafbb32eed36f4df0eff524f6/grammars/bird2.tmLanguage.json) | [MPL-2.0](https://raw.githubusercontent.com/bird-chinese-community/BIRD-tm-language-grammar/main/LICENSE) | | | 18.70 kB |
44
44
  | `blade` | | [laravel/vs-code-extension](https://github.com/laravel/vs-code-extension/blob/80726f64975dc935d6b925d8230cdc1ea075802a/syntaxes/blade.tmLanguage.json) | [MIT](https://raw.githubusercontent.com/laravel/vs-code-extension/main/LICENSE.md) | | `html-derivative` `html` `xml` `sql` `javascript` `json` `css` | 100.00 kB |
45
45
  | `bsl` | `1c` | [1c-syntax/vsc-language-1c-bsl](https://github.com/1c-syntax/vsc-language-1c-bsl/blob/2cde5a65a17b82b5363affadf5a620ebb0a026dc/syntaxes/1c.tmLanguage.json) | [MIT](https://raw.githubusercontent.com/1c-syntax/vsc-language-1c-bsl/refs/heads/master/LICENSE.md) | | `sdbl` | 32.60 kB |
46
46
  | `c` | | [microsoft/vscode](https://github.com/microsoft/vscode/blob/bd1abe08c38bb5deccf65610f8f3c03d2338d20d/extensions/cpp/syntaxes/c.tmLanguage.json) | [MIT](https://raw.githubusercontent.com/microsoft/vscode/main/LICENSE.txt) | | | 67.93 kB |
@@ -50,7 +50,7 @@ import { grammars } from 'tm-grammars'
50
50
  | `clarity` | | [hirosystems/clarity.tmbundle](https://github.com/hirosystems/clarity.tmbundle/blob/a187c9ccbbfeb91550f138c8d606888a902b7c98/Syntaxes/clarity.JSON-tmLanguage) | [MIT](https://raw.githubusercontent.com/stx-labs/clarity.tmbundle/main/LICENSE) | | | 13.47 kB |
51
51
  | `clojure` | `clj` | [microsoft/vscode](https://github.com/microsoft/vscode/blob/a1a4c0a63b1ad59e84f54b874744fe35dea9abe1/extensions/clojure/syntaxes/clojure.tmLanguage.json) | [MIT](https://raw.githubusercontent.com/microsoft/vscode/main/LICENSE.txt) | | | 6.02 kB |
52
52
  | `cmake` | | [twxs/vs.language.cmake](https://github.com/twxs/vs.language.cmake/blob/19b1b8fe2d68d72cf294d0c3c22f0a3fc54f8f6f/syntaxes/CMake.tmLanguage) | [MIT](https://raw.githubusercontent.com/twxs/vs.language.cmake/master/LICENSE) | | | 9.38 kB |
53
- | `cobol` | | [spgennard/vscode_cobol](https://github.com/spgennard/vscode_cobol/blob/28a53ee742017ec60055f2aaaf174aaf62e83c45/syntaxes/COBOL.tmLanguage.json) | [MIT](https://raw.githubusercontent.com/spgennard/vscode_cobol/main/LICENSE) | | `html` `java` | 37.32 kB |
53
+ | `cobol` | | [spgennard/vscode_cobol](https://github.com/spgennard/vscode_cobol/blob/7020540cc77e04fb2edc8503f906d51fa840bbe5/syntaxes/COBOL.tmLanguage.json) | [MIT](https://raw.githubusercontent.com/spgennard/vscode_cobol/main/LICENSE) | | `html` `java` | 37.30 kB |
54
54
  | `codeowners` | | [jasonnutter/vscode-codeowners](https://github.com/jasonnutter/vscode-codeowners/blob/219dee0ab25c1bfad0b9de84180117e71221a653/syntaxes/codeowners.tmLanguage.json) | [MIT](https://raw.githubusercontent.com/jasonnutter/vscode-codeowners/master/LICENSE.txt) | | | 471.00 B |
55
55
  | `codeql` | `ql` | [github/vscode-codeql](https://github.com/github/vscode-codeql/blob/a6266bbcc88702619ceb580253a65e8f83333c1b/syntaxes/ql.tmLanguage.json) | [MIT](https://raw.githubusercontent.com/github/vscode-codeql/main/LICENSE.md) | | | 25.78 kB |
56
56
  | `coffee` | `coffeescript` | [microsoft/vscode](https://github.com/microsoft/vscode/blob/ff58f5083f57b50e6a100ab60454dfb72fe21e80/extensions/coffeescript/syntaxes/coffeescript.tmLanguage.json) | [MIT](https://raw.githubusercontent.com/microsoft/vscode/main/LICENSE.txt) | | `javascript` | 25.88 kB |
@@ -153,7 +153,7 @@ import { grammars } from 'tm-grammars'
153
153
  | `move` | | [damirka/move-syntax](https://github.com/damirka/move-syntax/blob/03e44307aefd99bac3c10bda4430a22c92d6d476/syntaxes/move.tmLanguage.json) | [MIT](https://raw.githubusercontent.com/damirka/move-syntax/main/LICENSE) | | | 16.59 kB |
154
154
  | `narrat` | `nar` | [liana-p/narrat-syntax-highlighting-vscode](https://github.com/liana-p/narrat-syntax-highlighting-vscode/blob/00d4b410338fc50ca0ce77a1f7e873c1fb66d376/syntaxes/narrat.tmLanguage.yaml) | [MIT](https://raw.githubusercontent.com/liana-p/narrat-syntax-highlighting-vscode/main/LICENSE) | | | 3.38 kB |
155
155
  | `nextflow` | `nf` | [nextflow-io/vscode-language-nextflow](https://github.com/nextflow-io/vscode-language-nextflow/blob/720a2bd501837ca815acf4a225d9f3ba71a2adb0/syntaxes/nextflow.tmLanguage.json) | [MIT](https://raw.githubusercontent.com/nextflow-io/vscode-language-nextflow/main/LICENSE.md) | | `nextflow-groovy` | 4.11 kB |
156
- | `nextflow-groovy` | | [nextflow-io/vscode-language-nextflow](https://github.com/nextflow-io/vscode-language-nextflow/blob/406586f401aa7c808814d1148ade0fe05446605c/syntaxes/groovy.tmLanguage.json) | [MIT](https://raw.githubusercontent.com/nextflow-io/vscode-language-nextflow/main/LICENSE.md) | | | 9.85 kB |
156
+ | `nextflow-groovy` | | [nextflow-io/vscode-language-nextflow](https://github.com/nextflow-io/vscode-language-nextflow/blob/406586f401aa7c808814d1148ade0fe05446605c/syntaxes/groovy.tmLanguage.json) | [MIT](https://raw.githubusercontent.com/nextflow-io/vscode-language-nextflow/main/LICENSE.md) | | | 9.88 kB |
157
157
  | `nginx` | | [hangxingliu/vscode-nginx-conf-hint](https://github.com/hangxingliu/vscode-nginx-conf-hint/blob/49159c02fd09dce264ded7802c9499a0f09646f5/src/syntax/nginx.tmLanguage) | [GPL-3.0](https://raw.githubusercontent.com/hangxingliu/vscode-nginx-conf-hint/main/LICENSE) | | `lua` | 33.88 kB |
158
158
  | `nim` | | [pragmagic/vscode-nim](https://github.com/pragmagic/vscode-nim/blob/0272a0544ddf147fde98f8a8f2b624b7dcb19eb3/syntaxes/nim.json) | [NOASSERTION](https://raw.githubusercontent.com/pragmagic/vscode-nim/master/LICENSE) | | `c` `html` `xml` `javascript` `css` `glsl` `markdown` | 20.78 kB |
159
159
  | `nix` | | [nix-community/vscode-nix-ide](https://github.com/nix-community/vscode-nix-ide/blob/effbf3494a43250a537834805b305793994b9ca8/dist/nix.tmLanguage.json) | [MIT](https://raw.githubusercontent.com/nix-community/vscode-nix-ide/main/LICENSE) | [GitHub Sponsors: **@nix-community**](https://github.com/sponsors/nix-community) [Open Collective: **nix-community**](https://opencollective.com/nix-community) | `markdown-nix` | 13.87 kB |
@@ -232,7 +232,7 @@ import { grammars } from 'tm-grammars'
232
232
  | `turtle` | | [stardog-union/stardog-vsc](https://github.com/stardog-union/stardog-vsc/blob/3f1364b08bdbf4b4d77f123682db7d2b708b2f6e/stardog-rdf-grammars/syntaxes/turtle.tmLanguage.json) | | | | 3.49 kB |
233
233
  | `twig` | | [mblode/vscode-twig-language-2](https://github.com/mblode/vscode-twig-language-2/blob/82ae07ffe96656181ad8265c1fff008c8d1cdbba/src/syntaxes/twig.tmLanguage) | [MIT](https://raw.githubusercontent.com/mblode/vscode-twig-language-2/master/LICENSE.md) | [GitHub Sponsors: **@mblode**](https://github.com/sponsors/mblode) | `css` `javascript` `scss` `php` `python` `ruby` | 19.59 kB |
234
234
  | `typescript` | `ts` `cts` `mts` | [microsoft/vscode](https://github.com/microsoft/vscode/blob/210541906e5a96ab39f9c753f921b1bd35f4138b/extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json) | [MIT](https://raw.githubusercontent.com/microsoft/vscode/main/LICENSE.txt) | | | 160.03 kB |
235
- | `typespec` | `tsp` | [microsoft/typespec](https://github.com/microsoft/typespec/blob/2894420921882652a568ed22d5e245b26781b398/grammars/typespec.json) | [MIT](https://raw.githubusercontent.com/microsoft/typespec/main/LICENSE) | | | 22.57 kB |
235
+ | `typespec` | `tsp` | [microsoft/typespec](https://github.com/microsoft/typespec/blob/9bca04b6dd0c966b982b1ca920b59e245c050bed/grammars/typespec.json) | [MIT](https://raw.githubusercontent.com/microsoft/typespec/main/LICENSE) | | | 23.55 kB |
236
236
  | `typst` | `typ` | [nvarner/typst-lsp](https://github.com/nvarner/typst-lsp/blob/6972d4b9c2cbcb0551e203067f09ec84ca8f9df3/editors/vscode/typst.tmLanguage.json) | [MIT](https://raw.githubusercontent.com/nvarner/typst-lsp/master/LICENSE-MIT.txt) | | | 7.83 kB |
237
237
  | `v` | | [vlang/vscode-vlang](https://github.com/vlang/vscode-vlang/blob/dd675d51adac26ca3154938de18eaaecbbcbffd9/syntaxes/v.tmLanguage.json) | [MIT](https://raw.githubusercontent.com/vlang/vscode-vlang/master/LICENSE) | | | 12.43 kB |
238
238
  | `vala` | | [vala-lang/vala-vscode](https://github.com/vala-lang/vala-vscode/blob/8f825e95648326df2572d0522632251cdff4a43b/syntaxes/vala.YAML-tmLanguage) | [MIT](https://raw.githubusercontent.com/vala-lang/vala-vscode/master/LICENSE) | | | 3.12 kB |
@@ -20,10 +20,10 @@
20
20
  "include": "#strings"
21
21
  },
22
22
  {
23
- "include": "#numbers"
23
+ "include": "#ip-addresses"
24
24
  },
25
25
  {
26
- "include": "#ip-addresses"
26
+ "include": "#prefixes"
27
27
  },
28
28
  {
29
29
  "include": "#vpn-rd"
@@ -35,7 +35,7 @@
35
35
  "include": "#bgp-paths"
36
36
  },
37
37
  {
38
- "include": "#prefixes"
38
+ "include": "#print-statements"
39
39
  },
40
40
  {
41
41
  "include": "#template-definitions"
@@ -59,16 +59,13 @@
59
59
  "include": "#import-export-statements"
60
60
  },
61
61
  {
62
- "include": "#structural-keywords"
63
- },
64
- {
65
- "include": "#functional-keywords"
62
+ "include": "#variable-declarations"
66
63
  },
67
64
  {
68
- "include": "#semantic-modifiers"
65
+ "include": "#method-calls"
69
66
  },
70
67
  {
71
- "include": "#builtin-functions"
68
+ "include": "#function-calls"
72
69
  },
73
70
  {
74
71
  "include": "#method-properties"
@@ -80,34 +77,40 @@
80
77
  "include": "#data-types"
81
78
  },
82
79
  {
83
- "include": "#operators"
80
+ "include": "#constants"
84
81
  },
85
82
  {
86
- "include": "#constants"
83
+ "include": "#structural-keywords"
87
84
  },
88
85
  {
89
- "include": "#filter-names"
86
+ "include": "#protocol-phrases"
90
87
  },
91
88
  {
92
- "include": "#user-variables"
89
+ "include": "#functional-keywords"
93
90
  },
94
91
  {
95
- "include": "#function-calls"
92
+ "include": "#semantic-modifiers"
96
93
  },
97
94
  {
98
- "include": "#method-calls"
95
+ "include": "#builtin-functions"
99
96
  },
100
97
  {
101
- "include": "#variable-declarations"
98
+ "include": "#filter-names"
102
99
  },
103
100
  {
104
- "include": "#symbols"
101
+ "include": "#user-variables"
105
102
  },
106
103
  {
107
- "include": "#blocks"
104
+ "include": "#operators"
108
105
  },
109
106
  {
110
- "include": "#print-statements"
107
+ "include": "#numbers"
108
+ },
109
+ {
110
+ "include": "#symbols"
111
+ },
112
+ {
113
+ "include": "#blocks"
111
114
  }
112
115
  ],
113
116
  "repository": {
@@ -137,7 +140,10 @@
137
140
  "name": "constant.numeric.asn.bird"
138
141
  },
139
142
  {
140
- "include": "#numbers"
143
+ "include": "#operators"
144
+ },
145
+ {
146
+ "include": "#symbols"
141
147
  }
142
148
  ]
143
149
  }
@@ -218,7 +224,7 @@
218
224
  "builtin-functions": {
219
225
  "patterns": [
220
226
  {
221
- "match": "\\b(?:defined|unset|printn??|roa_check|aspa_check|aspa_check_downstream|aspa_check_upstream|from_hex|format|prepend|add|delete|filter|empty|reset|bt_assert|bt_test_suite|bt_test_same)\\b",
227
+ "match": "\\b(?:defined|unset|roa_check|aspa_check|aspa_check_downstream|aspa_check_upstream|from_hex|format|append|prepend|add|delete|empty|reset|bt_assert|bt_test_suite|bt_test_same)\\b",
222
228
  "name": "support.function.builtin.bird"
223
229
  }
224
230
  ]
@@ -226,7 +232,11 @@
226
232
  "bytestrings": {
227
233
  "patterns": [
228
234
  {
229
- "match": "\\b(?:hex:)?(?:\\h{2}[-.:\\s]*){2,}\\h{2}\\b",
235
+ "match": "\\bhex:\\h{2}(?:[-.:\\s]*\\h{2})*\\b",
236
+ "name": "constant.numeric.bytestring.bird"
237
+ },
238
+ {
239
+ "match": "\\b(?:\\h{2}[-.:\\s]*){15,}\\h{2}\\b",
230
240
  "name": "constant.numeric.bytestring.bird"
231
241
  },
232
242
  {
@@ -307,7 +317,7 @@
307
317
  "data-types": {
308
318
  "patterns": [
309
319
  {
310
- "match": "\\b(?:int|bool|ip|prefix|rd|pair|quad|ec|lc|string|bytestring|bgpmask|bgppath|clist|eclist|lclist|set|enum|route)\\b",
320
+ "match": "\\b(?:(?:int|pair|quad|ip|prefix|ec|lc|rd|enum)\\s+set|int|bool|ip|prefix|rd|pair|quad|ec|lc|string|bytestring|bgpmask|bgppath|clist|eclist|lclist|set|enum|route)\\b",
311
321
  "name": "storage.type.bird"
312
322
  }
313
323
  ]
@@ -315,7 +325,7 @@
315
325
  "filter-definitions": {
316
326
  "patterns": [
317
327
  {
318
- "begin": "\\b(filter)\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\s*\\{",
328
+ "begin": "\\b(filter)\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\s*\\{",
319
329
  "beginCaptures": {
320
330
  "1": {
321
331
  "name": "keyword.control.filter.bird"
@@ -369,7 +379,7 @@
369
379
  "function-definitions": {
370
380
  "patterns": [
371
381
  {
372
- "begin": "\\b(function)\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\s*\\(",
382
+ "begin": "\\b(function)\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')(?=\\s*\\()",
373
383
  "beginCaptures": {
374
384
  "1": {
375
385
  "name": "keyword.control.function.bird"
@@ -387,8 +397,18 @@
387
397
  "name": "meta.function-definition.bird",
388
398
  "patterns": [
389
399
  {
390
- "begin": "\\G(?=\\()",
400
+ "begin": "\\(",
401
+ "beginCaptures": {
402
+ "0": {
403
+ "name": "punctuation.definition.parameters.begin.bird"
404
+ }
405
+ },
391
406
  "end": "\\)",
407
+ "endCaptures": {
408
+ "0": {
409
+ "name": "punctuation.definition.parameters.end.bird"
410
+ }
411
+ },
392
412
  "name": "meta.function-parameters.bird",
393
413
  "patterns": [
394
414
  {
@@ -424,7 +444,7 @@
424
444
  "functional-keywords": {
425
445
  "patterns": [
426
446
  {
427
- "match": "\\b(?:static|rip|ospf|bgp|babel|rpki|bfd|device|direct|kernel|pipe|perf|mrt|aggregator|l3vpn|radv)\\b",
447
+ "match": "\\b(?:static|rip|ospf|bgp|babel|rpki|bfd|bmp|device|direct|kernel|pipe|perf|mrt|aggregator|l3vpn|radv)\\b",
428
448
  "name": "keyword.control.protocol-type.bird"
429
449
  },
430
450
  {
@@ -435,6 +455,10 @@
435
455
  "match": "\\b(?:interface|type|wired|wireless|tunnel|rxcost|limit|hello|update|interval|port|tx|class|dscp|priority|rx|buffer|length|check|link|rtt|cost|min|max|decay|send|timestamps)\\b",
436
456
  "name": "keyword.other.interface.bird"
437
457
  },
458
+ {
459
+ "match": "\\b(?:(?:refresh|retry|expire|transport|ssh|tcp|user|address|version|ignore|private|public|key)|(?:local\\s+address|ignore\\s+max\\s+length|min\\s+version|max\\s+version|bird\\s+private\\s+key|remote\\s+public\\s+key))\\b",
460
+ "name": "keyword.other.rpki.bird"
461
+ },
438
462
  {
439
463
  "match": "\\b(?:authentication|none|mac|permissive|password|generate|accept|from|to|algorithm|hmac|sha1|sha256|sha384|sha512|blake2s128|blake2s256|blake2b256|blake2b512)\\b",
440
464
  "name": "keyword.other.auth.bird"
@@ -475,7 +499,7 @@
475
499
  "name": "entity.name.function.filter.bird"
476
500
  }
477
501
  },
478
- "match": "\\b(import)\\s+(filter)\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\b",
502
+ "match": "\\b(import)\\s+(filter)\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\b",
479
503
  "name": "meta.import-statement.bird"
480
504
  },
481
505
  {
@@ -536,7 +560,7 @@
536
560
  "name": "entity.name.function.filter.bird"
537
561
  }
538
562
  },
539
- "match": "\\b(export)\\s+(filter)\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\b",
563
+ "match": "\\b(export)\\s+(filter)\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\b",
540
564
  "name": "meta.export-statement.bird"
541
565
  }
542
566
  ]
@@ -556,7 +580,7 @@
556
580
  "name": "constant.numeric.ip.ipv6.bird"
557
581
  },
558
582
  {
559
- "match": "(?:\\h{0,4}:){1,6}::(?:\\h{0,4}:){0,5}\\h{0,4}(?:/[0-9]{1,3})?\\b",
583
+ "match": "\\b(?:\\h{0,4}:){1,6}::(?:\\h{0,4}:){0,5}\\h{0,4}(?:/[0-9]{1,3})?\\b",
560
584
  "name": "constant.numeric.ip.ipv6.bird"
561
585
  }
562
586
  ]
@@ -592,7 +616,7 @@
592
616
  "method-properties": {
593
617
  "patterns": [
594
618
  {
595
- "match": "\\b(?:first|last|last_nonaggregated|len|asn|data1??|data2|is_v4|ip|src|dst|rd|maxlen|type|mask|min|max)\\b",
619
+ "match": "(?<=\\.)\\s*(?:first|last|last_nonaggregated|len|asn|data1??|data2|is_v4|ip|src|dst|rd|maxlen|type|mask|min|max)\\b(?!\\s*\\()",
596
620
  "name": "support.variable.property.bird"
597
621
  }
598
622
  ]
@@ -719,13 +743,17 @@
719
743
  "operators": {
720
744
  "patterns": [
721
745
  {
722
- "match": "==|!=|<=|>=|[<=>~]|!~",
746
+ "match": "==|!=|<=|>=|!~|[<=>~]",
723
747
  "name": "keyword.operator.comparison.bird"
724
748
  },
725
749
  {
726
750
  "match": "&&|\\|\\||!|->",
727
751
  "name": "keyword.operator.logical.bird"
728
752
  },
753
+ {
754
+ "match": "\\+\\+",
755
+ "name": "keyword.operator.concat.bird"
756
+ },
729
757
  {
730
758
  "match": "[-%*+/]",
731
759
  "name": "keyword.operator.arithmetic.bird"
@@ -734,10 +762,6 @@
734
762
  "match": "\\.\\.",
735
763
  "name": "keyword.operator.range.bird"
736
764
  },
737
- {
738
- "match": "=",
739
- "name": "keyword.operator.assignment.bird"
740
- },
741
765
  {
742
766
  "match": "\\.",
743
767
  "name": "keyword.operator.accessor.bird"
@@ -779,7 +803,7 @@
779
803
  "protocol-definitions": {
780
804
  "patterns": [
781
805
  {
782
- "begin": "\\b(protocol)\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\s+(from)\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\s*\\{",
806
+ "begin": "\\b(protocol)\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\s+(from)\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\s*\\{",
783
807
  "beginCaptures": {
784
808
  "1": {
785
809
  "name": "keyword.control.protocol.bird"
@@ -811,7 +835,7 @@
811
835
  ]
812
836
  },
813
837
  {
814
- "begin": "\\b(protocol)\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\s*\\{",
838
+ "begin": "\\b(protocol)\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\s*\\{",
815
839
  "beginCaptures": {
816
840
  "1": {
817
841
  "name": "keyword.control.protocol.bird"
@@ -861,6 +885,22 @@
861
885
  }
862
886
  ]
863
887
  },
888
+ "protocol-phrases": {
889
+ "patterns": [
890
+ {
891
+ "match": "\\b(?:strict\\s+bind|zero\\s+udp6\\s+checksum\\s+rx|idle\\s+tx\\s+interval|multiplier|keyed|meticulous)\\b",
892
+ "name": "keyword.other.bfd.phrase.bird"
893
+ },
894
+ {
895
+ "match": "\\b(?:send\\s+timestamps|rtt\\s+(?:cost|min|max|decay)|next\\s+hop\\s+prefer|prefer|native)\\b",
896
+ "name": "keyword.other.babel.phrase.bird"
897
+ },
898
+ {
899
+ "match": "\\b(?:next\\s+hop\\s+(?:self|address|ibgp|ebgp)|link\\s+local\\s+next\\s+hop\\s+format|import\\s+table|export\\s+table|base\\s+table|add\\s+paths|aigp\\s+originate|long\\s+lived\\s+graceful\\s+restart|long\\s+lived\\s+stale\\s+time|dynamic\\s+name(?:\\s+digits)?|free\\s+bind|ttl\\s+security|multihop\\s+password|rr\\s+client|rs\\s+client|advertise\\s+hostname|interpret\\s+communities|deterministic\\s+med|default\\s+bgp_local_pref|default\\s+bgp_med|med\\s+metric|igp\\s+metric|missing\\s+lladdr|gateway\\s+address|forwarding\\s+addressed|gateway\\s+recursive|allow\\s+local\\s+as|allow\\s+bogus\\s+as|originate\\s+community|full\\s+route\\s+table|capabilities|primary)\\b",
900
+ "name": "keyword.other.bgp.phrase.bird"
901
+ }
902
+ ]
903
+ },
864
904
  "route-attributes": {
865
905
  "patterns": [
866
906
  {
@@ -901,19 +941,8 @@
901
941
  ]
902
942
  },
903
943
  {
904
- "begin": "'",
905
- "beginCaptures": {
906
- "0": {
907
- "name": "punctuation.definition.string.begin.bird"
908
- }
909
- },
910
- "end": "'",
911
- "endCaptures": {
912
- "0": {
913
- "name": "punctuation.definition.string.end.bird"
914
- }
915
- },
916
- "name": "string.quoted.single.bird"
944
+ "match": "'[-.0-:A-Z_a-z]+'",
945
+ "name": "entity.name.symbol.quoted.bird"
917
946
  }
918
947
  ]
919
948
  },
@@ -948,7 +977,39 @@
948
977
  "template-definitions": {
949
978
  "patterns": [
950
979
  {
951
- "begin": "\\b(template)\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\s*\\{",
980
+ "begin": "\\b(template)\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\s+(from)\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\s*\\{",
981
+ "beginCaptures": {
982
+ "1": {
983
+ "name": "keyword.control.template.bird"
984
+ },
985
+ "2": {
986
+ "name": "entity.name.type.protocol.bird"
987
+ },
988
+ "3": {
989
+ "name": "entity.name.function.template.bird"
990
+ },
991
+ "4": {
992
+ "name": "keyword.control.template-reference.bird"
993
+ },
994
+ "5": {
995
+ "name": "entity.name.function.template.bird"
996
+ }
997
+ },
998
+ "end": "}",
999
+ "endCaptures": {
1000
+ "0": {
1001
+ "name": "punctuation.definition.block.end.bird"
1002
+ }
1003
+ },
1004
+ "name": "meta.template-definition-with-from.bird",
1005
+ "patterns": [
1006
+ {
1007
+ "include": "$self"
1008
+ }
1009
+ ]
1010
+ },
1011
+ {
1012
+ "begin": "\\b(template)\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\s*\\{",
952
1013
  "beginCaptures": {
953
1014
  "1": {
954
1015
  "name": "keyword.control.template.bird"
@@ -966,7 +1027,30 @@
966
1027
  "name": "punctuation.definition.block.end.bird"
967
1028
  }
968
1029
  },
969
- "name": "meta.template-definition.bird",
1030
+ "name": "meta.template-definition-with-name.bird",
1031
+ "patterns": [
1032
+ {
1033
+ "include": "$self"
1034
+ }
1035
+ ]
1036
+ },
1037
+ {
1038
+ "begin": "\\b(template)\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\s*\\{",
1039
+ "beginCaptures": {
1040
+ "1": {
1041
+ "name": "keyword.control.template.bird"
1042
+ },
1043
+ "2": {
1044
+ "name": "entity.name.type.protocol.bird"
1045
+ }
1046
+ },
1047
+ "end": "}",
1048
+ "endCaptures": {
1049
+ "0": {
1050
+ "name": "punctuation.definition.block.end.bird"
1051
+ }
1052
+ },
1053
+ "name": "meta.template-definition-anonymous.bird",
970
1054
  "patterns": [
971
1055
  {
972
1056
  "include": "$self"
@@ -994,7 +1078,7 @@
994
1078
  "name": "variable.other.declaration.bird"
995
1079
  }
996
1080
  },
997
- "match": "\\b(int|bool|ip|prefix|rd|pair|quad|ec|lc|string|bytestring|bgpmask|bgppath|clist|eclist|lclist|set|enum|route)\\s+([A-Z_a-z][0-9A-Z_a-z]*)(?:\\s*=|;)",
1081
+ "match": "\\b((?:int|pair|quad|ip|prefix|ec|lc|rd|enum)\\s+set|int|bool|ip|prefix|rd|pair|quad|ec|lc|string|bytestring|bgpmask|bgppath|clist|eclist|lclist|set|enum|route)\\s+([A-Z_a-z][0-9A-Z_a-z]*)(?:\\s*=|;)",
998
1082
  "name": "meta.variable-declaration.bird"
999
1083
  }
1000
1084
  ]
@@ -5,7 +5,6 @@
5
5
  "scbl",
6
6
  "cobol",
7
7
  "cbl",
8
- "cblle",
9
8
  "cblsrce",
10
9
  "cblcpy",
11
10
  "lks",
@@ -17,7 +16,6 @@
17
16
  "sel",
18
17
  "scb",
19
18
  "scbl",
20
- "sqlcblle",
21
19
  "cob",
22
20
  "dds",
23
21
  "def",
@@ -1,4 +1,5 @@
1
1
  {
2
+ "displayName": "Nextflow Groovy",
2
3
  "foldingStartMarker": "(\\{\\s*$|^\\s*// \\{\\{\\{)",
3
4
  "foldingStopMarker": "^\\s*(}|// }}}$)",
4
5
  "name": "nextflow-groovy",
@@ -17,7 +17,7 @@
17
17
  "name": "keyword.operator.assignment.tsp"
18
18
  }
19
19
  },
20
- "end": "(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
20
+ "end": "(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
21
21
  "name": "meta.alias-id.typespec",
22
22
  "patterns": [
23
23
  {
@@ -26,16 +26,19 @@
26
26
  ]
27
27
  },
28
28
  "alias-statement": {
29
- "begin": "\\b(alias)\\b\\s+(\\b[$_[:alpha:]][$_[:alnum:]]*\\b|`(?:[^\\\\`]|\\\\.)*`)\\s*",
29
+ "begin": "(?:(internal)\\s+)?\\b(alias)\\b\\s+(\\b[$_[:alpha:]][$_[:alnum:]]*\\b|`(?:[^\\\\`]|\\\\.)*`)\\s*",
30
30
  "beginCaptures": {
31
31
  "1": {
32
- "name": "keyword.other.tsp"
32
+ "name": "storage.modifier.tsp"
33
33
  },
34
34
  "2": {
35
+ "name": "keyword.other.tsp"
36
+ },
37
+ "3": {
35
38
  "name": "entity.name.type.tsp"
36
39
  }
37
40
  },
38
- "end": "(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
41
+ "end": "(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
39
42
  "name": "meta.alias-statement.typespec",
40
43
  "patterns": [
41
44
  {
@@ -56,7 +59,7 @@
56
59
  "name": "entity.name.tag.tsp"
57
60
  }
58
61
  },
59
- "end": "(?=([$_`[:alpha:]]))|(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
62
+ "end": "(?=([$_`[:alpha:]]))|(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
60
63
  "name": "meta.augment-decorator-statement.typespec",
61
64
  "patterns": [
62
65
  {
@@ -106,16 +109,19 @@
106
109
  ]
107
110
  },
108
111
  "const-statement": {
109
- "begin": "\\b(const)\\b\\s+(\\b[$_[:alpha:]][$_[:alnum:]]*\\b|`(?:[^\\\\`]|\\\\.)*`)",
112
+ "begin": "(?:(internal)\\s+)?\\b(const)\\b\\s+(\\b[$_[:alpha:]][$_[:alnum:]]*\\b|`(?:[^\\\\`]|\\\\.)*`)",
110
113
  "beginCaptures": {
111
114
  "1": {
112
- "name": "keyword.other.tsp"
115
+ "name": "storage.modifier.tsp"
113
116
  },
114
117
  "2": {
118
+ "name": "keyword.other.tsp"
119
+ },
120
+ "3": {
115
121
  "name": "variable.name.tsp"
116
122
  }
117
123
  },
118
- "end": "(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
124
+ "end": "(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
119
125
  "name": "meta.const-statement.typespec",
120
126
  "patterns": [
121
127
  {
@@ -139,7 +145,7 @@
139
145
  "name": "entity.name.tag.tsp"
140
146
  }
141
147
  },
142
- "end": "(?=([$_`[:alpha:]]))|(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
148
+ "end": "(?=([$_`[:alpha:]]))|(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
143
149
  "name": "meta.decorator.typespec",
144
150
  "patterns": [
145
151
  {
@@ -151,19 +157,22 @@
151
157
  ]
152
158
  },
153
159
  "decorator-declaration-statement": {
154
- "begin": "(?:(extern)\\s+)?\\b(dec)\\b\\s+(\\b[$_[:alpha:]][$_[:alnum:]]*\\b|`(?:[^\\\\`]|\\\\.)*`)",
160
+ "begin": "(?:(internal)\\s+)?(?:(extern)\\s+)?\\b(dec)\\b\\s+(\\b[$_[:alpha:]][$_[:alnum:]]*\\b|`(?:[^\\\\`]|\\\\.)*`)",
155
161
  "beginCaptures": {
156
162
  "1": {
157
- "name": "keyword.other.tsp"
163
+ "name": "storage.modifier.tsp"
158
164
  },
159
165
  "2": {
160
166
  "name": "keyword.other.tsp"
161
167
  },
162
168
  "3": {
169
+ "name": "keyword.other.tsp"
170
+ },
171
+ "4": {
163
172
  "name": "entity.name.function.tsp"
164
173
  }
165
174
  },
166
- "end": "(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
175
+ "end": "(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
167
176
  "name": "meta.decorator-declaration-statement.typespec",
168
177
  "patterns": [
169
178
  {
@@ -184,7 +193,7 @@
184
193
  "name": "keyword.directive.name.tsp"
185
194
  }
186
195
  },
187
- "end": "$|(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
196
+ "end": "$|(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
188
197
  "name": "meta.directive.typespec",
189
198
  "patterns": [
190
199
  {
@@ -309,7 +318,7 @@
309
318
  "name": "keyword.operator.type.annotation.tsp"
310
319
  }
311
320
  },
312
- "end": "(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
321
+ "end": "(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
313
322
  "name": "meta.enum-member.typespec",
314
323
  "patterns": [
315
324
  {
@@ -321,16 +330,19 @@
321
330
  ]
322
331
  },
323
332
  "enum-statement": {
324
- "begin": "\\b(enum)\\b\\s+(\\b[$_[:alpha:]][$_[:alnum:]]*\\b|`(?:[^\\\\`]|\\\\.)*`)",
333
+ "begin": "(?:(internal)\\s+)?\\b(enum)\\b\\s+(\\b[$_[:alpha:]][$_[:alnum:]]*\\b|`(?:[^\\\\`]|\\\\.)*`)",
325
334
  "beginCaptures": {
326
335
  "1": {
327
- "name": "keyword.other.tsp"
336
+ "name": "storage.modifier.tsp"
328
337
  },
329
338
  "2": {
339
+ "name": "keyword.other.tsp"
340
+ },
341
+ "3": {
330
342
  "name": "entity.name.type.tsp"
331
343
  }
332
344
  },
333
- "end": "(?<=})|(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
345
+ "end": "(?<=})|(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
334
346
  "name": "meta.enum-statement.typespec",
335
347
  "patterns": [
336
348
  {
@@ -386,19 +398,22 @@
386
398
  ]
387
399
  },
388
400
  "function-declaration-statement": {
389
- "begin": "(?:(extern)\\s+)?\\b(fn)\\b\\s+(\\b[$_[:alpha:]][$_[:alnum:]]*\\b|`(?:[^\\\\`]|\\\\.)*`)",
401
+ "begin": "(?:(internal)\\s+)?(?:(extern)\\s+)?\\b(fn)\\b\\s+(\\b[$_[:alpha:]][$_[:alnum:]]*\\b|`(?:[^\\\\`]|\\\\.)*`)",
390
402
  "beginCaptures": {
391
403
  "1": {
392
- "name": "keyword.other.tsp"
404
+ "name": "storage.modifier.tsp"
393
405
  },
394
406
  "2": {
395
407
  "name": "keyword.other.tsp"
396
408
  },
397
409
  "3": {
410
+ "name": "keyword.other.tsp"
411
+ },
412
+ "4": {
398
413
  "name": "entity.name.function.tsp"
399
414
  }
400
415
  },
401
- "end": "(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
416
+ "end": "(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
402
417
  "name": "meta.function-declaration-statement.typespec",
403
418
  "patterns": [
404
419
  {
@@ -423,7 +438,7 @@
423
438
  "name": "keyword.other.tsp"
424
439
  }
425
440
  },
426
- "end": "(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
441
+ "end": "(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
427
442
  "name": "meta.import-statement.typespec",
428
443
  "patterns": [
429
444
  {
@@ -470,7 +485,7 @@
470
485
  "name": "keyword.other.tsp"
471
486
  }
472
487
  },
473
- "end": "((?=\\{)|(?=[);@}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))",
488
+ "end": "((?=\\{)|(?=[);@}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))",
474
489
  "name": "meta.interface-heritage.typespec",
475
490
  "patterns": [
476
491
  {
@@ -491,7 +506,7 @@
491
506
  "name": "entity.name.function.tsp"
492
507
  }
493
508
  },
494
- "end": "(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
509
+ "end": "(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
495
510
  "name": "meta.interface-member.typespec",
496
511
  "patterns": [
497
512
  {
@@ -503,13 +518,16 @@
503
518
  ]
504
519
  },
505
520
  "interface-statement": {
506
- "begin": "\\b(interface)\\b",
521
+ "begin": "(?:(internal)\\s+)?\\b(interface)\\b",
507
522
  "beginCaptures": {
508
523
  "1": {
524
+ "name": "storage.modifier.tsp"
525
+ },
526
+ "2": {
509
527
  "name": "keyword.other.tsp"
510
528
  }
511
529
  },
512
- "end": "(?<=})|(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
530
+ "end": "(?<=})|(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
513
531
  "name": "meta.interface-statement.typespec",
514
532
  "patterns": [
515
533
  {
@@ -575,7 +593,7 @@
575
593
  "name": "keyword.other.tsp"
576
594
  }
577
595
  },
578
- "end": "((?=\\{)|(?=[);@}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))",
596
+ "end": "((?=\\{)|(?=[);@}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))",
579
597
  "name": "meta.model-heritage.typespec",
580
598
  "patterns": [
581
599
  {
@@ -596,7 +614,7 @@
596
614
  "name": "string.quoted.double.tsp"
597
615
  }
598
616
  },
599
- "end": "(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
617
+ "end": "(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
600
618
  "name": "meta.model-property.typespec",
601
619
  "patterns": [
602
620
  {
@@ -614,13 +632,16 @@
614
632
  ]
615
633
  },
616
634
  "model-statement": {
617
- "begin": "\\b(model)\\b",
635
+ "begin": "(?:(internal)\\s+)?\\b(model)\\b",
618
636
  "beginCaptures": {
619
637
  "1": {
638
+ "name": "storage.modifier.tsp"
639
+ },
640
+ "2": {
620
641
  "name": "keyword.other.tsp"
621
642
  }
622
643
  },
623
- "end": "(?<=})|(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
644
+ "end": "(?<=})|(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
624
645
  "name": "meta.model-statement.typespec",
625
646
  "patterns": [
626
647
  {
@@ -659,7 +680,7 @@
659
680
  },
660
681
  "namespace-name": {
661
682
  "begin": "(?=([$_`[:alpha:]]))",
662
- "end": "((?=\\{)|(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))",
683
+ "end": "((?=\\{)|(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))",
663
684
  "name": "meta.namespace-name.typespec",
664
685
  "patterns": [
665
686
  {
@@ -677,7 +698,7 @@
677
698
  "name": "keyword.other.tsp"
678
699
  }
679
700
  },
680
- "end": "((?<=})|(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))",
701
+ "end": "((?<=})|(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))",
681
702
  "name": "meta.namespace-statement.typespec",
682
703
  "patterns": [
683
704
  {
@@ -737,7 +758,7 @@
737
758
  "name": "keyword.operator.type.annotation.tsp"
738
759
  }
739
760
  },
740
- "end": "(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
761
+ "end": "(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
741
762
  "name": "meta.object-literal-property.typespec",
742
763
  "patterns": [
743
764
  {
@@ -755,7 +776,7 @@
755
776
  "name": "keyword.other.tsp"
756
777
  }
757
778
  },
758
- "end": "(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
779
+ "end": "(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
759
780
  "name": "meta.operation-heritage.typespec",
760
781
  "patterns": [
761
782
  {
@@ -812,16 +833,19 @@
812
833
  ]
813
834
  },
814
835
  "operation-statement": {
815
- "begin": "\\b(op)\\b\\s+(\\b[$_[:alpha:]][$_[:alnum:]]*\\b|`(?:[^\\\\`]|\\\\.)*`)",
836
+ "begin": "(?:(internal)\\s+)?\\b(op)\\b\\s+(\\b[$_[:alpha:]][$_[:alnum:]]*\\b|`(?:[^\\\\`]|\\\\.)*`)",
816
837
  "beginCaptures": {
817
838
  "1": {
818
- "name": "keyword.other.tsp"
839
+ "name": "storage.modifier.tsp"
819
840
  },
820
841
  "2": {
842
+ "name": "keyword.other.tsp"
843
+ },
844
+ "3": {
821
845
  "name": "entity.name.function.tsp"
822
846
  }
823
847
  },
824
- "end": "(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
848
+ "end": "(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
825
849
  "name": "meta.operation-statement.typespec",
826
850
  "patterns": [
827
851
  {
@@ -910,7 +934,7 @@
910
934
  "name": "entity.name.function.tsp"
911
935
  }
912
936
  },
913
- "end": "(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
937
+ "end": "(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
914
938
  "name": "meta.scalar-constructor.typespec",
915
939
  "patterns": [
916
940
  {
@@ -928,7 +952,7 @@
928
952
  "name": "keyword.other.tsp"
929
953
  }
930
954
  },
931
- "end": "(?=[);@}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
955
+ "end": "(?=[);@}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
932
956
  "name": "meta.scalar-extends.typespec",
933
957
  "patterns": [
934
958
  {
@@ -940,16 +964,19 @@
940
964
  ]
941
965
  },
942
966
  "scalar-statement": {
943
- "begin": "\\b(scalar)\\b\\s+(\\b[$_[:alpha:]][$_[:alnum:]]*\\b|`(?:[^\\\\`]|\\\\.)*`)",
967
+ "begin": "(?:(internal)\\s+)?\\b(scalar)\\b\\s+(\\b[$_[:alpha:]][$_[:alnum:]]*\\b|`(?:[^\\\\`]|\\\\.)*`)",
944
968
  "beginCaptures": {
945
969
  "1": {
946
- "name": "keyword.other.tsp"
970
+ "name": "storage.modifier.tsp"
947
971
  },
948
972
  "2": {
973
+ "name": "keyword.other.tsp"
974
+ },
975
+ "3": {
949
976
  "name": "entity.name.type.tsp"
950
977
  }
951
978
  },
952
- "end": "(?<=})|(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
979
+ "end": "(?<=})|(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
953
980
  "name": "meta.scalar-statement.typespec",
954
981
  "patterns": [
955
982
  {
@@ -973,7 +1000,7 @@
973
1000
  "name": "keyword.operator.spread.tsp"
974
1001
  }
975
1002
  },
976
- "end": "(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1003
+ "end": "(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
977
1004
  "name": "meta.spread-operator.typespec",
978
1005
  "patterns": [
979
1006
  {
@@ -1181,7 +1208,7 @@
1181
1208
  "name": "keyword.operator.assignment.tsp"
1182
1209
  }
1183
1210
  },
1184
- "end": "(?=>)|(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1211
+ "end": "(?=>)|(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1185
1212
  "endCaptures": {
1186
1213
  "0": {
1187
1214
  "name": "keyword.operator.assignment.tsp"
@@ -1233,7 +1260,7 @@
1233
1260
  "name": "entity.name.type.tsp"
1234
1261
  }
1235
1262
  },
1236
- "end": "(?=>)|(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1263
+ "end": "(?=>)|(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1237
1264
  "name": "meta.type-parameter.typespec",
1238
1265
  "patterns": [
1239
1266
  {
@@ -1254,7 +1281,7 @@
1254
1281
  "name": "keyword.other.tsp"
1255
1282
  }
1256
1283
  },
1257
- "end": "(?=>)|(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1284
+ "end": "(?=>)|(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1258
1285
  "name": "meta.type-parameter-constraint.typespec",
1259
1286
  "patterns": [
1260
1287
  {
@@ -1269,7 +1296,7 @@
1269
1296
  "name": "keyword.operator.assignment.tsp"
1270
1297
  }
1271
1298
  },
1272
- "end": "(?=>)|(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1299
+ "end": "(?=>)|(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1273
1300
  "name": "meta.type-parameter-default.typespec",
1274
1301
  "patterns": [
1275
1302
  {
@@ -1307,7 +1334,7 @@
1307
1334
  "name": "keyword.other.tsp"
1308
1335
  }
1309
1336
  },
1310
- "end": "(?=>)|(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1337
+ "end": "(?=>)|(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1311
1338
  "name": "meta.typeof.typespec",
1312
1339
  "patterns": [
1313
1340
  {
@@ -1351,16 +1378,19 @@
1351
1378
  ]
1352
1379
  },
1353
1380
  "union-statement": {
1354
- "begin": "\\b(union)\\b\\s+(\\b[$_[:alpha:]][$_[:alnum:]]*\\b|`(?:[^\\\\`]|\\\\.)*`)",
1381
+ "begin": "(?:(internal)\\s+)?\\b(union)\\b\\s+(\\b[$_[:alpha:]][$_[:alnum:]]*\\b|`(?:[^\\\\`]|\\\\.)*`)",
1355
1382
  "beginCaptures": {
1356
1383
  "1": {
1357
- "name": "keyword.other.tsp"
1384
+ "name": "storage.modifier.tsp"
1358
1385
  },
1359
1386
  "2": {
1387
+ "name": "keyword.other.tsp"
1388
+ },
1389
+ "3": {
1360
1390
  "name": "entity.name.type.tsp"
1361
1391
  }
1362
1392
  },
1363
- "end": "(?<=})|(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1393
+ "end": "(?<=})|(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1364
1394
  "name": "meta.union-statement.typespec",
1365
1395
  "patterns": [
1366
1396
  {
@@ -1381,7 +1411,7 @@
1381
1411
  "name": "keyword.operator.type.annotation.tsp"
1382
1412
  }
1383
1413
  },
1384
- "end": "(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1414
+ "end": "(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1385
1415
  "name": "meta.union-variant.typespec",
1386
1416
  "patterns": [
1387
1417
  {
@@ -1399,7 +1429,7 @@
1399
1429
  "name": "keyword.other.tsp"
1400
1430
  }
1401
1431
  },
1402
- "end": "(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1432
+ "end": "(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1403
1433
  "name": "meta.using-statement.typespec",
1404
1434
  "patterns": [
1405
1435
  {
@@ -1420,7 +1450,7 @@
1420
1450
  "name": "keyword.other.tsp"
1421
1451
  }
1422
1452
  },
1423
- "end": "(?=>)|(?=[,;@]|#[a-z]|[)}]|\\bextern\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1453
+ "end": "(?=>)|(?=[,;@]|#[a-z]|[)}]|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)",
1424
1454
  "name": "meta.valueof.typespec",
1425
1455
  "patterns": [
1426
1456
  {
package/index.js CHANGED
@@ -450,22 +450,22 @@ export const grammars = [
450
450
  aliases: [
451
451
  'bird',
452
452
  ],
453
- byteSize: 16474,
453
+ byteSize: 19153,
454
454
  categories: [
455
455
  'config',
456
456
  ],
457
457
  displayName: 'BIRD2 Configuration',
458
458
  funding: [
459
459
  ],
460
- hash: 'RPCcGQ6UGeD_poiC9GaDEohu-RR2Wui7cDr0_uUV5Fw',
461
- lastUpdate: '2026-02-26T13:14:25Z',
460
+ hash: 'VpcN6rBjsbh4DfdqrSS2YDg0ubRt5lOPOaFnlqQ4hSg',
461
+ lastUpdate: '2026-02-28T19:04:32Z',
462
462
  license: 'MPL-2.0',
463
463
  licenseUrl: 'https://raw.githubusercontent.com/bird-chinese-community/BIRD-tm-language-grammar/main/LICENSE',
464
464
  name: 'bird2',
465
465
  scopeName: 'source.bird2',
466
- sha: '17a8d1d61d4bc1ba719e0025e3f8b283c68eddde',
467
- source: 'https://github.com/bird-chinese-community/BIRD-tm-language-grammar/blob/17a8d1d61d4bc1ba719e0025e3f8b283c68eddde/grammars/bird2.tmLanguage.json',
468
- sourceApi: 'https://api.github.com/repos/bird-chinese-community/BIRD-tm-language-grammar/contents/grammars/bird2.tmLanguage.json?ref=17a8d1d61d4bc1ba719e0025e3f8b283c68eddde',
466
+ sha: 'efd72e31c81f0fedafbb32eed36f4df0eff524f6',
467
+ source: 'https://github.com/bird-chinese-community/BIRD-tm-language-grammar/blob/efd72e31c81f0fedafbb32eed36f4df0eff524f6/grammars/bird2.tmLanguage.json',
468
+ sourceApi: 'https://api.github.com/repos/bird-chinese-community/BIRD-tm-language-grammar/contents/grammars/bird2.tmLanguage.json?ref=efd72e31c81f0fedafbb32eed36f4df0eff524f6',
469
469
  },
470
470
  {
471
471
  byteSize: 102405,
@@ -654,7 +654,7 @@ export const grammars = [
654
654
  sourceApi: 'https://api.github.com/repos/twxs/vs.language.cmake/contents/syntaxes/CMake.tmLanguage?ref=19b1b8fe2d68d72cf294d0c3c22f0a3fc54f8f6f',
655
655
  },
656
656
  {
657
- byteSize: 38215,
657
+ byteSize: 38196,
658
658
  displayName: 'COBOL',
659
659
  embedded: [
660
660
  'html',
@@ -662,15 +662,15 @@ export const grammars = [
662
662
  ],
663
663
  funding: [
664
664
  ],
665
- hash: 'eWw0cwpULrxH1b6u9F-vrb5XaWbIVyEKZpovABNnAyw',
666
- lastUpdate: '2025-08-19T20:53:00Z',
665
+ hash: 'mDjJhsj2XiWtp1jA7C_DzZNi4Hy7Cc3USupqpk7GUNg',
666
+ lastUpdate: '2026-02-28T19:27:32Z',
667
667
  license: 'MIT',
668
668
  licenseUrl: 'https://raw.githubusercontent.com/spgennard/vscode_cobol/main/LICENSE',
669
669
  name: 'cobol',
670
670
  scopeName: 'source.cobol',
671
- sha: '28a53ee742017ec60055f2aaaf174aaf62e83c45',
672
- source: 'https://github.com/spgennard/vscode_cobol/blob/28a53ee742017ec60055f2aaaf174aaf62e83c45/syntaxes/COBOL.tmLanguage.json',
673
- sourceApi: 'https://api.github.com/repos/spgennard/vscode_cobol/contents/syntaxes/COBOL.tmLanguage.json?ref=28a53ee742017ec60055f2aaaf174aaf62e83c45',
671
+ sha: '7020540cc77e04fb2edc8503f906d51fa840bbe5',
672
+ source: 'https://github.com/spgennard/vscode_cobol/blob/7020540cc77e04fb2edc8503f906d51fa840bbe5/syntaxes/COBOL.tmLanguage.json',
673
+ sourceApi: 'https://api.github.com/repos/spgennard/vscode_cobol/contents/syntaxes/COBOL.tmLanguage.json?ref=7020540cc77e04fb2edc8503f906d51fa840bbe5',
674
674
  },
675
675
  {
676
676
  byteSize: 471,
@@ -2834,10 +2834,11 @@ export const grammars = [
2834
2834
  sourceApi: 'https://api.github.com/repos/nextflow-io/vscode-language-nextflow/contents/syntaxes/nextflow.tmLanguage.json?ref=720a2bd501837ca815acf4a225d9f3ba71a2adb0',
2835
2835
  },
2836
2836
  {
2837
- byteSize: 10082,
2837
+ byteSize: 10114,
2838
+ displayName: 'Nextflow Groovy',
2838
2839
  funding: [
2839
2840
  ],
2840
- hash: 'nBAO1E3y5W9QK8vy9T4b7puqDTGVFk4XijarIerk-W8',
2841
+ hash: 'AGeG2wfKfMTgsK2GZVynvB72TtCa4s5-PkIU5cebHHo',
2841
2842
  lastUpdate: '2025-07-13T20:28:30Z',
2842
2843
  license: 'MIT',
2843
2844
  licenseUrl: 'https://raw.githubusercontent.com/nextflow-io/vscode-language-nextflow/main/LICENSE.md',
@@ -4437,19 +4438,19 @@ export const grammars = [
4437
4438
  aliases: [
4438
4439
  'tsp',
4439
4440
  ],
4440
- byteSize: 23113,
4441
+ byteSize: 24118,
4441
4442
  displayName: 'TypeSpec',
4442
4443
  funding: [
4443
4444
  ],
4444
- hash: 'pb7DzDEP2tnhNd0zOSyqK9jQVS1KdayEdnLbCbJx0IM',
4445
- lastUpdate: '2025-11-06T20:39:50Z',
4445
+ hash: 'j0xy9vKxncy7FgXsZXhGGcnuOuhegyJ5lKckYxlACTg',
4446
+ lastUpdate: '2026-03-02T17:26:05Z',
4446
4447
  license: 'MIT',
4447
4448
  licenseUrl: 'https://raw.githubusercontent.com/microsoft/typespec/main/LICENSE',
4448
4449
  name: 'typespec',
4449
4450
  scopeName: 'source.tsp',
4450
- sha: '2894420921882652a568ed22d5e245b26781b398',
4451
- source: 'https://github.com/microsoft/typespec/blob/2894420921882652a568ed22d5e245b26781b398/grammars/typespec.json',
4452
- sourceApi: 'https://api.github.com/repos/microsoft/typespec/contents/grammars/typespec.json?ref=2894420921882652a568ed22d5e245b26781b398',
4451
+ sha: '9bca04b6dd0c966b982b1ca920b59e245c050bed',
4452
+ source: 'https://github.com/microsoft/typespec/blob/9bca04b6dd0c966b982b1ca920b59e245c050bed/grammars/typespec.json',
4453
+ sourceApi: 'https://api.github.com/repos/microsoft/typespec/contents/grammars/typespec.json?ref=9bca04b6dd0c966b982b1ca920b59e245c050bed',
4453
4454
  },
4454
4455
  {
4455
4456
  aliases: [
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tm-grammars",
3
3
  "type": "module",
4
- "version": "1.31.1",
4
+ "version": "1.31.3",
5
5
  "description": "Collecton of TextMate grammars in JSON",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com>",
7
7
  "license": "MIT",