tm-grammars 1.22.19 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/NOTICE +286 -1
  2. package/README.md +241 -239
  3. package/grammars/abap.json +36 -36
  4. package/grammars/actionscript-3.json +29 -29
  5. package/grammars/ada.json +78 -78
  6. package/grammars/angular-expression.json +62 -62
  7. package/grammars/angular-html.json +0 -1
  8. package/grammars/angular-inline-style.json +3 -3
  9. package/grammars/angular-inline-template.json +2 -2
  10. package/grammars/angular-template-blocks.json +3 -3
  11. package/grammars/angular-template.json +1 -1
  12. package/grammars/angular-ts.json +251 -251
  13. package/grammars/apache.json +31 -31
  14. package/grammars/apex.json +108 -108
  15. package/grammars/apl.json +18 -18
  16. package/grammars/applescript.json +11 -11
  17. package/grammars/ara.json +13 -13
  18. package/grammars/asciidoc.json +234 -234
  19. package/grammars/asm.json +90 -90
  20. package/grammars/astro.json +25 -25
  21. package/grammars/awk.json +8 -8
  22. package/grammars/ballerina.json +150 -150
  23. package/grammars/bat.json +28 -28
  24. package/grammars/beancount.json +33 -33
  25. package/grammars/berry.json +11 -11
  26. package/grammars/bibtex.json +12 -12
  27. package/grammars/bicep.json +12 -12
  28. package/grammars/blade.json +183 -183
  29. package/grammars/bsl.json +58 -58
  30. package/grammars/c.json +162 -162
  31. package/grammars/cadence.json +20 -20
  32. package/grammars/cairo.json +10 -10
  33. package/grammars/clarity.json +20 -20
  34. package/grammars/clojure.json +25 -25
  35. package/grammars/cmake.json +3 -3
  36. package/grammars/cobol.json +91 -91
  37. package/grammars/codeql.json +154 -154
  38. package/grammars/coffee.json +45 -45
  39. package/grammars/common-lisp.json +50 -50
  40. package/grammars/coq.json +10 -10
  41. package/grammars/cpp-macro.json +410 -410
  42. package/grammars/cpp.json +641 -641
  43. package/grammars/crystal.json +68 -68
  44. package/grammars/csharp.json +196 -196
  45. package/grammars/css.json +83 -83
  46. package/grammars/csv.json +1 -1
  47. package/grammars/cue.json +55 -55
  48. package/grammars/cypher.json +11 -11
  49. package/grammars/d.json +127 -32
  50. package/grammars/dart.json +18 -18
  51. package/grammars/dax.json +9 -9
  52. package/grammars/desktop.json +9 -9
  53. package/grammars/diff.json +3 -3
  54. package/grammars/dotenv.json +3 -3
  55. package/grammars/dream-maker.json +20 -20
  56. package/grammars/edge.json +8 -8
  57. package/grammars/elixir.json +44 -44
  58. package/grammars/elm.json +23 -23
  59. package/grammars/emacs-lisp.json +76 -76
  60. package/grammars/erb.json +2 -2
  61. package/grammars/erlang.json +29 -29
  62. package/grammars/es-tag-css.json +3 -3
  63. package/grammars/es-tag-glsl.json +3 -3
  64. package/grammars/es-tag-html.json +3 -3
  65. package/grammars/es-tag-sql.json +2 -2
  66. package/grammars/es-tag-xml.json +2 -2
  67. package/grammars/fennel.json +8 -8
  68. package/grammars/fish.json +10 -10
  69. package/grammars/fluent.json +10 -10
  70. package/grammars/fortran-fixed-form.json +1 -1
  71. package/grammars/fortran-free-form.json +106 -106
  72. package/grammars/fsharp.json +70 -70
  73. package/grammars/gdresource.json +15 -15
  74. package/grammars/gdscript.json +31 -27
  75. package/grammars/gdshader.json +18 -18
  76. package/grammars/genie.json +6 -6
  77. package/grammars/gherkin.json +1 -1
  78. package/grammars/git-commit.json +1 -1
  79. package/grammars/git-rebase.json +1 -1
  80. package/grammars/gleam.json +11 -11
  81. package/grammars/glimmer-js.json +35 -35
  82. package/grammars/glimmer-ts.json +35 -35
  83. package/grammars/glsl.json +4 -4
  84. package/grammars/gnuplot.json +41 -41
  85. package/grammars/go.json +155 -155
  86. package/grammars/graphql.json +20 -20
  87. package/grammars/groovy.json +44 -44
  88. package/grammars/hack.json +74 -74
  89. package/grammars/haml.json +24 -24
  90. package/grammars/handlebars.json +25 -25
  91. package/grammars/haskell.json +99 -99
  92. package/grammars/haxe.json +51 -51
  93. package/grammars/hcl.json +43 -43
  94. package/grammars/hjson.json +29 -29
  95. package/grammars/hlsl.json +15 -15
  96. package/grammars/html-derivative.json +0 -1
  97. package/grammars/html.json +28 -29
  98. package/grammars/http.json +17 -17
  99. package/grammars/hxml.json +3 -3
  100. package/grammars/hy.json +10 -10
  101. package/grammars/imba.json +168 -173
  102. package/grammars/ini.json +2 -2
  103. package/grammars/java.json +54 -54
  104. package/grammars/javascript.json +262 -262
  105. package/grammars/jinja-html.json +3 -3
  106. package/grammars/jinja.json +15 -15
  107. package/grammars/jison.json +18 -18
  108. package/grammars/json.json +6 -6
  109. package/grammars/json5.json +12 -12
  110. package/grammars/jsonc.json +6 -6
  111. package/grammars/jsonl.json +6 -6
  112. package/grammars/jsonnet.json +15 -15
  113. package/grammars/jssm.json +4 -4
  114. package/grammars/jsx.json +262 -262
  115. package/grammars/julia.json +45 -45
  116. package/grammars/kotlin.json +15 -15
  117. package/grammars/kusto.json +13 -13
  118. package/grammars/latex.json +260 -260
  119. package/grammars/lean.json +12 -12
  120. package/grammars/less.json +91 -91
  121. package/grammars/liquid.json +96 -62
  122. package/grammars/llvm.json +122 -0
  123. package/grammars/log.json +22 -22
  124. package/grammars/logo.json +2 -2
  125. package/grammars/lua.json +34 -34
  126. package/grammars/luau.json +20 -20
  127. package/grammars/make.json +22 -22
  128. package/grammars/markdown-vue.json +1 -1
  129. package/grammars/markdown.json +83 -83
  130. package/grammars/marko.json +19 -19
  131. package/grammars/matlab.json +29 -29
  132. package/grammars/mdc.json +17 -17
  133. package/grammars/mdx.json +278 -278
  134. package/grammars/mermaid.json +97 -97
  135. package/grammars/mipsasm.json +2 -2
  136. package/grammars/mojo.json +122 -122
  137. package/grammars/move.json +35 -35
  138. package/grammars/narrat.json +10 -10
  139. package/grammars/nextflow.json +11 -11
  140. package/grammars/nginx.json +45 -45
  141. package/grammars/nim.json +44 -44
  142. package/grammars/nix.json +71 -71
  143. package/grammars/nushell.json +36 -36
  144. package/grammars/objective-c.json +129 -129
  145. package/grammars/objective-cpp.json +245 -245
  146. package/grammars/ocaml.json +229 -229
  147. package/grammars/pascal.json +4 -4
  148. package/grammars/perl.json +64 -64
  149. package/grammars/php.json +199 -199
  150. package/grammars/plsql.json +10 -10
  151. package/grammars/po.json +4 -4
  152. package/grammars/polar.json +13 -13
  153. package/grammars/postcss.json +31 -31
  154. package/grammars/powerquery.json +10 -10
  155. package/grammars/powershell.json +54 -54
  156. package/grammars/prisma.json +13 -13
  157. package/grammars/prolog.json +3 -3
  158. package/grammars/proto.json +11 -11
  159. package/grammars/pug.json +30 -30
  160. package/grammars/puppet.json +35 -35
  161. package/grammars/purescript.json +843 -467
  162. package/grammars/python.json +126 -126
  163. package/grammars/qml.json +18 -18
  164. package/grammars/qss.json +7 -7
  165. package/grammars/r.json +17 -17
  166. package/grammars/racket.json +58 -58
  167. package/grammars/raku.json +15 -15
  168. package/grammars/razor.json +30 -30
  169. package/grammars/reg.json +3 -3
  170. package/grammars/regexp.json +15 -15
  171. package/grammars/rel.json +4 -4
  172. package/grammars/riscv.json +15 -15
  173. package/grammars/rst.json +26 -26
  174. package/grammars/ruby.json +103 -106
  175. package/grammars/rust.json +13 -13
  176. package/grammars/sas.json +9 -9
  177. package/grammars/sass.json +35 -35
  178. package/grammars/scala.json +75 -75
  179. package/grammars/scheme.json +16 -16
  180. package/grammars/scss.json +68 -68
  181. package/grammars/sdbl.json +18 -18
  182. package/grammars/shaderlab.json +8 -8
  183. package/grammars/shellscript.json +111 -111
  184. package/grammars/shellsession.json +1 -1
  185. package/grammars/smalltalk.json +5 -5
  186. package/grammars/solidity.json +20 -20
  187. package/grammars/soy.json +30 -30
  188. package/grammars/sparql.json +1 -1
  189. package/grammars/splunk.json +6 -6
  190. package/grammars/sql.json +8 -8
  191. package/grammars/ssh-config.json +2 -2
  192. package/grammars/stata.json +90 -90
  193. package/grammars/stylus.json +48 -48
  194. package/grammars/svelte.json +35 -25
  195. package/grammars/swift.json +114 -114
  196. package/grammars/system-verilog.json +25 -25
  197. package/grammars/systemd.json +16 -16
  198. package/grammars/talonscript.json +12 -12
  199. package/grammars/tasl.json +10 -10
  200. package/grammars/tcl.json +11 -11
  201. package/grammars/templ.json +34 -34
  202. package/grammars/terraform.json +42 -42
  203. package/grammars/tex.json +14 -14
  204. package/grammars/toml.json +15 -15
  205. package/grammars/tsx.json +262 -262
  206. package/grammars/turtle.json +2 -2
  207. package/grammars/twig.json +37 -37
  208. package/grammars/typescript.json +251 -251
  209. package/grammars/typespec.json +54 -273
  210. package/grammars/typst.json +34 -34
  211. package/grammars/v.json +32 -32
  212. package/grammars/vala.json +6 -6
  213. package/grammars/vb.json +7 -7
  214. package/grammars/verilog.json +4 -4
  215. package/grammars/vhdl.json +10 -10
  216. package/grammars/viml.json +22 -22
  217. package/grammars/vue-html.json +10 -10
  218. package/grammars/vue-sfc-style-variable-injection.json +1 -1
  219. package/grammars/vue.json +65 -65
  220. package/grammars/vyper.json +126 -126
  221. package/grammars/wasm.json +26 -26
  222. package/grammars/wenyan.json +7 -7
  223. package/grammars/wgsl.json +9 -9
  224. package/grammars/wikitext.json +66 -66
  225. package/grammars/wit.json +1409 -0
  226. package/grammars/wolfram.json +446 -446
  227. package/grammars/xml.json +11 -11
  228. package/grammars/xsl.json +1 -1
  229. package/grammars/yaml.json +24 -24
  230. package/grammars/zenscript.json +8 -8
  231. package/grammars/zig.json +11 -11
  232. package/index.d.ts +7 -0
  233. package/index.js +1003 -283
  234. package/package.json +1 -1
package/grammars/ada.json CHANGED
@@ -42,13 +42,13 @@
42
42
  "name": "punctuation.ada"
43
43
  },
44
44
  {
45
- "match": "\\b(\\w|\\d|\\.|_)+\\b",
45
+ "match": "\\b([\\w\\d._])+\\b",
46
46
  "name": "entity.name.task.ada"
47
47
  }
48
48
  ]
49
49
  },
50
50
  "accept_statement": {
51
- "begin": "(?i)\\b(accept)\\s+((?:\\w|\\d|\\.|_)+)\\b",
51
+ "begin": "(?i)\\b(accept)\\s+([\\w\\d._]+)\\b",
52
52
  "beginCaptures": {
53
53
  "1": {
54
54
  "name": "keyword.control.ada"
@@ -105,7 +105,7 @@
105
105
  "name": "entity.name.type.ada"
106
106
  }
107
107
  },
108
- "match": "(?i)(not\\s+null\\s+)?(access)\\s+(constant\\s+)?((?:\\w|\\d|\\.|_)+)\\b",
108
+ "match": "(?i)(not\\s+null\\s+)?(access)\\s+(constant\\s+)?([\\w\\d._]+)\\b",
109
109
  "name": "meta.declaration.access.definition.ada"
110
110
  },
111
111
  "access_type_definition": {
@@ -153,7 +153,7 @@
153
153
  ]
154
154
  },
155
155
  "adding_operator": {
156
- "match": "(\\+|-|\\&)",
156
+ "match": "([+\\-\\&])",
157
157
  "name": "keyword.operator.adding.ada"
158
158
  },
159
159
  "array_aggregate": {
@@ -198,7 +198,7 @@
198
198
  ]
199
199
  }
200
200
  },
201
- "match": "(?i)\\b([^(=>)]*)\\s*(=>)\\s*([^,\\)]+)",
201
+ "match": "(?i)\\b([^(=>)]*)\\s*(=>)\\s*([^,)]+)",
202
202
  "name": "meta.definition.array.aggregate.component.ada"
203
203
  },
204
204
  "array_dimensions": {
@@ -347,7 +347,7 @@
347
347
  ]
348
348
  }
349
349
  },
350
- "match": "((?:\\w|\\d|_)+)('((?:\\w|\\d|_)+))?"
350
+ "match": "([\\w\\d_]+)('([\\w\\d_]+))?"
351
351
  }
352
352
  ]
353
353
  }
@@ -360,7 +360,7 @@
360
360
  "name": "keyword.other.ada"
361
361
  }
362
362
  },
363
- "end": "(?i)(?=(,|;|\\bis\\b))",
363
+ "end": "(?i)(?=([,;]|\\bis\\b))",
364
364
  "name": "meta.aspect.definition.ada",
365
365
  "patterns": [
366
366
  {
@@ -380,7 +380,7 @@
380
380
  "name": "entity.other.attribute-name.ada"
381
381
  }
382
382
  },
383
- "match": "(?i)\\b((?:\\w|\\d|\\.|_)+)(?:(')(class))?\\b",
383
+ "match": "(?i)\\b([\\w\\d._]+)(?:(')(class))?\\b",
384
384
  "name": "meta.aspect.mark.ada"
385
385
  },
386
386
  "aspect_specification": {
@@ -450,12 +450,12 @@
450
450
  ]
451
451
  },
452
452
  "assignment_statement": {
453
- "begin": "\\b((?:\\w|\\d|\\.|_|\\(|\\)|\"|'|\\s)+)\\s*(:=)",
453
+ "begin": "\\b([\\w\\d._()\"'\\s]+)\\s*(:=)",
454
454
  "beginCaptures": {
455
455
  "1": {
456
456
  "patterns": [
457
457
  {
458
- "match": "((?:\\w|\\d|\\.|_)+)",
458
+ "match": "([\\w\\d._]+)",
459
459
  "name": "variable.name.ada"
460
460
  },
461
461
  {
@@ -503,7 +503,7 @@
503
503
  "name": "entity.other.attribute-name.ada"
504
504
  }
505
505
  },
506
- "match": "(')((?:\\w|\\d|_)+)\\b",
506
+ "match": "(')([\\w\\d_]+)\\b",
507
507
  "name": "meta.attribute.ada"
508
508
  },
509
509
  "based_literal": {
@@ -534,7 +534,7 @@
534
534
  ]
535
535
  }
536
536
  },
537
- "match": "(?i)(\\d(?:(_)?\\d)*#)[0-9a-f](?:(_)?[0-9a-f])*(?:(\\.)[0-9a-f](?:(_)?[0-9a-f])*)?(#)([eE](?:\\+|\\-)?\\d(?:_?\\d)*)?",
537
+ "match": "(?i)(\\d(?:(_)?\\d)*#)[0-9a-f](?:(_)?[0-9a-f])*(?:(\\.)[0-9a-f](?:(_)?[0-9a-f])*)?(#)([eE][+\\-]?\\d(?:_?\\d)*)?",
538
538
  "name": "constant.numeric.ada"
539
539
  },
540
540
  "basic_declaration": {
@@ -594,7 +594,7 @@
594
594
  "name": "keyword.ada"
595
595
  }
596
596
  },
597
- "end": "(?i)\\b(end)(\\s+(?:\\w|\\d|_)+)?\\s*(;)",
597
+ "end": "(?i)\\b(end)(\\s+[\\w\\d_]+)?\\s*(;)",
598
598
  "endCaptures": {
599
599
  "1": {
600
600
  "name": "keyword.ada"
@@ -778,11 +778,11 @@
778
778
  "name": "entity.name.section.ada"
779
779
  }
780
780
  },
781
- "match": "--\\s*([^-].*?[^-])\\s*--\\s*$",
781
+ "match": "--\\s*([^\\-].*?[^\\-])\\s*--\\s*$",
782
782
  "name": "comment.line.double-dash.ada"
783
783
  },
784
784
  "component_clause": {
785
- "begin": "(?i)\\b((?:\\w|\\d|_)+)\\b",
785
+ "begin": "(?i)\\b([\\w\\d_]+)\\b",
786
786
  "beginCaptures": {
787
787
  "0": {
788
788
  "name": "variable.name.ada"
@@ -816,7 +816,7 @@
816
816
  ]
817
817
  },
818
818
  "component_declaration": {
819
- "begin": "(?i)\\b((?:\\w|\\d|_)+(?:\\s*,\\s*(?:\\w|\\d|_)+)?)\\s*(:)",
819
+ "begin": "(?i)\\b([\\w\\d_]+(?:\\s*,\\s*[\\w\\d_]+)?)\\s*(:)",
820
820
  "beginCaptures": {
821
821
  "1": {
822
822
  "patterns": [
@@ -825,7 +825,7 @@
825
825
  "name": "punctuation.ada"
826
826
  },
827
827
  {
828
- "match": "\\b(\\w|\\d|_)+\\b",
828
+ "match": "\\b([\\w\\d_])+\\b",
829
829
  "name": "variable.name.ada"
830
830
  }
831
831
  ]
@@ -941,7 +941,7 @@
941
941
  ]
942
942
  }
943
943
  },
944
- "match": "(?i)\\b((?:\\w|\\d|_)+)\\s*(=>)\\s*([^,\\)])+\\b"
944
+ "match": "(?i)\\b([\\w\\d_]+)\\s*(=>)\\s*([^,)])+\\b"
945
945
  },
946
946
  {
947
947
  "include": "#expression"
@@ -967,7 +967,7 @@
967
967
  ]
968
968
  }
969
969
  },
970
- "match": "\\d(?:(_)?\\d)*(?:(\\.)\\d(?:(_)?\\d)*)?([eE](?:\\+|\\-)?\\d(?:_?\\d)*)?",
970
+ "match": "\\d(?:(_)?\\d)*(?:(\\.)\\d(?:(_)?\\d)*)?([eE][+\\-]?\\d(?:_?\\d)*)?",
971
971
  "name": "constant.numeric.ada"
972
972
  },
973
973
  "declarative_item": {
@@ -1067,7 +1067,7 @@
1067
1067
  ]
1068
1068
  },
1069
1069
  "discriminant_specification": {
1070
- "begin": "(?i)\\b((?:\\w|\\d|_)+(?:\\s*,\\s*(?:\\w|\\d|_)+)?)\\s*(:)",
1070
+ "begin": "(?i)\\b([\\w\\d_]+(?:\\s*,\\s*[\\w\\d_]+)?)\\s*(:)",
1071
1071
  "beginCaptures": {
1072
1072
  "1": {
1073
1073
  "patterns": [
@@ -1076,7 +1076,7 @@
1076
1076
  "name": "punctuation.ada"
1077
1077
  },
1078
1078
  {
1079
- "match": "\\b(\\w|\\d|_)+\\b",
1079
+ "match": "\\b([\\w\\d_])+\\b",
1080
1080
  "name": "variable.name.ada"
1081
1081
  }
1082
1082
  ]
@@ -1085,7 +1085,7 @@
1085
1085
  "name": "punctuation.ada"
1086
1086
  }
1087
1087
  },
1088
- "end": "(?=(;|\\)))",
1088
+ "end": "(?=([;)]))",
1089
1089
  "patterns": [
1090
1090
  {
1091
1091
  "begin": ":=",
@@ -1094,7 +1094,7 @@
1094
1094
  "name": "keyword.operator.new.ada"
1095
1095
  }
1096
1096
  },
1097
- "end": "(?=(;|\\)))",
1097
+ "end": "(?=([;)]))",
1098
1098
  "patterns": [
1099
1099
  {
1100
1100
  "include": "#expression"
@@ -1114,7 +1114,7 @@
1114
1114
  ]
1115
1115
  }
1116
1116
  },
1117
- "match": "(?i)(not\\s+null\\s+)?((?:\\w|\\d|\\.|_)+)\\b"
1117
+ "match": "(?i)(not\\s+null\\s+)?([\\w\\d._]+)\\b"
1118
1118
  },
1119
1119
  {
1120
1120
  "include": "#access_definition"
@@ -1122,7 +1122,7 @@
1122
1122
  ]
1123
1123
  },
1124
1124
  "entry_body": {
1125
- "begin": "(?i)\\b(entry)\\s+((?:\\w|\\d|_)+)\\b",
1125
+ "begin": "(?i)\\b(entry)\\s+([\\w\\d_]+)\\b",
1126
1126
  "beginCaptures": {
1127
1127
  "1": {
1128
1128
  "name": "keyword.ada"
@@ -1192,7 +1192,7 @@
1192
1192
  ]
1193
1193
  },
1194
1194
  "entry_declaration": {
1195
- "begin": "(?i)\\b(?:(not)?\\s+(overriding)\\s+)?(entry)\\s+((?:\\w|\\d|_)+)\\b",
1195
+ "begin": "(?i)\\b(?:(not)?\\s+(overriding)\\s+)?(entry)\\s+([\\w\\d_]+)\\b",
1196
1196
  "beginCaptures": {
1197
1197
  "1": {
1198
1198
  "name": "storage.modifier.ada"
@@ -1239,7 +1239,7 @@
1239
1239
  "name": "punctuation.ada"
1240
1240
  },
1241
1241
  {
1242
- "match": "\\b(\\w|\\d|_)+\\b",
1242
+ "match": "\\b([\\w\\d_])+\\b",
1243
1243
  "name": "variable.name.ada"
1244
1244
  },
1245
1245
  {
@@ -1248,7 +1248,7 @@
1248
1248
  ]
1249
1249
  },
1250
1250
  "exception_declaration": {
1251
- "begin": "(?i)\\b((?:\\w|\\d|_)+(?:\\s*,\\s*(?:\\w|\\d|_)+)?)\\s*(:)\\s*(exception)",
1251
+ "begin": "(?i)\\b([\\w\\d_]+(?:\\s*,\\s*[\\w\\d_]+)?)\\s*(:)\\s*(exception)",
1252
1252
  "beginCaptures": {
1253
1253
  "1": {
1254
1254
  "patterns": [
@@ -1257,7 +1257,7 @@
1257
1257
  "name": "punctuation.ada"
1258
1258
  },
1259
1259
  {
1260
- "match": "\\b(\\w|\\d|_)+\\b",
1260
+ "match": "\\b([\\w\\d_])+\\b",
1261
1261
  "name": "entity.name.exception.ada"
1262
1262
  }
1263
1263
  ]
@@ -1278,7 +1278,7 @@
1278
1278
  "name": "meta.declaration.exception.ada",
1279
1279
  "patterns": [
1280
1280
  {
1281
- "match": "(?i)\\b(renames)\\s+((\\w|\\d|_|\\.)+)",
1281
+ "match": "(?i)\\b(renames)\\s+(([\\w\\d_.])+)",
1282
1282
  "name": "entity.name.exception.ada"
1283
1283
  }
1284
1284
  ]
@@ -1313,7 +1313,7 @@
1313
1313
  ]
1314
1314
  },
1315
1315
  {
1316
- "match": "(?:\\w|\\d|_)+",
1316
+ "match": "[\\w\\d_]+",
1317
1317
  "name": "entity.name.label.ada"
1318
1318
  }
1319
1319
  ]
@@ -1330,7 +1330,7 @@
1330
1330
  "name": "punctuation.ada"
1331
1331
  }
1332
1332
  },
1333
- "match": "([eE])(\\+|\\-)?\\d(?:(_)?\\d)*"
1333
+ "match": "([eE])([+\\-])?\\d(?:(_)?\\d)*"
1334
1334
  },
1335
1335
  "expression": {
1336
1336
  "name": "meta.expression.ada",
@@ -1394,7 +1394,7 @@
1394
1394
  "name": "keyword.control.ada"
1395
1395
  }
1396
1396
  },
1397
- "end": "(?i)\\b(end)\\s+(loop)(\\s+(?:\\w|\\d|_)+)?\\s*(;)",
1397
+ "end": "(?i)\\b(end)\\s+(loop)(\\s+[\\w\\d_]+)?\\s*(;)",
1398
1398
  "endCaptures": {
1399
1399
  "1": {
1400
1400
  "name": "keyword.control.ada"
@@ -1432,7 +1432,7 @@
1432
1432
  "name": "keyword.control.ada"
1433
1433
  }
1434
1434
  },
1435
- "match": "(?i)\\b((?:\\w|\\d|_)+)\\s+(in)(\\s+reverse)?\\b"
1435
+ "match": "(?i)\\b([\\w\\d_]+)\\s+(in)(\\s+reverse)?\\b"
1436
1436
  },
1437
1437
  {
1438
1438
  "captures": {
@@ -1456,7 +1456,7 @@
1456
1456
  "name": "keyword.control.ada"
1457
1457
  }
1458
1458
  },
1459
- "match": "(?i)\\b((?:\\w|\\d|_)+)(?:\\s*(:)\\s*((?:\\w|\\d|\\.|_)+))?\\s+(of)(\\s+reverse)?\\b"
1459
+ "match": "(?i)\\b([\\w\\d_]+)(?:\\s*(:)\\s*([\\w\\d._]+))?\\s+(of)(\\s+reverse)?\\b"
1460
1460
  },
1461
1461
  {
1462
1462
  "include": "#expression"
@@ -1479,7 +1479,7 @@
1479
1479
  ]
1480
1480
  },
1481
1481
  "function_body": {
1482
- "begin": "(?i)\\b(overriding\\s+)?(function)\\s+(?:((?:\\w|\\d|\\.|_)+\\b)|(\".+\"))",
1482
+ "begin": "(?i)\\b(overriding\\s+)?(function)\\s+(?:([\\w\\d._]+\\b)|(\".+\"))",
1483
1483
  "beginCaptures": {
1484
1484
  "1": {
1485
1485
  "name": "storage.visibility.ada"
@@ -1559,7 +1559,7 @@
1559
1559
  "name": "meta.declaration.package.generic.ada",
1560
1560
  "patterns": [
1561
1561
  {
1562
- "match": "((?:\\w|\\d|\\.|_)+)",
1562
+ "match": "([\\w\\d._]+)",
1563
1563
  "name": "entity.name.function.ada"
1564
1564
  },
1565
1565
  {
@@ -1669,7 +1669,7 @@
1669
1669
  "name": "punctuation.ada"
1670
1670
  }
1671
1671
  },
1672
- "match": "\\b((?:\\w|\\d|\\.|_)+)\\s*(:)"
1672
+ "match": "\\b([\\w\\d._]+)\\s*(:)"
1673
1673
  },
1674
1674
  {
1675
1675
  "match": "\\|",
@@ -1680,7 +1680,7 @@
1680
1680
  "name": "keyword.ada"
1681
1681
  },
1682
1682
  {
1683
- "match": "(?:\\w|\\d|\\.|_)+",
1683
+ "match": "[\\w\\d._]+",
1684
1684
  "name": "entity.name.exception.ada"
1685
1685
  }
1686
1686
  ]
@@ -1727,7 +1727,7 @@
1727
1727
  "name": "keyword.control.ada"
1728
1728
  }
1729
1729
  },
1730
- "end": "(?i)(?:(?<!\\sand)\\s+(?=then))",
1730
+ "end": "(?i)(?<!\\sand)\\s+(?=then)",
1731
1731
  "patterns": [
1732
1732
  {
1733
1733
  "include": "#expression"
@@ -1750,7 +1750,7 @@
1750
1750
  },
1751
1751
  {
1752
1752
  "begin": "(?i)(?<=if)\\b",
1753
- "end": "(?i)(?:(?<!\\sand)\\s+(?=then))",
1753
+ "end": "(?i)(?<!\\sand)\\s+(?=then)",
1754
1754
  "endCaptures": {
1755
1755
  "0": {
1756
1756
  "name": "keyword.control.ada"
@@ -1769,7 +1769,7 @@
1769
1769
  "name": "keyword.control.ada"
1770
1770
  }
1771
1771
  },
1772
- "end": "(?i)(?=(elsif|else|end))",
1772
+ "end": "(?i)(?=(e(?:lsif|lse|nd)))",
1773
1773
  "patterns": [
1774
1774
  {
1775
1775
  "include": "#statement"
@@ -1834,7 +1834,7 @@
1834
1834
  "name": "keyword.modifier.unknown.ada"
1835
1835
  },
1836
1836
  {
1837
- "match": "(\\+|-|\\*|/)",
1837
+ "match": "([+\\-*/])",
1838
1838
  "name": "keyword.operator.arithmetic.ada"
1839
1839
  },
1840
1840
  {
@@ -1842,11 +1842,11 @@
1842
1842
  "name": "keyword.operator.assignment.ada"
1843
1843
  },
1844
1844
  {
1845
- "match": "(=|/=|<|>|<=|>=)",
1845
+ "match": "(=|/=|[<>]|<=|>=)",
1846
1846
  "name": "keyword.operator.logic.ada"
1847
1847
  },
1848
1848
  {
1849
- "match": "\\&",
1849
+ "match": "&",
1850
1850
  "name": "keyword.operator.concatenation.ada"
1851
1851
  }
1852
1852
  ]
@@ -1882,7 +1882,7 @@
1882
1882
  "name": "punctuation.label.ada"
1883
1883
  }
1884
1884
  },
1885
- "match": "(<<)?((?:\\w|\\d|_)+)\\s*(:[^=]|>>)",
1885
+ "match": "(<<)?([\\w\\d_]+)\\s*(:[^=]|>>)",
1886
1886
  "name": "meta.label.ada"
1887
1887
  },
1888
1888
  "library_unit": {
@@ -1931,7 +1931,7 @@
1931
1931
  ]
1932
1932
  },
1933
1933
  "multiplying_operator": {
1934
- "match": "(?i)(\\*|/|\\bmod\\b|\\brem\\b)",
1934
+ "match": "(?i)([*/]|\\bmod\\b|\\brem\\b)",
1935
1935
  "name": "keyword.operator.multiplying.ada"
1936
1936
  },
1937
1937
  "null_statement": {
@@ -1947,7 +1947,7 @@
1947
1947
  "name": "meta.statement.null.ada"
1948
1948
  },
1949
1949
  "object_declaration": {
1950
- "begin": "(?i)\\b((?:\\w|\\d|_)+(?:\\s*,\\s*(?:\\w|\\d|_)+)*)\\s*(:)",
1950
+ "begin": "(?i)\\b([\\w\\d_]+(?:\\s*,\\s*[\\w\\d_]+)*)\\s*(:)",
1951
1951
  "beginCaptures": {
1952
1952
  "1": {
1953
1953
  "patterns": [
@@ -1956,7 +1956,7 @@
1956
1956
  "name": "punctuation.ada"
1957
1957
  },
1958
1958
  {
1959
- "match": "\\b(\\w|\\d|_)+\\b",
1959
+ "match": "\\b([\\w\\d_])+\\b",
1960
1960
  "name": "variable.name.ada"
1961
1961
  }
1962
1962
  ]
@@ -2044,7 +2044,7 @@
2044
2044
  ]
2045
2045
  },
2046
2046
  "package_body": {
2047
- "begin": "(?i)\\b(package)\\s+(body)\\s+((?:\\w|\\d|\\.|_)+)\\b",
2047
+ "begin": "(?i)\\b(package)\\s+(body)\\s+([\\w\\d._]+)\\b",
2048
2048
  "beginCaptures": {
2049
2049
  "1": {
2050
2050
  "name": "keyword.ada"
@@ -2099,7 +2099,7 @@
2099
2099
  "name": "keyword.ada"
2100
2100
  }
2101
2101
  },
2102
- "end": "(?i)(?=(\\bbegin\\b|\\bend\\b))",
2102
+ "end": "(?i)(?=(\\b(?:begin\\b|end\\b)))",
2103
2103
  "patterns": [
2104
2104
  {
2105
2105
  "match": "(?i)\\bprivate\\b",
@@ -2126,11 +2126,11 @@
2126
2126
  ]
2127
2127
  },
2128
2128
  "package_mark": {
2129
- "match": "\\b(\\w|\\d|\\.|_)+\\b",
2129
+ "match": "\\b([\\w\\d._])+\\b",
2130
2130
  "name": "entity.name.package.ada"
2131
2131
  },
2132
2132
  "package_specification": {
2133
- "begin": "(?i)\\b(package)\\s+((?:\\w|\\d|\\.|_)+)\\b",
2133
+ "begin": "(?i)\\b(package)\\s+([\\w\\d._]+)\\b",
2134
2134
  "beginCaptures": {
2135
2135
  "1": {
2136
2136
  "name": "keyword.ada"
@@ -2216,7 +2216,7 @@
2216
2216
  "name": "keyword.other.ada"
2217
2217
  }
2218
2218
  },
2219
- "match": "((?:\\w|\\d|_)+)\\s*(=>)"
2219
+ "match": "([\\w\\d_]+)\\s*(=>)"
2220
2220
  },
2221
2221
  {
2222
2222
  "include": "#expression"
@@ -2281,7 +2281,7 @@
2281
2281
  "name": "punctuation.ada"
2282
2282
  },
2283
2283
  {
2284
- "match": "\\b(?:\\w|\\d|\\.|_)+\\b",
2284
+ "match": "\\b[\\w\\d._]+\\b",
2285
2285
  "name": "variable.parameter.ada"
2286
2286
  },
2287
2287
  {
@@ -2312,7 +2312,7 @@
2312
2312
  ]
2313
2313
  }
2314
2314
  },
2315
- "match": "(?i)\\b(others)\\s*(=>)\\s*([^,\\)]+)"
2315
+ "match": "(?i)\\b(others)\\s*(=>)\\s*([^,)]+)"
2316
2316
  },
2317
2317
  {
2318
2318
  "include": "#expression"
@@ -2320,7 +2320,7 @@
2320
2320
  ]
2321
2321
  },
2322
2322
  "pragma": {
2323
- "begin": "(?i)\\b(pragma)\\s+((?:\\w|\\d|_)+)\\b",
2323
+ "begin": "(?i)\\b(pragma)\\s+([\\w\\d_]+)\\b",
2324
2324
  "beginCaptures": {
2325
2325
  "1": {
2326
2326
  "name": "keyword.ada"
@@ -2391,7 +2391,7 @@
2391
2391
  ]
2392
2392
  },
2393
2393
  "procedure_body": {
2394
- "begin": "(?i)\\b(overriding\\s+)?(procedure)\\s+((?:\\w|\\d|\\.|_)+)\\b",
2394
+ "begin": "(?i)\\b(overriding\\s+)?(procedure)\\s+([\\w\\d._]+)\\b",
2395
2395
  "beginCaptures": {
2396
2396
  "1": {
2397
2397
  "name": "storage.visibility.ada"
@@ -2437,7 +2437,7 @@
2437
2437
  "name": "meta.declaration.package.generic.ada",
2438
2438
  "patterns": [
2439
2439
  {
2440
- "match": "((?:\\w|\\d|\\.|_)+)",
2440
+ "match": "([\\w\\d._]+)",
2441
2441
  "name": "entity.name.function.ada"
2442
2442
  },
2443
2443
  {
@@ -2483,7 +2483,7 @@
2483
2483
  ]
2484
2484
  },
2485
2485
  "procedure_call_statement": {
2486
- "begin": "(?i)\\b((?:\\w|\\d|_|\\.)+)\\b",
2486
+ "begin": "(?i)\\b([\\w\\d_.]+)\\b",
2487
2487
  "beginCaptures": {
2488
2488
  "1": {
2489
2489
  "name": "entity.name.function.ada"
@@ -2516,7 +2516,7 @@
2516
2516
  ]
2517
2517
  },
2518
2518
  "protected_body": {
2519
- "begin": "(?i)\\b(protected)\\s+(body)\\s+((?:\\w|\\d|\\.|_)+)\\b",
2519
+ "begin": "(?i)\\b(protected)\\s+(body)\\s+([\\w\\d._]+)\\b",
2520
2520
  "beginCaptures": {
2521
2521
  "1": {
2522
2522
  "name": "storage.modifier.ada"
@@ -2610,7 +2610,7 @@
2610
2610
  "name": "keyword.ada"
2611
2611
  }
2612
2612
  },
2613
- "end": "(?=(;|\\)))",
2613
+ "end": "(?=([;)]))",
2614
2614
  "patterns": [
2615
2615
  {
2616
2616
  "include": "#expression"
@@ -2618,7 +2618,7 @@
2618
2618
  ]
2619
2619
  },
2620
2620
  {
2621
- "match": "\\b(\\w|\\d|_)+\\b",
2621
+ "match": "\\b([\\w\\d_])+\\b",
2622
2622
  "name": "entity.name.exception.ada"
2623
2623
  }
2624
2624
  ]
@@ -2653,7 +2653,7 @@
2653
2653
  ]
2654
2654
  },
2655
2655
  {
2656
- "match": "\\b(\\w|\\d|\\.|_)+\\b",
2656
+ "match": "\\b([\\w\\d._])+\\b",
2657
2657
  "name": "entity.name.exception.ada"
2658
2658
  }
2659
2659
  ]
@@ -2846,7 +2846,7 @@
2846
2846
  "name": "keyword.control.ada"
2847
2847
  },
2848
2848
  {
2849
- "match": "\\b(\\w|\\d|\\.|_)+\\b",
2849
+ "match": "\\b([\\w\\d._])+\\b",
2850
2850
  "name": "entity.name.function.ada"
2851
2851
  }
2852
2852
  ]
@@ -2917,7 +2917,7 @@
2917
2917
  "name": "entity.name.type.ada"
2918
2918
  }
2919
2919
  },
2920
- "match": "\\b((?:\\w|\\d|_)+)\\s*(:)\\s*((?:\\w|\\d|\\.|_)+)\\b"
2920
+ "match": "\\b([\\w\\d_]+)\\s*(:)\\s*([\\w\\d._]+)\\b"
2921
2921
  },
2922
2922
  {
2923
2923
  "match": ":=",
@@ -2932,7 +2932,7 @@
2932
2932
  "name": "meta.declaration.constraint.scalar.ada",
2933
2933
  "patterns": [
2934
2934
  {
2935
- "begin": "(?i)\\b(digits|delta)\\b",
2935
+ "begin": "(?i)\\b(d(?:igits|elta))\\b",
2936
2936
  "beginCaptures": {
2937
2937
  "1": {
2938
2938
  "name": "storage.modifier.ada"
@@ -3039,7 +3039,7 @@
3039
3039
  "name": "keyword.control.ada"
3040
3040
  }
3041
3041
  },
3042
- "end": "(?i)\\b(end)\\s+(loop)(\\s+(?:\\w|\\d|_)+)?\\s*(;)",
3042
+ "end": "(?i)\\b(end)\\s+(loop)(\\s+[\\w\\d_]+)?\\s*(;)",
3043
3043
  "endCaptures": {
3044
3044
  "1": {
3045
3045
  "name": "keyword.control.ada"
@@ -3062,7 +3062,7 @@
3062
3062
  ]
3063
3063
  },
3064
3064
  "single_protected_declaration": {
3065
- "begin": "(?i)\\b(protected)\\s+((?:\\w|\\d|_)+)\\b",
3065
+ "begin": "(?i)\\b(protected)\\s+([\\w\\d_]+)\\b",
3066
3066
  "beginCaptures": {
3067
3067
  "1": {
3068
3068
  "name": "keyword.ada"
@@ -3133,7 +3133,7 @@
3133
3133
  ]
3134
3134
  },
3135
3135
  "single_task_declaration": {
3136
- "begin": "(?i)\\b(task)\\s+((?:\\w|\\d|_)+)\\b",
3136
+ "begin": "(?i)\\b(task)\\s+([\\w\\d_]+)\\b",
3137
3137
  "beginCaptures": {
3138
3138
  "1": {
3139
3139
  "name": "keyword.ada"
@@ -3318,7 +3318,7 @@
3318
3318
  "end": "(?=(with|;))",
3319
3319
  "patterns": [
3320
3320
  {
3321
- "match": "(?:\\w|\\d|_|\\.)+",
3321
+ "match": "[\\w\\d_.]+",
3322
3322
  "name": "entity.name.function.ada"
3323
3323
  }
3324
3324
  ]
@@ -3414,7 +3414,7 @@
3414
3414
  "name": "keyword.ada"
3415
3415
  }
3416
3416
  },
3417
- "end": "(?=(;|\\)))",
3417
+ "end": "(?=([;)]))",
3418
3418
  "patterns": [
3419
3419
  {
3420
3420
  "include": "#parameter_profile"
@@ -3426,7 +3426,7 @@
3426
3426
  "name": "keyword.ada"
3427
3427
  }
3428
3428
  },
3429
- "end": "(?=(;|\\)))",
3429
+ "end": "(?=([;)]))",
3430
3430
  "patterns": [
3431
3431
  {
3432
3432
  "include": "#subtype_mark"
@@ -3446,7 +3446,7 @@
3446
3446
  ]
3447
3447
  }
3448
3448
  },
3449
- "match": "\\b(?:\\w|\\d|\\.|_)+\\b",
3449
+ "match": "\\b[\\w\\d._]+\\b",
3450
3450
  "name": "entity.name.type.ada"
3451
3451
  },
3452
3452
  {
@@ -3455,7 +3455,7 @@
3455
3455
  ]
3456
3456
  },
3457
3457
  "task_body": {
3458
- "begin": "(?i)\\b(task)\\s+(body)\\s+((\\w|\\d|\\.|_)+)\\b",
3458
+ "begin": "(?i)\\b(task)\\s+(body)\\s+(([\\w\\d._])+)\\b",
3459
3459
  "beginCaptures": {
3460
3460
  "1": {
3461
3461
  "name": "keyword.ada"
@@ -3525,7 +3525,7 @@
3525
3525
  ]
3526
3526
  },
3527
3527
  "task_type_declaration": {
3528
- "begin": "(?i)\\b(task)\\s+(type)\\s+((\\w|\\d|\\.|_)+)\\b",
3528
+ "begin": "(?i)\\b(task)\\s+(type)\\s+(([\\w\\d._])+)\\b",
3529
3529
  "beginCaptures": {
3530
3530
  "1": {
3531
3531
  "name": "storage.modifier.ada"
@@ -3750,7 +3750,7 @@
3750
3750
  },
3751
3751
  "patterns": [
3752
3752
  {
3753
- "match": "(?:\\w|\\d|_)+",
3753
+ "match": "[\\w\\d_]+",
3754
3754
  "name": "variable.name.ada"
3755
3755
  },
3756
3756
  {
@@ -3803,7 +3803,7 @@
3803
3803
  "name": "keyword.control.ada"
3804
3804
  }
3805
3805
  },
3806
- "end": "(?i)\\b(end)\\s+(loop)(\\s+(?:\\w|\\d|_)+)?\\s*(;)",
3806
+ "end": "(?i)\\b(end)\\s+(loop)(\\s+[\\w\\d_]+)?\\s*(;)",
3807
3807
  "endCaptures": {
3808
3808
  "1": {
3809
3809
  "name": "keyword.control.ada"