@shikijs/langs 3.2.2 → 3.4.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 (226) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/actionscript-3.mjs +1 -1
  3. package/dist/ada.mjs +1 -1
  4. package/dist/angular-expression.mjs +1 -1
  5. package/dist/angular-html.mjs +1 -1
  6. package/dist/angular-inline-style.mjs +1 -1
  7. package/dist/angular-inline-template.mjs +1 -1
  8. package/dist/angular-let-declaration.mjs +1 -1
  9. package/dist/angular-template-blocks.mjs +1 -1
  10. package/dist/angular-ts.mjs +1 -1
  11. package/dist/apache.mjs +1 -1
  12. package/dist/apex.mjs +1 -1
  13. package/dist/apl.mjs +1 -1
  14. package/dist/applescript.mjs +1 -1
  15. package/dist/ara.mjs +1 -1
  16. package/dist/asciidoc.mjs +1 -1
  17. package/dist/asm.mjs +1 -1
  18. package/dist/astro.mjs +1 -1
  19. package/dist/awk.mjs +1 -1
  20. package/dist/ballerina.mjs +1 -1
  21. package/dist/bat.mjs +1 -1
  22. package/dist/beancount.mjs +1 -1
  23. package/dist/berry.mjs +1 -1
  24. package/dist/bibtex.mjs +1 -1
  25. package/dist/bicep.mjs +1 -1
  26. package/dist/blade.mjs +1 -1
  27. package/dist/bsl.mjs +1 -1
  28. package/dist/c.mjs +1 -1
  29. package/dist/cadence.mjs +1 -1
  30. package/dist/cairo.mjs +1 -1
  31. package/dist/clarity.mjs +1 -1
  32. package/dist/clojure.mjs +1 -1
  33. package/dist/cmake.mjs +1 -1
  34. package/dist/cobol.mjs +1 -1
  35. package/dist/codeql.mjs +1 -1
  36. package/dist/coffee.mjs +1 -1
  37. package/dist/common-lisp.mjs +1 -1
  38. package/dist/coq.mjs +1 -1
  39. package/dist/cpp-macro.mjs +1 -1
  40. package/dist/cpp.mjs +1 -1
  41. package/dist/crystal.mjs +1 -1
  42. package/dist/csharp.mjs +1 -1
  43. package/dist/css.mjs +1 -1
  44. package/dist/cue.mjs +1 -1
  45. package/dist/cypher.mjs +1 -1
  46. package/dist/d.mjs +1 -1
  47. package/dist/dart.mjs +1 -1
  48. package/dist/dax.mjs +1 -1
  49. package/dist/desktop.mjs +1 -1
  50. package/dist/diff.mjs +1 -1
  51. package/dist/dotenv.mjs +1 -1
  52. package/dist/dream-maker.mjs +1 -1
  53. package/dist/edge.mjs +1 -1
  54. package/dist/elixir.mjs +1 -1
  55. package/dist/elm.mjs +1 -1
  56. package/dist/emacs-lisp.mjs +1 -1
  57. package/dist/erb.mjs +1 -1
  58. package/dist/erlang.mjs +1 -1
  59. package/dist/es-tag-css.mjs +1 -1
  60. package/dist/es-tag-glsl.mjs +1 -1
  61. package/dist/es-tag-html.mjs +1 -1
  62. package/dist/es-tag-sql.mjs +1 -1
  63. package/dist/es-tag-xml.mjs +1 -1
  64. package/dist/fennel.mjs +1 -1
  65. package/dist/fish.mjs +1 -1
  66. package/dist/fluent.mjs +1 -1
  67. package/dist/fortran-fixed-form.mjs +1 -1
  68. package/dist/fortran-free-form.mjs +1 -1
  69. package/dist/fsharp.mjs +1 -1
  70. package/dist/gdresource.mjs +1 -1
  71. package/dist/gdscript.mjs +1 -1
  72. package/dist/gdshader.mjs +1 -1
  73. package/dist/genie.mjs +1 -1
  74. package/dist/gherkin.mjs +1 -1
  75. package/dist/gleam.mjs +1 -1
  76. package/dist/glimmer-js.mjs +1 -1
  77. package/dist/glimmer-ts.mjs +1 -1
  78. package/dist/glsl.mjs +1 -1
  79. package/dist/gnuplot.mjs +1 -1
  80. package/dist/go.mjs +1 -1
  81. package/dist/graphql.mjs +1 -1
  82. package/dist/groovy.mjs +1 -1
  83. package/dist/hack.mjs +1 -1
  84. package/dist/haml.mjs +1 -1
  85. package/dist/handlebars.mjs +1 -1
  86. package/dist/haskell.mjs +1 -1
  87. package/dist/haxe.mjs +1 -1
  88. package/dist/hcl.mjs +1 -1
  89. package/dist/hjson.mjs +1 -1
  90. package/dist/hlsl.mjs +1 -1
  91. package/dist/html-derivative.mjs +1 -1
  92. package/dist/html.mjs +1 -1
  93. package/dist/http.mjs +1 -1
  94. package/dist/hxml.mjs +1 -1
  95. package/dist/hy.mjs +1 -1
  96. package/dist/imba.mjs +1 -1
  97. package/dist/ini.mjs +1 -1
  98. package/dist/java.mjs +1 -1
  99. package/dist/javascript.mjs +1 -1
  100. package/dist/jinja.mjs +1 -1
  101. package/dist/jison.mjs +1 -1
  102. package/dist/json.mjs +1 -1
  103. package/dist/json5.mjs +1 -1
  104. package/dist/jsonc.mjs +1 -1
  105. package/dist/jsonl.mjs +1 -1
  106. package/dist/jsonnet.mjs +1 -1
  107. package/dist/jssm.mjs +1 -1
  108. package/dist/jsx.mjs +1 -1
  109. package/dist/julia.mjs +1 -1
  110. package/dist/kotlin.mjs +1 -1
  111. package/dist/kusto.mjs +1 -1
  112. package/dist/latex.mjs +1 -1
  113. package/dist/lean.mjs +1 -1
  114. package/dist/less.mjs +1 -1
  115. package/dist/liquid.mjs +1 -1
  116. package/dist/llvm.mjs +1 -1
  117. package/dist/log.mjs +1 -1
  118. package/dist/logo.mjs +1 -1
  119. package/dist/lua.mjs +1 -1
  120. package/dist/luau.mjs +1 -1
  121. package/dist/make.mjs +1 -1
  122. package/dist/markdown-vue.mjs +1 -1
  123. package/dist/markdown.mjs +1 -1
  124. package/dist/marko.mjs +1 -1
  125. package/dist/matlab.mjs +1 -1
  126. package/dist/mdc.mjs +1 -1
  127. package/dist/mdx.mjs +1 -1
  128. package/dist/mermaid.mjs +1 -1
  129. package/dist/mipsasm.mjs +1 -1
  130. package/dist/mojo.mjs +1 -1
  131. package/dist/move.mjs +1 -1
  132. package/dist/narrat.mjs +1 -1
  133. package/dist/nextflow.mjs +1 -1
  134. package/dist/nginx.mjs +1 -1
  135. package/dist/nim.mjs +1 -1
  136. package/dist/nix.mjs +1 -1
  137. package/dist/nushell.mjs +1 -1
  138. package/dist/objective-c.mjs +1 -1
  139. package/dist/objective-cpp.mjs +1 -1
  140. package/dist/ocaml.mjs +1 -1
  141. package/dist/pascal.mjs +1 -1
  142. package/dist/perl.mjs +1 -1
  143. package/dist/php.mjs +1 -1
  144. package/dist/plsql.mjs +1 -1
  145. package/dist/po.mjs +1 -1
  146. package/dist/polar.mjs +1 -1
  147. package/dist/postcss.mjs +1 -1
  148. package/dist/powerquery.mjs +1 -1
  149. package/dist/powershell.mjs +1 -1
  150. package/dist/prisma.mjs +1 -1
  151. package/dist/prolog.mjs +1 -1
  152. package/dist/proto.mjs +1 -1
  153. package/dist/pug.mjs +1 -1
  154. package/dist/puppet.mjs +1 -1
  155. package/dist/purescript.mjs +1 -1
  156. package/dist/python.mjs +1 -1
  157. package/dist/qml.mjs +1 -1
  158. package/dist/qss.mjs +1 -1
  159. package/dist/r.mjs +1 -1
  160. package/dist/racket.mjs +1 -1
  161. package/dist/raku.mjs +1 -1
  162. package/dist/razor.mjs +1 -1
  163. package/dist/reg.mjs +1 -1
  164. package/dist/regexp.mjs +1 -1
  165. package/dist/rel.mjs +1 -1
  166. package/dist/riscv.mjs +1 -1
  167. package/dist/rst.mjs +1 -1
  168. package/dist/ruby.mjs +1 -1
  169. package/dist/rust.mjs +1 -1
  170. package/dist/sas.mjs +1 -1
  171. package/dist/sass.mjs +1 -1
  172. package/dist/scala.mjs +1 -1
  173. package/dist/scheme.mjs +1 -1
  174. package/dist/scss.mjs +1 -1
  175. package/dist/sdbl.mjs +1 -1
  176. package/dist/shaderlab.mjs +1 -1
  177. package/dist/shellscript.mjs +1 -1
  178. package/dist/shellsession.mjs +1 -1
  179. package/dist/smalltalk.mjs +1 -1
  180. package/dist/solidity.mjs +1 -1
  181. package/dist/soy.mjs +1 -1
  182. package/dist/sparql.mjs +1 -1
  183. package/dist/splunk.mjs +1 -1
  184. package/dist/sql.mjs +1 -1
  185. package/dist/ssh-config.mjs +1 -1
  186. package/dist/stata.mjs +1 -1
  187. package/dist/stylus.mjs +1 -1
  188. package/dist/svelte.mjs +1 -1
  189. package/dist/swift.mjs +1 -1
  190. package/dist/system-verilog.mjs +1 -1
  191. package/dist/systemd.mjs +1 -1
  192. package/dist/talonscript.mjs +1 -1
  193. package/dist/tasl.mjs +1 -1
  194. package/dist/tcl.mjs +1 -1
  195. package/dist/templ.mjs +1 -1
  196. package/dist/terraform.mjs +1 -1
  197. package/dist/tex.mjs +1 -1
  198. package/dist/toml.mjs +1 -1
  199. package/dist/tsx.mjs +1 -1
  200. package/dist/turtle.mjs +1 -1
  201. package/dist/twig.mjs +1 -1
  202. package/dist/typescript.mjs +1 -1
  203. package/dist/typespec.mjs +1 -1
  204. package/dist/typst.mjs +1 -1
  205. package/dist/v.mjs +1 -1
  206. package/dist/vala.mjs +1 -1
  207. package/dist/vb.mjs +1 -1
  208. package/dist/verilog.mjs +1 -1
  209. package/dist/vhdl.mjs +1 -1
  210. package/dist/viml.mjs +1 -1
  211. package/dist/vue-html.mjs +1 -1
  212. package/dist/vue-sfc-style-variable-injection.mjs +1 -1
  213. package/dist/vue.mjs +3 -3
  214. package/dist/vyper.mjs +1 -1
  215. package/dist/wasm.mjs +1 -1
  216. package/dist/wenyan.mjs +1 -1
  217. package/dist/wgsl.mjs +1 -1
  218. package/dist/wikitext.mjs +1 -1
  219. package/dist/wit.mjs +1 -1
  220. package/dist/wolfram.mjs +1 -1
  221. package/dist/xml.mjs +1 -1
  222. package/dist/xsl.mjs +1 -1
  223. package/dist/yaml.mjs +1 -1
  224. package/dist/zenscript.mjs +1 -1
  225. package/dist/zig.mjs +1 -1
  226. package/package.json +3 -3
package/dist/ada.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Ada\",\"name\":\"ada\",\"patterns\":[{\"include\":\"#library_unit\"},{\"include\":\"#comment\"},{\"include\":\"#use_clause\"},{\"include\":\"#with_clause\"},{\"include\":\"#pragma\"},{\"include\":\"#keyword\"}],\"repository\":{\"abort_statement\":{\"begin\":\"(?i)\\\\babort\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.abort.ada\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"\\\\b([\\\\w\\\\d._])+\\\\b\",\"name\":\"entity.name.task.ada\"}]},\"accept_statement\":{\"begin\":\"(?i)\\\\b(accept)\\\\s+([\\\\w\\\\d._]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"entity.name.accept.ada\"}},\"end\":\"(?i)(?:\\\\b(end)\\\\s*(\\\\s\\\\2)?\\\\s*)?(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"entity.name.accept.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.accept.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bdo\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(?=end)\\\\b\",\"patterns\":[{\"include\":\"#statement\"}]},{\"include\":\"#parameter_profile\"}]},\"access_definition\":{\"captures\":{\"1\":{\"name\":\"storage.visibility.ada\"},\"2\":{\"name\":\"storage.visibility.ada\"},\"3\":{\"name\":\"storage.modifier.ada\"},\"4\":{\"name\":\"entity.name.type.ada\"}},\"match\":\"(?i)(not\\\\s+null\\\\s+)?(access)\\\\s+(constant\\\\s+)?([\\\\w\\\\d._]+)\\\\b\",\"name\":\"meta.declaration.access.definition.ada\"},\"access_type_definition\":{\"begin\":\"(?i)\\\\b(not\\\\s+null\\\\s+)?(access)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.visibility.ada\"},\"2\":{\"name\":\"storage.visibility.ada\"}},\"end\":\"(?i)(?=(with|;))\",\"name\":\"meta.declaration.type.definition.access.ada\",\"patterns\":[{\"match\":\"(?i)\\\\ball\\\\b\",\"name\":\"storage.visibility.ada\"},{\"match\":\"(?i)\\\\bconstant\\\\b\",\"name\":\"storage.modifier.ada\"},{\"include\":\"#subtype_mark\"}]},\"actual_parameter_part\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"\\\\)\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"include\":\"#parameter_association\"}]},\"adding_operator\":{\"match\":\"([+\\\\-\\\\&])\",\"name\":\"keyword.operator.adding.ada\"},\"array_aggregate\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"\\\\)\",\"name\":\"meta.definition.array.aggregate.ada\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"include\":\"#positional_array_aggregate\"},{\"include\":\"#array_component_association\"}]},\"array_component_association\":{\"captures\":{\"1\":{\"name\":\"variable.name.ada\"},\"2\":{\"name\":\"keyword.other.ada\"},\"3\":{\"patterns\":[{\"match\":\"<>\",\"name\":\"keyword.modifier.unknown.ada\"},{\"include\":\"#expression\"}]}},\"match\":\"(?i)\\\\b([^(=>)]*)\\\\s*(=>)\\\\s*([^,)]+)\",\"name\":\"meta.definition.array.aggregate.component.ada\"},\"array_dimensions\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"\\\\)\",\"name\":\"meta.declaration.type.definition.array.dimensions.ada\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"(?i)\\\\brange\\\\b\",\"name\":\"storage.modifier.ada\"},{\"match\":\"<>\",\"name\":\"keyword.modifier.unknown.ada\"},{\"match\":\"\\\\.\\\\.\",\"name\":\"keyword.ada\"},{\"include\":\"#expression\"},{\"patterns\":[{\"include\":\"#subtype_mark\"}]}]},\"array_type_definition\":{\"begin\":\"(?i)\\\\barray\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?i)(?=(with|;))\",\"name\":\"meta.declaration.type.definition.array.ada\",\"patterns\":[{\"include\":\"#array_dimensions\"},{\"match\":\"(?i)\\\\bof\\\\b\",\"name\":\"storage.modifier.ada\"},{\"match\":\"(?i)\\\\baliased\\\\b\",\"name\":\"storage.visibility.ada\"},{\"include\":\"#access_definition\"},{\"include\":\"#subtype_mark\"}]},\"aspect_clause\":{\"begin\":\"(?i)\\\\b(for)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"patterns\":[{\"include\":\"#subtype_mark\"}]},\"3\":{\"name\":\"punctuation.ada\"},\"5\":{\"name\":\"keyword.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.aspect.clause.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\buse\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?=;)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"patterns\":[{\"include\":\"#record_representation_clause\"},{\"include\":\"#array_aggregate\"},{\"include\":\"#expression\"}]},{\"begin\":\"(?i)(?<=for)\",\"captures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=use)\",\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#subtype_mark\"}]},\"2\":{\"patterns\":[{\"include\":\"#attribute\"}]}},\"match\":\"([\\\\w\\\\d_]+)('([\\\\w\\\\d_]+))?\"}]}]},\"aspect_definition\":{\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.ada\"}},\"end\":\"(?i)(?=([,;]|\\\\bis\\\\b))\",\"name\":\"meta.aspect.definition.ada\",\"patterns\":[{\"include\":\"#expression\"}]},\"aspect_mark\":{\"captures\":{\"1\":{\"name\":\"keyword.control.directive.ada\"},\"2\":{\"name\":\"punctuation.ada\"},\"3\":{\"name\":\"entity.other.attribute-name.ada\"}},\"match\":\"(?i)\\\\b([\\\\w\\\\d._]+)(?:(')(class))?\\\\b\",\"name\":\"meta.aspect.mark.ada\"},\"aspect_specification\":{\"begin\":\"(?i)\\\\bwith\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=(;|\\\\bis\\\\b))\",\"name\":\"meta.aspect.specification.ada\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ada\"},\"2\":{\"name\":\"storage.modifier.ada\"}},\"match\":\"(?i)\\\\b(null)\\\\s+(record)\\\\b\"},{\"begin\":\"(?i)\\\\brecord\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(record)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"storage.modifier.ada\"}},\"patterns\":[{\"include\":\"#component_item\"}]},{\"captures\":{\"0\":{\"name\":\"storage.visibility.ada\"}},\"match\":\"(?i)\\\\bprivate\\\\b\"},{\"include\":\"#aspect_definition\"},{\"include\":\"#aspect_mark\"},{\"include\":\"#comment\"}]},\"assignment_statement\":{\"begin\":\"\\\\b([\\\\w\\\\d._()\\\"'\\\\s]+)\\\\s*(:=)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\"([\\\\w\\\\d._]+)\",\"name\":\"variable.name.ada\"},{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#expression\"}]}]},\"2\":{\"name\":\"keyword.operator.new.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.assignment.ada\",\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#comment\"}]},\"attribute\":{\"captures\":{\"1\":{\"name\":\"punctuation.ada\"},\"2\":{\"name\":\"entity.other.attribute-name.ada\"}},\"match\":\"(')([\\\\w\\\\d_]+)\\\\b\",\"name\":\"meta.attribute.ada\"},\"based_literal\":{\"captures\":{\"1\":{\"name\":\"constant.numeric.base.ada\"},\"2\":{\"name\":\"punctuation.ada\"},\"3\":{\"name\":\"punctuation.ada\"},\"4\":{\"name\":\"punctuation.radix-point.ada\"},\"5\":{\"name\":\"punctuation.ada\"},\"6\":{\"name\":\"constant.numeric.base.ada\"},\"7\":{\"patterns\":[{\"include\":\"#exponent_part\"}]}},\"match\":\"(?i)(\\\\d(?:(_)?\\\\d)*#)[0-9a-f](?:(_)?[0-9a-f])*(?:(\\\\.)[0-9a-f](?:(_)?[0-9a-f])*)?(#)([eE][+-]?\\\\d(?:_?\\\\d)*)?\",\"name\":\"constant.numeric.ada\"},\"basic_declaration\":{\"patterns\":[{\"include\":\"#type_declaration\"},{\"include\":\"#subtype_declaration\"},{\"include\":\"#exception_declaration\"},{\"include\":\"#object_declaration\"},{\"include\":\"#single_protected_declaration\"},{\"include\":\"#single_task_declaration\"},{\"include\":\"#subprogram_specification\"},{\"include\":\"#package_declaration\"},{\"include\":\"#pragma\"},{\"include\":\"#comment\"}]},\"basic_declarative_item\":{\"patterns\":[{\"include\":\"#basic_declaration\"},{\"include\":\"#aspect_clause\"},{\"include\":\"#use_clause\"},{\"include\":\"#keyword\"}]},\"block_statement\":{\"begin\":\"(?i)\\\\bdeclare\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(end)(\\\\s+[\\\\w\\\\d_]+)?\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.label.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.block.ada\",\"patterns\":[{\"begin\":\"(?i)(?<=declare)\",\"end\":\"(?i)\\\\bbegin\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"patterns\":[{\"include\":\"#body\"},{\"include\":\"#basic_declarative_item\"}]},{\"begin\":\"(?i)(?<=begin)\",\"end\":\"(?i)(?=end)\",\"patterns\":[{\"include\":\"#statement\"}]}]},\"body\":{\"patterns\":[{\"include\":\"#subprogram_body\"},{\"include\":\"#package_body\"},{\"include\":\"#task_body\"},{\"include\":\"#protected_body\"}]},\"case_statement\":{\"begin\":\"(?i)\\\\bcase\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(case)\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"keyword.control.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.case.ada\",\"patterns\":[{\"begin\":\"(?i)(?<=case)\\\\b\",\"end\":\"(?i)\\\\bis\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\"(?i)\\\\bwhen\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"=>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.case.alternative.ada\",\"patterns\":[{\"match\":\"(?i)\\\\bothers\\\\b\",\"name\":\"keyword.modifier.unknown.ada\"},{\"match\":\"\\\\|\",\"name\":\"punctuation.ada\"},{\"include\":\"#expression\"}]},{\"include\":\"#statement\"}]},\"character_literal\":{\"captures\":{\"0\":{\"patterns\":[{\"match\":\"'\",\"name\":\"punctuation.definition.string.ada\"}]}},\"match\":\"'.'\",\"name\":\"string.quoted.single.ada\"},\"comment\":{\"patterns\":[{\"include\":\"#preprocessor\"},{\"include\":\"#comment-section\"},{\"include\":\"#comment-doc\"},{\"include\":\"#comment-line\"}]},\"comment-doc\":{\"captures\":{\"1\":{\"name\":\"comment.line.double-dash.ada\"},\"2\":{\"name\":\"punctuation.definition.tag.ada\"},\"3\":{\"name\":\"entity.name.tag.ada\"},\"4\":{\"name\":\"comment.line.double-dash.ada\"}},\"match\":\"(--)\\\\s*(@)(\\\\w+)\\\\s+(.*)$\",\"name\":\"comment.block.documentation.ada\"},\"comment-line\":{\"match\":\"--.*$\",\"name\":\"comment.line.double-dash.ada\"},\"comment-section\":{\"captures\":{\"1\":{\"name\":\"entity.name.section.ada\"}},\"match\":\"--\\\\s*([^-].*?[^-])\\\\s*--\\\\s*$\",\"name\":\"comment.line.double-dash.ada\"},\"component_clause\":{\"begin\":\"(?i)\\\\b([\\\\w\\\\d_]+)\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.name.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.aspect.clause.record.representation.component.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bat\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?i)\\\\b(?=range)\\\\b\",\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#range_constraint\"}]},\"component_declaration\":{\"begin\":\"(?i)\\\\b([\\\\w\\\\d_]+(?:\\\\s*,\\\\s*[\\\\w\\\\d_]+)?)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"\\\\b([\\\\w\\\\d_])+\\\\b\",\"name\":\"variable.name.ada\"}]},\"2\":{\"name\":\"punctuation.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.type.definition.record.component.ada\",\"patterns\":[{\"patterns\":[{\"match\":\":=\",\"name\":\"keyword.operator.new.ada\"},{\"include\":\"#expression\"}]},{\"include\":\"#component_definition\"}]},\"component_definition\":{\"patterns\":[{\"match\":\"(?i)\\\\baliased\\\\b\",\"name\":\"storage.visibility.ada\"},{\"match\":\"(?i)\\\\brange\\\\b\",\"name\":\"storage.modifier.ada\"},{\"match\":\"\\\\.\\\\.\",\"name\":\"keyword.ada\"},{\"include\":\"#access_definition\"},{\"include\":\"#subtype_mark\"}]},\"component_item\":{\"patterns\":[{\"include\":\"#component_declaration\"},{\"include\":\"#variant_part\"},{\"include\":\"#comment\"},{\"include\":\"#aspect_clause\"},{\"captures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"punctuation.ada\"}},\"match\":\"(?i)\\\\b(null)\\\\s*(;)\"}]},\"composite_constraint\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"\\\\)\",\"name\":\"meta.declaration.constraint.composite.ada\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"\\\\.\\\\.\",\"name\":\"keyword.ada\"},{\"captures\":{\"1\":{\"name\":\"variable.name.ada\"},\"2\":{\"name\":\"keyword.other.ada\"},\"3\":{\"patterns\":[{\"include\":\"#expression\"}]}},\"match\":\"(?i)\\\\b([\\\\w\\\\d_]+)\\\\s*(=>)\\\\s*([^,)])+\\\\b\"},{\"include\":\"#expression\"}]},\"decimal_literal\":{\"captures\":{\"1\":{\"name\":\"punctuation.ada\"},\"2\":{\"name\":\"punctuation.radix-point.ada\"},\"3\":{\"name\":\"punctuation.ada\"},\"4\":{\"patterns\":[{\"include\":\"#exponent_part\"}]}},\"match\":\"\\\\d(?:(_)?\\\\d)*(?:(\\\\.)\\\\d(?:(_)?\\\\d)*)?([eE][+-]?\\\\d(?:_?\\\\d)*)?\",\"name\":\"constant.numeric.ada\"},\"declarative_item\":{\"patterns\":[{\"include\":\"#body\"},{\"include\":\"#basic_declarative_item\"}]},\"delay_relative_statement\":{\"begin\":\"(?i)\\\\b(delay)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"delay_statement\":{\"patterns\":[{\"include\":\"#delay_until_statement\"},{\"include\":\"#delay_relative_statement\"}]},\"delay_until_statement\":{\"begin\":\"(?i)\\\\b(delay)\\\\s+(until)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"keyword.control.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.delay.until.ada\",\"patterns\":[{\"include\":\"#expression\"}]},\"derived_type_definition\":{\"name\":\"meta.declaration.type.definition.derived.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bnew\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?i)(?=(\\\\bwith\\\\b|;))\",\"patterns\":[{\"match\":\"(?i)\\\\band\\\\b\",\"name\":\"storage.modifier.ada\"},{\"include\":\"#subtype_mark\"}]},{\"match\":\"(?i)\\\\b(abstract|and|limited|tagged)\\\\b\",\"name\":\"storage.modifier.ada\"},{\"match\":\"(?i)\\\\bprivate\\\\b\",\"name\":\"storage.visibility.ada\"},{\"include\":\"#subtype_mark\"}]},\"discriminant_specification\":{\"begin\":\"(?i)\\\\b([\\\\w\\\\d_]+(?:\\\\s*,\\\\s*[\\\\w\\\\d_]+)?)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"\\\\b([\\\\w\\\\d_])+\\\\b\",\"name\":\"variable.name.ada\"}]},\"2\":{\"name\":\"punctuation.ada\"}},\"end\":\"(?=([;)]))\",\"patterns\":[{\"begin\":\":=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.new.ada\"}},\"end\":\"(?=([;)]))\",\"patterns\":[{\"include\":\"#expression\"}]},{\"captures\":{\"1\":{\"name\":\"storage.visibility.ada\"},\"2\":{\"patterns\":[{\"include\":\"#subtype_mark\"}]}},\"match\":\"(?i)(not\\\\s+null\\\\s+)?([\\\\w\\\\d._]+)\\\\b\"},{\"include\":\"#access_definition\"}]},\"entry_body\":{\"begin\":\"(?i)\\\\b(entry)\\\\s+([\\\\w\\\\d_]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.entry.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s*(\\\\s\\\\2)\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.entry.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"patterns\":[{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(?=begin)\\\\b\",\"patterns\":[{\"include\":\"#declarative_item\"}]},{\"begin\":\"(?i)\\\\bbegin\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(?=end)\\\\b\",\"patterns\":[{\"include\":\"#statement\"}]},{\"begin\":\"(?i)\\\\bwhen\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(?=is)\\\\b\",\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#parameter_profile\"}]},\"entry_declaration\":{\"begin\":\"(?i)\\\\b(?:(not)?\\\\s+(overriding)\\\\s+)?(entry)\\\\s+([\\\\w\\\\d_]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ada\"},\"2\":{\"name\":\"storage.modifier.ada\"},\"3\":{\"name\":\"keyword.ada\"},\"4\":{\"name\":\"entity.name.entry.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"patterns\":[{\"include\":\"#parameter_profile\"}]},\"enumeration_type_definition\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.type.definition.enumeration.ada\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"\\\\b([\\\\w\\\\d_])+\\\\b\",\"name\":\"variable.name.ada\"},{\"include\":\"#comment\"}]},\"exception_declaration\":{\"begin\":\"(?i)\\\\b([\\\\w\\\\d_]+(?:\\\\s*,\\\\s*[\\\\w\\\\d_]+)?)\\\\s*(:)\\\\s*(exception)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"\\\\b([\\\\w\\\\d_])+\\\\b\",\"name\":\"entity.name.exception.ada\"}]},\"2\":{\"name\":\"punctuation.ada\"},\"3\":{\"name\":\"storage.type.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.exception.ada\",\"patterns\":[{\"match\":\"(?i)\\\\b(renames)\\\\s+(([\\\\w\\\\d_.])+)\",\"name\":\"entity.name.exception.ada\"}]},\"exit_statement\":{\"begin\":\"(?i)\\\\bexit\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.exit.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bwhen\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"match\":\"[\\\\w\\\\d_]+\",\"name\":\"entity.name.label.ada\"}]},\"exponent_part\":{\"captures\":{\"1\":{\"name\":\"punctuation.exponent-mark.ada\"},\"2\":{\"name\":\"keyword.operator.unary.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"match\":\"([eE])([+-])?\\\\d(?:(_)?\\\\d)*\"},\"expression\":{\"name\":\"meta.expression.ada\",\"patterns\":[{\"match\":\"(?i)\\\\bnull\\\\b\",\"name\":\"constant.language.ada\"},{\"match\":\"=>(\\\\+)?\",\"name\":\"keyword.other.ada\"},{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"\\\\.\\\\.\",\"name\":\"keyword.ada\"},{\"include\":\"#value\"},{\"include\":\"#attribute\"},{\"include\":\"#comment\"},{\"include\":\"#operator\"},{\"match\":\"(?i)\\\\b(and|or|xor)\\\\b\",\"name\":\"keyword.ada\"},{\"match\":\"(?i)\\\\b(if|then|else|elsif|in|for|(?<!\\\\.)all|some|\\\\.\\\\.|delta|with)\\\\b\",\"name\":\"keyword.ada\"}]},\"for_loop_statement\":{\"begin\":\"(?i)\\\\bfor\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(loop)(\\\\s+[\\\\w\\\\d_]+)?\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"keyword.control.ada\"},\"3\":{\"name\":\"entity.name.label.ada\"},\"4\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.loop.for.ada\",\"patterns\":[{\"begin\":\"(?i)(?<=for)\",\"end\":\"(?i)\\\\bloop\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.name.ada\"},\"2\":{\"name\":\"keyword.control.ada\"},\"3\":{\"name\":\"keyword.control.ada\"}},\"match\":\"(?i)\\\\b([\\\\w\\\\d_]+)\\\\s+(in)(\\\\s+reverse)?\\\\b\"},{\"captures\":{\"1\":{\"name\":\"variable.name.ada\"},\"2\":{\"name\":\"punctuation.ada\"},\"3\":{\"patterns\":[{\"include\":\"#subtype_mark\"}]},\"4\":{\"name\":\"keyword.control.ada\"},\"5\":{\"name\":\"keyword.control.ada\"}},\"match\":\"(?i)\\\\b([\\\\w\\\\d_]+)(?:\\\\s*(:)\\\\s*([\\\\w\\\\d._]+))?\\\\s+(of)(\\\\s+reverse)?\\\\b\"},{\"include\":\"#expression\"}]},{\"include\":\"#statement\"}]},\"full_type_declaration\":{\"patterns\":[{\"include\":\"#task_type_declaration\"},{\"include\":\"#regular_type_declaration\"}]},\"function_body\":{\"begin\":\"(?i)\\\\b(overriding\\\\s+)?(function)\\\\s+(?:([\\\\w\\\\d._]+\\\\b)|(\\\".+\\\"))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.visibility.ada\"},\"2\":{\"name\":\"keyword.ada\"},\"3\":{\"name\":\"entity.name.function.ada\"},\"4\":{\"patterns\":[{\"include\":\"#string_literal\"}]}},\"end\":\"(?i)(?:\\\\b(end)\\\\s+(\\\\3|\\\\4)\\\\s*)?(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.function.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.function.body.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bbegin\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=end)\",\"patterns\":[{\"include\":\"#handled_sequence_of_statements\"}]},{\"include\":\"#aspect_specification\"},{\"include\":\"#result_profile\"},{\"include\":\"#subprogram_renaming_declaration\"},{\"include\":\"#parameter_profile\"},{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=(with|begin|;))\",\"name\":\"meta.function.body.spec_part.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bnew\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.new.ada\"}},\"end\":\"(?=;)\",\"name\":\"meta.declaration.package.generic.ada\",\"patterns\":[{\"match\":\"([\\\\w\\\\d._]+)\",\"name\":\"entity.name.function.ada\"},{\"include\":\"#actual_parameter_part\"}]},{\"captures\":{\"0\":{\"name\":\"storage.modifier.ada\"}},\"match\":\"(?i)\\\\babstract\\\\b\",\"name\":\"meta.declaration.function.abstract.ada\"},{\"include\":\"#declarative_item\"},{\"include\":\"#subprogram_renaming_declaration\"},{\"include\":\"#expression\"}]}]},\"function_specification\":{\"patterns\":[{\"include\":\"#function_body\"}]},\"goto_statement\":{\"begin\":\"(?i)\\\\bgoto\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.goto.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.goto.ada\",\"patterns\":[{}]},\"guard\":{\"begin\":\"(?i)\\\\bwhen\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"=>\",\"endCaptures\":{\"0\":{\"name\":\"keyword.other.ada\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"handled_sequence_of_statements\":{\"patterns\":[{\"begin\":\"(?i)\\\\bexception\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(?=end)\\\\b\",\"name\":\"meta.handler.exception.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bwhen\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"=>\",\"endCaptures\":{\"0\":{\"name\":\"keyword.other.ada\"}},\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.name.ada\"},\"2\":{\"name\":\"punctuation.ada\"}},\"match\":\"\\\\b([\\\\w\\\\d._]+)\\\\s*(:)\"},{\"match\":\"\\\\|\",\"name\":\"punctuation.ada\"},{\"match\":\"(?i)\\\\bothers\\\\b\",\"name\":\"keyword.ada\"},{\"match\":\"[\\\\w\\\\d._]+\",\"name\":\"entity.name.exception.ada\"}]},{\"include\":\"#statement\"}]},{\"include\":\"#statement\"}]},\"highest_precedence_operator\":{\"match\":\"(?i)(\\\\*\\\\*|\\\\babs\\\\b|\\\\bnot\\\\b)\",\"name\":\"keyword.operator.highest-precedence.ada\"},\"if_statement\":{\"begin\":\"(?i)\\\\bif\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(if)\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"keyword.control.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.if.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\belsif\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)(?<!\\\\sand)\\\\s+(?=then)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\"(?i)\\\\belse\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)(?=end)\",\"patterns\":[{\"include\":\"#statement\"}]},{\"begin\":\"(?i)(?<=if)\\\\b\",\"end\":\"(?i)(?<!\\\\sand)\\\\s+(?=then)\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\"(?i)\\\\bthen\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)(?=(e(?:lsif|lse|nd)))\",\"patterns\":[{\"include\":\"#statement\"}]}]},\"integer_type_definition\":{\"name\":\"meta.declaration.type.definition.integer.ada\",\"patterns\":[{\"include\":\"#signed_integer_type_definition\"},{\"include\":\"#modular_type_definition\"}]},\"interface_type_definition\":{\"begin\":\"(?i)\\\\b(?:(limited|task|protected|synchronized)\\\\s+)?(interface)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ada\"},\"2\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?i)(?=(with|;))\",\"name\":\"meta.declaration.type.definition.interface.ada\",\"patterns\":[{\"match\":\"(?i)\\\\band\\\\b\",\"name\":\"storage.modifier.ada\"},{\"include\":\"#subtype_mark\"}]},\"keyword\":{\"patterns\":[{\"match\":\"(?i)\\\\b(abort|abs|accept|all|and|at|begin|body|declare|delay|end|entry|exception|function|generic|in|is|mod|new|not|null|of|or|others|out|package|pragma|procedure|range|record|rem|renames|requeue|reverse|select|separate|some|subtype|then|type|use|when|with|xor)\\\\b\",\"name\":\"keyword.ada\"},{\"match\":\"(?i)\\\\b(case|do|else|elsif|exit|for|goto|if|loop|raise|return|terminate|until|while)\\\\b\",\"name\":\"keyword.control.ada\"},{\"match\":\"(?i)\\\\b(abstract|access|aliased|array|constant|delta|digits|interface|limited|protected|synchronized|tagged|task)\\\\b\",\"name\":\"storage.modifier.ada\"},{\"match\":\"(?i)\\\\b(private|overriding)\\\\b\",\"name\":\"storage.visibility.ada\"},{\"match\":\"<>\",\"name\":\"keyword.modifier.unknown.ada\"},{\"match\":\"([+\\\\-*/])\",\"name\":\"keyword.operator.arithmetic.ada\"},{\"match\":\":=\",\"name\":\"keyword.operator.assignment.ada\"},{\"match\":\"(=|/=|[<>]|<=|>=)\",\"name\":\"keyword.operator.logic.ada\"},{\"match\":\"&\",\"name\":\"keyword.operator.concatenation.ada\"}]},\"known_discriminant_part\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"\\\\)\",\"name\":\"meta.declaration.type.discriminant.ada\",\"patterns\":[{\"match\":\";\",\"name\":\"punctuation.ada\"},{\"include\":\"#discriminant_specification\"}]},\"label\":{\"captures\":{\"1\":{\"name\":\"punctuation.label.ada\"},\"2\":{\"name\":\"entity.name.label.ada\"},\"3\":{\"name\":\"punctuation.label.ada\"}},\"match\":\"(<<)?([\\\\w\\\\d_]+)\\\\s*(:[^=]|>>)\",\"name\":\"meta.label.ada\"},\"library_unit\":{\"name\":\"meta.library.unit.ada\",\"patterns\":[{\"include\":\"#package_body\"},{\"include\":\"#package_specification\"},{\"include\":\"#subprogram_body\"}]},\"loop_statement\":{\"patterns\":[{\"include\":\"#simple_loop_statement\"},{\"include\":\"#while_loop_statement\"},{\"include\":\"#for_loop_statement\"}]},\"modular_type_definition\":{\"begin\":\"(?i)\\\\b(mod)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?i)(?=(with|;))\",\"patterns\":[{\"match\":\"<>\",\"name\":\"keyword.modifier.unknown.ada\"},{\"include\":\"#expression\"}]},\"multiplying_operator\":{\"match\":\"(?i)([*/]|\\\\bmod\\\\b|\\\\brem\\\\b)\",\"name\":\"keyword.operator.multiplying.ada\"},\"null_statement\":{\"captures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"punctuation.ada\"}},\"match\":\"(?i)\\\\b(null)\\\\s*(;)\",\"name\":\"meta.statement.null.ada\"},\"object_declaration\":{\"begin\":\"(?i)\\\\b([\\\\w\\\\d_]+(?:\\\\s*,\\\\s*[\\\\w\\\\d_]+)*)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"\\\\b([\\\\w\\\\d_])+\\\\b\",\"name\":\"variable.name.ada\"}]},\"2\":{\"name\":\"punctuation.ada\"}},\"end\":\"(;)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.object.ada\",\"patterns\":[{\"begin\":\"(?<=:)\",\"end\":\"(?:(?=;)|(:=)|(\\\\brenames\\\\b))\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.new.ada\"},\"2\":{\"name\":\"keyword.ada\"}},\"patterns\":[{\"match\":\"(?i)\\\\bconstant\\\\b\",\"name\":\"storage.modifier.ada\"},{\"match\":\"(?i)\\\\baliased\\\\b\",\"name\":\"storage.visibility.ada\"},{\"include\":\"#aspect_specification\"},{\"include\":\"#subtype_mark\"}]},{\"begin\":\"(?<=:=)\",\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#aspect_specification\"},{\"include\":\"#expression\"}]},{\"begin\":\"(?<=renames)\",\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#aspect_specification\"}]}]},\"operator\":{\"patterns\":[{\"include\":\"#highest_precedence_operator\"},{\"include\":\"#multiplying_operator\"},{\"include\":\"#adding_operator\"},{\"include\":\"#relational_operator\"},{\"include\":\"#logical_operator\"}]},\"package_body\":{\"begin\":\"(?i)\\\\b(package)\\\\s+(body)\\\\s+([\\\\w\\\\d._]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"keyword.ada\"},\"3\":{\"patterns\":[{\"include\":\"#package_mark\"}]}},\"end\":\"(?i)\\\\b(end)\\\\s+(\\\\3)\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"patterns\":[{\"include\":\"#package_mark\"}]},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.package.body.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bbegin\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(?=end)\\\\b\",\"patterns\":[{\"include\":\"#handled_sequence_of_statements\"}]},{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=(\\\\b(?:begin\\\\b|end\\\\b)))\",\"patterns\":[{\"match\":\"(?i)\\\\bprivate\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#declarative_item\"},{\"include\":\"#comment\"}]},{\"include\":\"#aspect_specification\"}]},\"package_declaration\":{\"patterns\":[{\"include\":\"#package_specification\"}]},\"package_mark\":{\"match\":\"\\\\b([\\\\w\\\\d._])+\\\\b\",\"name\":\"entity.name.package.ada\"},\"package_specification\":{\"begin\":\"(?i)\\\\b(package)\\\\s+([\\\\w\\\\d._]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"patterns\":[{\"include\":\"#package_mark\"}]}},\"end\":\"(?i)(?:\\\\b(end)\\\\s+(\\\\2)\\\\s*)?(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"patterns\":[{\"include\":\"#package_mark\"}]},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.package.specification.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?=(end|;))\",\"patterns\":[{\"begin\":\"(?i)\\\\bnew\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.new.ada\"}},\"end\":\"(?=;)\",\"name\":\"meta.declaration.package.generic.ada\",\"patterns\":[{\"include\":\"#package_mark\"},{\"include\":\"#actual_parameter_part\"}]},{\"match\":\"(?i)\\\\bprivate\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#basic_declarative_item\"},{\"include\":\"#comment\"}]},{\"include\":\"#aspect_specification\"}]},\"parameter_association\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.parameter.ada\"},\"2\":{\"name\":\"keyword.other.ada\"}},\"match\":\"([\\\\w\\\\d_]+)\\\\s*(=>)\"},{\"include\":\"#expression\"}]},\"parameter_profile\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"\\\\)\",\"patterns\":[{\"match\":\";\",\"name\":\"punctuation.ada\"},{\"include\":\"#parameter_specification\"}]},\"parameter_specification\":{\"patterns\":[{\"begin\":\":(?!=)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"(?=[:;)])\",\"name\":\"meta.type.annotation.ada\",\"patterns\":[{\"match\":\"(?i)\\\\b(in|out)\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#subtype_mark\"}]},{\"begin\":\":=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.new.ada\"}},\"end\":\"(?=[:;)])\",\"patterns\":[{\"include\":\"#expression\"}]},{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"\\\\b[\\\\w\\\\d._]+\\\\b\",\"name\":\"variable.parameter.ada\"},{\"include\":\"#comment\"}]},\"positional_array_aggregate\":{\"name\":\"meta.definition.array.aggregate.positional.ada\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"keyword.other.ada\"},\"3\":{\"patterns\":[{\"match\":\"<>\",\"name\":\"keyword.modifier.unknown.ada\"},{\"include\":\"#expression\"}]}},\"match\":\"(?i)\\\\b(others)\\\\s*(=>)\\\\s*([^,)]+)\"},{\"include\":\"#expression\"}]},\"pragma\":{\"begin\":\"(?i)\\\\b(pragma)\\\\s+([\\\\w\\\\d_]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"keyword.control.directive.ada\"}},\"end\":\"(;)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.pragma.ada\",\"patterns\":[{\"include\":\"#expression\"}]},\"preprocessor\":{\"name\":\"meta.preprocessor.ada\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.directive.ada\"},\"2\":{\"name\":\"keyword.control.directive.conditional.ada\"},\"3\":{\"patterns\":[{\"include\":\"#expression\"}]}},\"match\":\"^\\\\s*(#)(if|elsif)\\\\s+(.*)$\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.directive.ada\"},\"2\":{\"name\":\"keyword.control.directive.conditional\"},\"3\":{\"name\":\"punctuation.ada\"}},\"match\":\"^\\\\s*(#)(end if)(;)\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.directive.ada\"},\"2\":{\"name\":\"keyword.control.directive.conditional\"}},\"match\":\"^\\\\s*(#)(else)\"}]},\"procedure_body\":{\"begin\":\"(?i)\\\\b(overriding\\\\s+)?(procedure)\\\\s+([\\\\w\\\\d._]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.visibility.ada\"},\"2\":{\"name\":\"keyword.ada\"},\"3\":{\"name\":\"entity.name.function.ada\"}},\"end\":\"(?i)(?:\\\\b(end)\\\\s+(\\\\3)\\\\s*)?(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.function.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.procedure.body.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=(with|begin|;))\",\"patterns\":[{\"begin\":\"(?i)\\\\bnew\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.new.ada\"}},\"end\":\"(?=;)\",\"name\":\"meta.declaration.package.generic.ada\",\"patterns\":[{\"match\":\"([\\\\w\\\\d._]+)\",\"name\":\"entity.name.function.ada\"},{\"include\":\"#actual_parameter_part\"}]},{\"match\":\"(?i)\\\\b(null|abstract)\\\\b\",\"name\":\"storage.modifier.ada\"},{\"include\":\"#declarative_item\"}]},{\"begin\":\"(?i)\\\\bbegin\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=\\\\bend\\\\b)\",\"patterns\":[{\"include\":\"#handled_sequence_of_statements\"}]},{\"include\":\"#subprogram_renaming_declaration\"},{\"include\":\"#aspect_specification\"},{\"include\":\"#parameter_profile\"},{\"include\":\"#comment\"}]},\"procedure_call_statement\":{\"begin\":\"(?i)\\\\b([\\\\w\\\\d_.]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.call.ada\",\"patterns\":[{\"include\":\"#attribute\"},{\"include\":\"#actual_parameter_part\"},{\"include\":\"#comment\"}]},\"procedure_specification\":{\"patterns\":[{\"include\":\"#procedure_body\"}]},\"protected_body\":{\"begin\":\"(?i)\\\\b(protected)\\\\s+(body)\\\\s+([\\\\w\\\\d._]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ada\"},\"2\":{\"name\":\"keyword.ada\"},\"3\":{\"name\":\"entity.name.body.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s*(\\\\s\\\\3)\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.body.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.procedure.body.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(?=end)\\\\b\",\"patterns\":[{\"include\":\"#protected_operation_item\"}]}]},\"protected_element_declaration\":{\"patterns\":[{\"include\":\"#subprogram_specification\"},{\"include\":\"#aspect_clause\"},{\"include\":\"#entry_declaration\"},{\"include\":\"#component_declaration\"},{\"include\":\"#pragma\"}]},\"protected_operation_item\":{\"patterns\":[{\"include\":\"#subprogram_specification\"},{\"include\":\"#subprogram_body\"},{\"include\":\"#aspect_clause\"},{\"include\":\"#entry_body\"}]},\"raise_expression\":{\"begin\":\"(?i)\\\\braise\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?=;)\",\"name\":\"meta.expression.raise.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bwith\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?=([;)]))\",\"patterns\":[{\"include\":\"#expression\"}]},{\"match\":\"\\\\b([\\\\w\\\\d_])+\\\\b\",\"name\":\"entity.name.exception.ada\"}]},\"raise_statement\":{\"begin\":\"(?i)\\\\braise\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.raise.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bwith\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"match\":\"\\\\b([\\\\w\\\\d._])+\\\\b\",\"name\":\"entity.name.exception.ada\"}]},\"range_constraint\":{\"begin\":\"(?i)\\\\brange\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?=(\\\\bwith\\\\b|;))\",\"patterns\":[{\"match\":\"\\\\.\\\\.\",\"name\":\"keyword.ada\"},{\"match\":\"<>\",\"name\":\"keyword.modifier.unknown.ada\"},{\"include\":\"#expression\"}]},\"real_type_definition\":{\"name\":\"meta.declaration.type.definition.real-type.ada\",\"patterns\":[{\"include\":\"#scalar_constraint\"}]},\"record_representation_clause\":{\"begin\":\"(?i)\\\\b(record)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(record)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"storage.modifier.ada\"}},\"name\":\"meta.aspect.clause.record.representation.ada\",\"patterns\":[{\"include\":\"#component_clause\"},{\"include\":\"#comment\"}]},\"record_type_definition\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.modifier.ada\"},\"2\":{\"name\":\"storage.modifier.ada\"},\"3\":{\"name\":\"storage.modifier.ada\"},\"4\":{\"name\":\"storage.modifier.ada\"},\"5\":{\"name\":\"storage.modifier.ada\"}},\"match\":\"(?i)\\\\b(?:(abstract)\\\\s+)?(?:(tagged)\\\\s+)?(?:(limited)\\\\s+)?(null)\\\\s+(record)\\\\b\",\"name\":\"meta.declaration.type.definition.record.null.ada\",\"patterns\":[{\"include\":\"#component_item\"}]},{\"begin\":\"(?i)\\\\b(?:(abstract)\\\\s+)?(?:(tagged)\\\\s+)?(?:(limited)\\\\s+)?(record)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ada\"},\"2\":{\"name\":\"storage.modifier.ada\"},\"3\":{\"name\":\"storage.modifier.ada\"},\"4\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(record)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"storage.modifier.ada\"}},\"name\":\"meta.declaration.type.definition.record.ada\",\"patterns\":[{\"include\":\"#component_item\"}]}]},\"regular_type_declaration\":{\"begin\":\"(?i)\\\\b(type)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.type.definition.regular.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=(with(?!\\\\s+(private))|;))\",\"patterns\":[{\"include\":\"#type_definition\"}]},{\"begin\":\"(?i)\\\\b(?<=type)\\\\b\",\"end\":\"(?i)(?=(is|;))\",\"patterns\":[{\"include\":\"#known_discriminant_part\"},{\"include\":\"#subtype_mark\"}]},{\"include\":\"#aspect_specification\"}]},\"relational_operator\":{\"match\":\"(=|/=|<|<=|>|>=)\",\"name\":\"keyword.operator.relational.ada\"},\"requeue_statement\":{\"begin\":\"(?i)\\\\brequeue\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.requeue.ada\",\"patterns\":[{\"match\":\"(?i)\\\\b(with|abort)\\\\b\",\"name\":\"keyword.control.ada\"},{\"match\":\"\\\\b([\\\\w\\\\d._])+\\\\b\",\"name\":\"entity.name.function.ada\"}]},\"result_profile\":{\"begin\":\"(?i)\\\\breturn\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?=(is|with|renames|;))\",\"patterns\":[{\"include\":\"#subtype_mark\"}]},\"return_statement\":{\"begin\":\"(?i)\\\\breturn\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.return.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bdo\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(return)\\\\s*(?=;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"keyword.control.ada\"}},\"patterns\":[{\"include\":\"#label\"},{\"include\":\"#statement\"}]},{\"captures\":{\"1\":{\"name\":\"variable.name.ada\"},\"2\":{\"name\":\"punctuation.ada\"},\"3\":{\"name\":\"entity.name.type.ada\"}},\"match\":\"\\\\b([\\\\w\\\\d_]+)\\\\s*(:)\\\\s*([\\\\w\\\\d._]+)\\\\b\"},{\"match\":\":=\",\"name\":\"keyword.operator.new.ada\"},{\"include\":\"#expression\"}]},\"scalar_constraint\":{\"name\":\"meta.declaration.constraint.scalar.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\b(d(?:igits|elta))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?i)(?=\\\\brange\\\\b|\\\\bdigits\\\\b|\\\\bwith\\\\b|;)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#range_constraint\"},{\"include\":\"#expression\"}]},\"select_alternative\":{\"patterns\":[{\"begin\":\"(?i)\\\\bterminate\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}}},{\"include\":\"#statement\"}]},\"select_statement\":{\"begin\":\"(?i)\\\\bselect\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(select)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"keyword.control.ada\"}},\"name\":\"meta.statement.select.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\b(?:(or)|(?<=select))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(?=(or|else|end))\\\\b\",\"patterns\":[{\"include\":\"#guard\"},{\"include\":\"#select_alternative\"}]},{\"begin\":\"(?i)\\\\belse\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(?=end)\\\\b\",\"patterns\":[{\"include\":\"#statement\"}]}]},\"signed_integer_type_definition\":{\"patterns\":[{\"include\":\"#range_constraint\"}]},\"simple_loop_statement\":{\"begin\":\"(?i)\\\\bloop\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(loop)(\\\\s+[\\\\w\\\\d_]+)?\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"keyword.control.ada\"},\"3\":{\"name\":\"entity.name.label.ada\"},\"4\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.loop.ada\",\"patterns\":[{\"include\":\"#statement\"}]},\"single_protected_declaration\":{\"begin\":\"(?i)\\\\b(protected)\\\\s+([\\\\w\\\\d_]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.protected.ada\"}},\"end\":\"(?i)(?:\\\\b(end)\\\\s*(\\\\s\\\\2)?\\\\s*)?(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.protected.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.protected.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=(\\\\bend\\\\b|;))\",\"patterns\":[{\"begin\":\"(?i)\\\\bnew\\\\b\",\"captures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\bwith\\\\b\",\"patterns\":[{\"match\":\"(?i)\\\\band\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#subtype_mark\"},{\"include\":\"#comment\"}]},{\"match\":\"(?i)\\\\bprivate\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#protected_element_declaration\"},{\"include\":\"#comment\"}]},{\"include\":\"#comment\"}]},\"single_task_declaration\":{\"begin\":\"(?i)\\\\b(task)\\\\s+([\\\\w\\\\d_]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.task.ada\"}},\"end\":\"(?i)(?:\\\\b(end)\\\\s*(\\\\s\\\\2)?\\\\s*)?(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.task.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"patterns\":[{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(?=end)\\\\b\",\"patterns\":[{\"begin\":\"(?i)\\\\bnew\\\\b\",\"captures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\bwith\\\\b\",\"patterns\":[{\"match\":\"(?i)\\\\band\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#subtype_mark\"},{\"include\":\"#comment\"}]},{\"match\":\"(?i)\\\\bprivate\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#task_item\"},{\"include\":\"#comment\"}]},{\"include\":\"#comment\"}]},\"statement\":{\"patterns\":[{\"begin\":\"(?i)\\\\bbegin\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"punctuation.ada\"}},\"patterns\":[{\"include\":\"#handled_sequence_of_statements\"}]},{\"include\":\"#label\"},{\"include\":\"#null_statement\"},{\"include\":\"#return_statement\"},{\"include\":\"#assignment_statement\"},{\"include\":\"#exit_statement\"},{\"include\":\"#goto_statement\"},{\"include\":\"#requeue_statement\"},{\"include\":\"#delay_statement\"},{\"include\":\"#abort_statement\"},{\"include\":\"#raise_statement\"},{\"include\":\"#if_statement\"},{\"include\":\"#case_statement\"},{\"include\":\"#loop_statement\"},{\"include\":\"#block_statement\"},{\"include\":\"#select_statement\"},{\"include\":\"#accept_statement\"},{\"include\":\"#pragma\"},{\"include\":\"#procedure_call_statement\"},{\"include\":\"#comment\"}]},\"string_literal\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.string.ada\"},\"2\":{\"name\":\"punctuation.definition.string.ada\"}},\"match\":\"(\\\").*?(\\\")\",\"name\":\"string.quoted.double.ada\"},\"subprogram_body\":{\"name\":\"meta.declaration.subprogram.body.ada\",\"patterns\":[{\"include\":\"#procedure_body\"},{\"include\":\"#function_body\"}]},\"subprogram_renaming_declaration\":{\"begin\":\"(?i)\\\\brenames\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?=(with|;))\",\"patterns\":[{\"match\":\"[\\\\w\\\\d_.]+\",\"name\":\"entity.name.function.ada\"}]},\"subprogram_specification\":{\"name\":\"meta.declaration.subprogram.specification.ada\",\"patterns\":[{\"include\":\"#procedure_specification\"},{\"include\":\"#function_specification\"}]},\"subtype_declaration\":{\"begin\":\"(?i)\\\\bsubtype\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.subtype.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?=;)\",\"patterns\":[{\"match\":\"(?i)\\\\b(not\\\\s+null)\\\\b\",\"name\":\"storage.modifier.ada\"},{\"include\":\"#composite_constraint\"},{\"include\":\"#aspect_specification\"},{\"include\":\"#subtype_indication\"}]},{\"begin\":\"(?i)(?<=subtype)\",\"end\":\"(?i)\\\\b(?=is)\\\\b\",\"patterns\":[{\"include\":\"#subtype_mark\"}]}]},\"subtype_indication\":{\"name\":\"meta.declaration.indication.subtype.ada\",\"patterns\":[{\"include\":\"#scalar_constraint\"},{\"include\":\"#subtype_mark\"}]},\"subtype_mark\":{\"patterns\":[{\"match\":\"(?i)\\\\b(access|aliased|not\\\\s+null|constant)\\\\b\",\"name\":\"storage.visibility.ada\"},{\"include\":\"#attribute\"},{\"include\":\"#actual_parameter_part\"},{\"begin\":\"(?i)\\\\b(procedure|function)\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?=([;)]))\",\"patterns\":[{\"include\":\"#parameter_profile\"},{\"begin\":\"(?i)\\\\breturn\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?=([;)]))\",\"patterns\":[{\"include\":\"#subtype_mark\"}]}]},{\"captures\":{\"0\":{\"patterns\":[{\"match\":\"[_.]\",\"name\":\"punctuation.ada\"}]}},\"match\":\"\\\\b[\\\\w\\\\d._]+\\\\b\",\"name\":\"entity.name.type.ada\"},{\"include\":\"#comment\"}]},\"task_body\":{\"begin\":\"(?i)\\\\b(task)\\\\s+(body)\\\\s+(([\\\\w\\\\d._])+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"keyword.ada\"},\"3\":{\"name\":\"entity.name.task.ada\"}},\"end\":\"(?i)(?:\\\\b(end)\\\\s*(?:\\\\s(\\\\3))?\\\\s*)?(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.task.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.task.body.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bbegin\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=end)\",\"patterns\":[{\"include\":\"#handled_sequence_of_statements\"}]},{\"include\":\"#aspect_specification\"},{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=(with|begin))\",\"patterns\":[{\"include\":\"#declarative_item\"}]}]},\"task_item\":{\"patterns\":[{\"include\":\"#aspect_clause\"},{\"include\":\"#entry_declaration\"}]},\"task_type_declaration\":{\"begin\":\"(?i)\\\\b(task)\\\\s+(type)\\\\s+(([\\\\w\\\\d._])+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ada\"},\"2\":{\"name\":\"keyword.ada\"},\"3\":{\"name\":\"entity.name.task.ada\"}},\"end\":\"(?i)(?:\\\\b(end)\\\\s*(?:\\\\s(\\\\3))?\\\\s*)?(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.task.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.type.task.ada\",\"patterns\":[{\"include\":\"#known_discriminant_part\"},{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(?=end)\\\\b\",\"patterns\":[{\"begin\":\"(?i)\\\\bnew\\\\b\",\"captures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\bwith\\\\b\",\"patterns\":[{\"match\":\"(?i)\\\\band\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#subtype_mark\"},{\"include\":\"#comment\"}]},{\"match\":\"(?i)\\\\bprivate\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#task_item\"},{\"include\":\"#comment\"}]},{\"include\":\"#comment\"}]},\"type_declaration\":{\"name\":\"meta.declaration.type.ada\",\"patterns\":[{\"include\":\"#full_type_declaration\"}]},\"type_definition\":{\"name\":\"meta.declaration.type.definition.ada\",\"patterns\":[{\"include\":\"#enumeration_type_definition\"},{\"include\":\"#integer_type_definition\"},{\"include\":\"#real_type_definition\"},{\"include\":\"#array_type_definition\"},{\"include\":\"#record_type_definition\"},{\"include\":\"#access_type_definition\"},{\"include\":\"#interface_type_definition\"},{\"include\":\"#derived_type_definition\"}]},\"use_clause\":{\"name\":\"meta.context.use.ada\",\"patterns\":[{\"include\":\"#use_type_clause\"},{\"include\":\"#use_package_clause\"}]},\"use_package_clause\":{\"begin\":\"(?i)\\\\buse\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.using.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.context.use.package.ada\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"include\":\"#package_mark\"}]},\"use_type_clause\":{\"begin\":\"(?i)\\\\b(use)\\\\s+(?:(all)\\\\s+)?(type)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.using.ada\"},\"2\":{\"name\":\"keyword.modifier.ada\"},\"3\":{\"name\":\"keyword.modifier.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.context.use.type.ada\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"include\":\"#subtype_mark\"}]},\"value\":{\"patterns\":[{\"include\":\"#based_literal\"},{\"include\":\"#decimal_literal\"},{\"include\":\"#character_literal\"},{\"include\":\"#string_literal\"}]},\"variant_part\":{\"begin\":\"(?i)\\\\bcase\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(case);\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"keyword.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.variant.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\b(?<=case)\\\\b\",\"end\":\"(?i)\\\\bis\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"patterns\":[{\"match\":\"[\\\\w\\\\d_]+\",\"name\":\"variable.name.ada\"},{\"include\":\"#comment\"}]},{\"begin\":\"(?i)\\\\b(?<=is)\\\\b\",\"end\":\"(?i)\\\\b(?=end)\\\\b\",\"patterns\":[{\"begin\":\"(?i)\\\\bwhen\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"=>\",\"endCaptures\":{\"0\":{\"name\":\"keyword.other.ada\"}},\"patterns\":[{\"match\":\"\\\\|\",\"name\":\"punctuation.ada\"},{\"match\":\"(?i)\\\\bothers\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#expression\"}]},{\"include\":\"#component_item\"}]}]},\"while_loop_statement\":{\"begin\":\"(?i)\\\\bwhile\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(loop)(\\\\s+[\\\\w\\\\d_]+)?\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"keyword.control.ada\"},\"3\":{\"name\":\"entity.name.label.ada\"},\"4\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.loop.while.ada\",\"patterns\":[{\"begin\":\"(?i)(?<=while)\\\\b\",\"end\":\"(?i)\\\\bloop\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#statement\"}]},\"with_clause\":{\"begin\":\"(?i)\\\\b(?:(limited)\\\\s+)?(?:(private)\\\\s+)?(with)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.modifier.ada\"},\"2\":{\"name\":\"storage.visibility.ada\"},\"3\":{\"name\":\"keyword.other.using.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.context.with.ada\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"include\":\"#package_mark\"}]}},\"scopeName\":\"source.ada\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Ada\",\"name\":\"ada\",\"patterns\":[{\"include\":\"#library_unit\"},{\"include\":\"#comment\"},{\"include\":\"#use_clause\"},{\"include\":\"#with_clause\"},{\"include\":\"#pragma\"},{\"include\":\"#keyword\"}],\"repository\":{\"abort_statement\":{\"begin\":\"(?i)\\\\babort\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.abort.ada\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"\\\\b([._\\\\w\\\\d])+\\\\b\",\"name\":\"entity.name.task.ada\"}]},\"accept_statement\":{\"begin\":\"(?i)\\\\b(accept)\\\\s+([._\\\\w\\\\d]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"entity.name.accept.ada\"}},\"end\":\"(?i)(?:\\\\b(end)\\\\s*(\\\\s\\\\2)?\\\\s*)?(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"entity.name.accept.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.accept.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bdo\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(?=end)\\\\b\",\"patterns\":[{\"include\":\"#statement\"}]},{\"include\":\"#parameter_profile\"}]},\"access_definition\":{\"captures\":{\"1\":{\"name\":\"storage.visibility.ada\"},\"2\":{\"name\":\"storage.visibility.ada\"},\"3\":{\"name\":\"storage.modifier.ada\"},\"4\":{\"name\":\"entity.name.type.ada\"}},\"match\":\"(?i)(not\\\\s+null\\\\s+)?(access)\\\\s+(constant\\\\s+)?([._\\\\w\\\\d]+)\\\\b\",\"name\":\"meta.declaration.access.definition.ada\"},\"access_type_definition\":{\"begin\":\"(?i)\\\\b(not\\\\s+null\\\\s+)?(access)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.visibility.ada\"},\"2\":{\"name\":\"storage.visibility.ada\"}},\"end\":\"(?i)(?=(with|;))\",\"name\":\"meta.declaration.type.definition.access.ada\",\"patterns\":[{\"match\":\"(?i)\\\\ball\\\\b\",\"name\":\"storage.visibility.ada\"},{\"match\":\"(?i)\\\\bconstant\\\\b\",\"name\":\"storage.modifier.ada\"},{\"include\":\"#subtype_mark\"}]},\"actual_parameter_part\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"\\\\)\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"include\":\"#parameter_association\"}]},\"adding_operator\":{\"match\":\"([-\\\\&+])\",\"name\":\"keyword.operator.adding.ada\"},\"array_aggregate\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"\\\\)\",\"name\":\"meta.definition.array.aggregate.ada\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"include\":\"#positional_array_aggregate\"},{\"include\":\"#array_component_association\"}]},\"array_component_association\":{\"captures\":{\"1\":{\"name\":\"variable.name.ada\"},\"2\":{\"name\":\"keyword.other.ada\"},\"3\":{\"patterns\":[{\"match\":\"<>\",\"name\":\"keyword.modifier.unknown.ada\"},{\"include\":\"#expression\"}]}},\"match\":\"(?i)\\\\b([^()=>]*)\\\\s*(=>)\\\\s*([^),]+)\",\"name\":\"meta.definition.array.aggregate.component.ada\"},\"array_dimensions\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"\\\\)\",\"name\":\"meta.declaration.type.definition.array.dimensions.ada\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"(?i)\\\\brange\\\\b\",\"name\":\"storage.modifier.ada\"},{\"match\":\"<>\",\"name\":\"keyword.modifier.unknown.ada\"},{\"match\":\"\\\\.\\\\.\",\"name\":\"keyword.ada\"},{\"include\":\"#expression\"},{\"patterns\":[{\"include\":\"#subtype_mark\"}]}]},\"array_type_definition\":{\"begin\":\"(?i)\\\\barray\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?i)(?=(with|;))\",\"name\":\"meta.declaration.type.definition.array.ada\",\"patterns\":[{\"include\":\"#array_dimensions\"},{\"match\":\"(?i)\\\\bof\\\\b\",\"name\":\"storage.modifier.ada\"},{\"match\":\"(?i)\\\\baliased\\\\b\",\"name\":\"storage.visibility.ada\"},{\"include\":\"#access_definition\"},{\"include\":\"#subtype_mark\"}]},\"aspect_clause\":{\"begin\":\"(?i)\\\\b(for)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"patterns\":[{\"include\":\"#subtype_mark\"}]},\"3\":{\"name\":\"punctuation.ada\"},\"5\":{\"name\":\"keyword.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.aspect.clause.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\buse\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?=;)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"patterns\":[{\"include\":\"#record_representation_clause\"},{\"include\":\"#array_aggregate\"},{\"include\":\"#expression\"}]},{\"begin\":\"(?i)(?<=for)\",\"captures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=use)\",\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#subtype_mark\"}]},\"2\":{\"patterns\":[{\"include\":\"#attribute\"}]}},\"match\":\"([_\\\\w\\\\d]+)('([_\\\\w\\\\d]+))?\"}]}]},\"aspect_definition\":{\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.ada\"}},\"end\":\"(?i)(?=([,;]|\\\\bis\\\\b))\",\"name\":\"meta.aspect.definition.ada\",\"patterns\":[{\"include\":\"#expression\"}]},\"aspect_mark\":{\"captures\":{\"1\":{\"name\":\"keyword.control.directive.ada\"},\"2\":{\"name\":\"punctuation.ada\"},\"3\":{\"name\":\"entity.other.attribute-name.ada\"}},\"match\":\"(?i)\\\\b([._\\\\w\\\\d]+)(?:(')(class))?\\\\b\",\"name\":\"meta.aspect.mark.ada\"},\"aspect_specification\":{\"begin\":\"(?i)\\\\bwith\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=(;|\\\\bis\\\\b))\",\"name\":\"meta.aspect.specification.ada\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ada\"},\"2\":{\"name\":\"storage.modifier.ada\"}},\"match\":\"(?i)\\\\b(null)\\\\s+(record)\\\\b\"},{\"begin\":\"(?i)\\\\brecord\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(record)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"storage.modifier.ada\"}},\"patterns\":[{\"include\":\"#component_item\"}]},{\"captures\":{\"0\":{\"name\":\"storage.visibility.ada\"}},\"match\":\"(?i)\\\\bprivate\\\\b\"},{\"include\":\"#aspect_definition\"},{\"include\":\"#aspect_mark\"},{\"include\":\"#comment\"}]},\"assignment_statement\":{\"begin\":\"\\\\b([\\\"'()._\\\\w\\\\d\\\\s]+)\\\\s*(:=)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\"([._\\\\w\\\\d]+)\",\"name\":\"variable.name.ada\"},{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#expression\"}]}]},\"2\":{\"name\":\"keyword.operator.new.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.assignment.ada\",\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#comment\"}]},\"attribute\":{\"captures\":{\"1\":{\"name\":\"punctuation.ada\"},\"2\":{\"name\":\"entity.other.attribute-name.ada\"}},\"match\":\"(')([_\\\\w\\\\d]+)\\\\b\",\"name\":\"meta.attribute.ada\"},\"based_literal\":{\"captures\":{\"1\":{\"name\":\"constant.numeric.base.ada\"},\"2\":{\"name\":\"punctuation.ada\"},\"3\":{\"name\":\"punctuation.ada\"},\"4\":{\"name\":\"punctuation.radix-point.ada\"},\"5\":{\"name\":\"punctuation.ada\"},\"6\":{\"name\":\"constant.numeric.base.ada\"},\"7\":{\"patterns\":[{\"include\":\"#exponent_part\"}]}},\"match\":\"(?i)(\\\\d(?:(_)?\\\\d)*#)[0-9a-f](?:(_)?[0-9a-f])*(?:(\\\\.)[0-9a-f](?:(_)?[0-9a-f])*)?(#)([Ee][-+]?\\\\d(?:_?\\\\d)*)?\",\"name\":\"constant.numeric.ada\"},\"basic_declaration\":{\"patterns\":[{\"include\":\"#type_declaration\"},{\"include\":\"#subtype_declaration\"},{\"include\":\"#exception_declaration\"},{\"include\":\"#object_declaration\"},{\"include\":\"#single_protected_declaration\"},{\"include\":\"#single_task_declaration\"},{\"include\":\"#subprogram_specification\"},{\"include\":\"#package_declaration\"},{\"include\":\"#pragma\"},{\"include\":\"#comment\"}]},\"basic_declarative_item\":{\"patterns\":[{\"include\":\"#basic_declaration\"},{\"include\":\"#aspect_clause\"},{\"include\":\"#use_clause\"},{\"include\":\"#keyword\"}]},\"block_statement\":{\"begin\":\"(?i)\\\\bdeclare\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(end)(\\\\s+[_\\\\w\\\\d]+)?\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.label.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.block.ada\",\"patterns\":[{\"begin\":\"(?i)(?<=declare)\",\"end\":\"(?i)\\\\bbegin\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"patterns\":[{\"include\":\"#body\"},{\"include\":\"#basic_declarative_item\"}]},{\"begin\":\"(?i)(?<=begin)\",\"end\":\"(?i)(?=end)\",\"patterns\":[{\"include\":\"#statement\"}]}]},\"body\":{\"patterns\":[{\"include\":\"#subprogram_body\"},{\"include\":\"#package_body\"},{\"include\":\"#task_body\"},{\"include\":\"#protected_body\"}]},\"case_statement\":{\"begin\":\"(?i)\\\\bcase\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(case)\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"keyword.control.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.case.ada\",\"patterns\":[{\"begin\":\"(?i)(?<=case)\\\\b\",\"end\":\"(?i)\\\\bis\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\"(?i)\\\\bwhen\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"=>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.case.alternative.ada\",\"patterns\":[{\"match\":\"(?i)\\\\bothers\\\\b\",\"name\":\"keyword.modifier.unknown.ada\"},{\"match\":\"\\\\|\",\"name\":\"punctuation.ada\"},{\"include\":\"#expression\"}]},{\"include\":\"#statement\"}]},\"character_literal\":{\"captures\":{\"0\":{\"patterns\":[{\"match\":\"'\",\"name\":\"punctuation.definition.string.ada\"}]}},\"match\":\"'.'\",\"name\":\"string.quoted.single.ada\"},\"comment\":{\"patterns\":[{\"include\":\"#preprocessor\"},{\"include\":\"#comment-section\"},{\"include\":\"#comment-doc\"},{\"include\":\"#comment-line\"}]},\"comment-doc\":{\"captures\":{\"1\":{\"name\":\"comment.line.double-dash.ada\"},\"2\":{\"name\":\"punctuation.definition.tag.ada\"},\"3\":{\"name\":\"entity.name.tag.ada\"},\"4\":{\"name\":\"comment.line.double-dash.ada\"}},\"match\":\"(--)\\\\s*(@)(\\\\w+)\\\\s+(.*)$\",\"name\":\"comment.block.documentation.ada\"},\"comment-line\":{\"match\":\"--.*$\",\"name\":\"comment.line.double-dash.ada\"},\"comment-section\":{\"captures\":{\"1\":{\"name\":\"entity.name.section.ada\"}},\"match\":\"--\\\\s*([^-].*?[^-])\\\\s*--\\\\s*$\",\"name\":\"comment.line.double-dash.ada\"},\"component_clause\":{\"begin\":\"(?i)\\\\b([_\\\\w\\\\d]+)\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.name.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.aspect.clause.record.representation.component.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bat\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?i)\\\\b(?=range)\\\\b\",\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#range_constraint\"}]},\"component_declaration\":{\"begin\":\"(?i)\\\\b([_\\\\w\\\\d]+(?:\\\\s*,\\\\s*[_\\\\w\\\\d]+)?)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"\\\\b([_\\\\w\\\\d])+\\\\b\",\"name\":\"variable.name.ada\"}]},\"2\":{\"name\":\"punctuation.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.type.definition.record.component.ada\",\"patterns\":[{\"patterns\":[{\"match\":\":=\",\"name\":\"keyword.operator.new.ada\"},{\"include\":\"#expression\"}]},{\"include\":\"#component_definition\"}]},\"component_definition\":{\"patterns\":[{\"match\":\"(?i)\\\\baliased\\\\b\",\"name\":\"storage.visibility.ada\"},{\"match\":\"(?i)\\\\brange\\\\b\",\"name\":\"storage.modifier.ada\"},{\"match\":\"\\\\.\\\\.\",\"name\":\"keyword.ada\"},{\"include\":\"#access_definition\"},{\"include\":\"#subtype_mark\"}]},\"component_item\":{\"patterns\":[{\"include\":\"#component_declaration\"},{\"include\":\"#variant_part\"},{\"include\":\"#comment\"},{\"include\":\"#aspect_clause\"},{\"captures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"punctuation.ada\"}},\"match\":\"(?i)\\\\b(null)\\\\s*(;)\"}]},\"composite_constraint\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"\\\\)\",\"name\":\"meta.declaration.constraint.composite.ada\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"\\\\.\\\\.\",\"name\":\"keyword.ada\"},{\"captures\":{\"1\":{\"name\":\"variable.name.ada\"},\"2\":{\"name\":\"keyword.other.ada\"},\"3\":{\"patterns\":[{\"include\":\"#expression\"}]}},\"match\":\"(?i)\\\\b([_\\\\w\\\\d]+)\\\\s*(=>)\\\\s*([^),])+\\\\b\"},{\"include\":\"#expression\"}]},\"decimal_literal\":{\"captures\":{\"1\":{\"name\":\"punctuation.ada\"},\"2\":{\"name\":\"punctuation.radix-point.ada\"},\"3\":{\"name\":\"punctuation.ada\"},\"4\":{\"patterns\":[{\"include\":\"#exponent_part\"}]}},\"match\":\"\\\\d(?:(_)?\\\\d)*(?:(\\\\.)\\\\d(?:(_)?\\\\d)*)?([Ee][-+]?\\\\d(?:_?\\\\d)*)?\",\"name\":\"constant.numeric.ada\"},\"declarative_item\":{\"patterns\":[{\"include\":\"#body\"},{\"include\":\"#basic_declarative_item\"}]},\"delay_relative_statement\":{\"begin\":\"(?i)\\\\b(delay)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"delay_statement\":{\"patterns\":[{\"include\":\"#delay_until_statement\"},{\"include\":\"#delay_relative_statement\"}]},\"delay_until_statement\":{\"begin\":\"(?i)\\\\b(delay)\\\\s+(until)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"keyword.control.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.delay.until.ada\",\"patterns\":[{\"include\":\"#expression\"}]},\"derived_type_definition\":{\"name\":\"meta.declaration.type.definition.derived.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bnew\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?i)(?=(\\\\bwith\\\\b|;))\",\"patterns\":[{\"match\":\"(?i)\\\\band\\\\b\",\"name\":\"storage.modifier.ada\"},{\"include\":\"#subtype_mark\"}]},{\"match\":\"(?i)\\\\b(abstract|and|limited|tagged)\\\\b\",\"name\":\"storage.modifier.ada\"},{\"match\":\"(?i)\\\\bprivate\\\\b\",\"name\":\"storage.visibility.ada\"},{\"include\":\"#subtype_mark\"}]},\"discriminant_specification\":{\"begin\":\"(?i)\\\\b([_\\\\w\\\\d]+(?:\\\\s*,\\\\s*[_\\\\w\\\\d]+)?)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"\\\\b([_\\\\w\\\\d])+\\\\b\",\"name\":\"variable.name.ada\"}]},\"2\":{\"name\":\"punctuation.ada\"}},\"end\":\"(?=([);]))\",\"patterns\":[{\"begin\":\":=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.new.ada\"}},\"end\":\"(?=([);]))\",\"patterns\":[{\"include\":\"#expression\"}]},{\"captures\":{\"1\":{\"name\":\"storage.visibility.ada\"},\"2\":{\"patterns\":[{\"include\":\"#subtype_mark\"}]}},\"match\":\"(?i)(not\\\\s+null\\\\s+)?([._\\\\w\\\\d]+)\\\\b\"},{\"include\":\"#access_definition\"}]},\"entry_body\":{\"begin\":\"(?i)\\\\b(entry)\\\\s+([_\\\\w\\\\d]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.entry.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s*(\\\\s\\\\2)\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.entry.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"patterns\":[{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(?=begin)\\\\b\",\"patterns\":[{\"include\":\"#declarative_item\"}]},{\"begin\":\"(?i)\\\\bbegin\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(?=end)\\\\b\",\"patterns\":[{\"include\":\"#statement\"}]},{\"begin\":\"(?i)\\\\bwhen\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(?=is)\\\\b\",\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#parameter_profile\"}]},\"entry_declaration\":{\"begin\":\"(?i)\\\\b(?:(not)?\\\\s+(overriding)\\\\s+)?(entry)\\\\s+([_\\\\w\\\\d]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ada\"},\"2\":{\"name\":\"storage.modifier.ada\"},\"3\":{\"name\":\"keyword.ada\"},\"4\":{\"name\":\"entity.name.entry.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"patterns\":[{\"include\":\"#parameter_profile\"}]},\"enumeration_type_definition\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.type.definition.enumeration.ada\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"\\\\b([_\\\\w\\\\d])+\\\\b\",\"name\":\"variable.name.ada\"},{\"include\":\"#comment\"}]},\"exception_declaration\":{\"begin\":\"(?i)\\\\b([_\\\\w\\\\d]+(?:\\\\s*,\\\\s*[_\\\\w\\\\d]+)?)\\\\s*(:)\\\\s*(exception)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"\\\\b([_\\\\w\\\\d])+\\\\b\",\"name\":\"entity.name.exception.ada\"}]},\"2\":{\"name\":\"punctuation.ada\"},\"3\":{\"name\":\"storage.type.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.exception.ada\",\"patterns\":[{\"match\":\"(?i)\\\\b(renames)\\\\s+(([._\\\\w\\\\d])+)\",\"name\":\"entity.name.exception.ada\"}]},\"exit_statement\":{\"begin\":\"(?i)\\\\bexit\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.exit.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bwhen\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"match\":\"[_\\\\w\\\\d]+\",\"name\":\"entity.name.label.ada\"}]},\"exponent_part\":{\"captures\":{\"1\":{\"name\":\"punctuation.exponent-mark.ada\"},\"2\":{\"name\":\"keyword.operator.unary.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"match\":\"([Ee])([-+])?\\\\d(?:(_)?\\\\d)*\"},\"expression\":{\"name\":\"meta.expression.ada\",\"patterns\":[{\"match\":\"(?i)\\\\bnull\\\\b\",\"name\":\"constant.language.ada\"},{\"match\":\"=>(\\\\+)?\",\"name\":\"keyword.other.ada\"},{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"\\\\.\\\\.\",\"name\":\"keyword.ada\"},{\"include\":\"#value\"},{\"include\":\"#attribute\"},{\"include\":\"#comment\"},{\"include\":\"#operator\"},{\"match\":\"(?i)\\\\b(and|or|xor)\\\\b\",\"name\":\"keyword.ada\"},{\"match\":\"(?i)\\\\b(if|then|else|elsif|in|for|(?<!\\\\.)all|some|\\\\.\\\\.|delta|with)\\\\b\",\"name\":\"keyword.ada\"}]},\"for_loop_statement\":{\"begin\":\"(?i)\\\\bfor\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(loop)(\\\\s+[_\\\\w\\\\d]+)?\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"keyword.control.ada\"},\"3\":{\"name\":\"entity.name.label.ada\"},\"4\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.loop.for.ada\",\"patterns\":[{\"begin\":\"(?i)(?<=for)\",\"end\":\"(?i)\\\\bloop\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.name.ada\"},\"2\":{\"name\":\"keyword.control.ada\"},\"3\":{\"name\":\"keyword.control.ada\"}},\"match\":\"(?i)\\\\b([_\\\\w\\\\d]+)\\\\s+(in)(\\\\s+reverse)?\\\\b\"},{\"captures\":{\"1\":{\"name\":\"variable.name.ada\"},\"2\":{\"name\":\"punctuation.ada\"},\"3\":{\"patterns\":[{\"include\":\"#subtype_mark\"}]},\"4\":{\"name\":\"keyword.control.ada\"},\"5\":{\"name\":\"keyword.control.ada\"}},\"match\":\"(?i)\\\\b([_\\\\w\\\\d]+)(?:\\\\s*(:)\\\\s*([._\\\\w\\\\d]+))?\\\\s+(of)(\\\\s+reverse)?\\\\b\"},{\"include\":\"#expression\"}]},{\"include\":\"#statement\"}]},\"full_type_declaration\":{\"patterns\":[{\"include\":\"#task_type_declaration\"},{\"include\":\"#regular_type_declaration\"}]},\"function_body\":{\"begin\":\"(?i)\\\\b(overriding\\\\s+)?(function)\\\\s+(?:([._\\\\w\\\\d]+)\\\\b|(\\\".+\\\"))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.visibility.ada\"},\"2\":{\"name\":\"keyword.ada\"},\"3\":{\"name\":\"entity.name.function.ada\"},\"4\":{\"patterns\":[{\"include\":\"#string_literal\"}]}},\"end\":\"(?i)(?:\\\\b(end)\\\\s+(\\\\3|\\\\4)\\\\s*)?(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.function.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.function.body.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bbegin\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=end)\",\"patterns\":[{\"include\":\"#handled_sequence_of_statements\"}]},{\"include\":\"#aspect_specification\"},{\"include\":\"#result_profile\"},{\"include\":\"#subprogram_renaming_declaration\"},{\"include\":\"#parameter_profile\"},{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=(with|begin|;))\",\"name\":\"meta.function.body.spec_part.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bnew\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.new.ada\"}},\"end\":\"(?=;)\",\"name\":\"meta.declaration.package.generic.ada\",\"patterns\":[{\"match\":\"([._\\\\w\\\\d]+)\",\"name\":\"entity.name.function.ada\"},{\"include\":\"#actual_parameter_part\"}]},{\"captures\":{\"0\":{\"name\":\"storage.modifier.ada\"}},\"match\":\"(?i)\\\\babstract\\\\b\",\"name\":\"meta.declaration.function.abstract.ada\"},{\"include\":\"#declarative_item\"},{\"include\":\"#subprogram_renaming_declaration\"},{\"include\":\"#expression\"}]}]},\"function_specification\":{\"patterns\":[{\"include\":\"#function_body\"}]},\"goto_statement\":{\"begin\":\"(?i)\\\\bgoto\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.goto.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.goto.ada\",\"patterns\":[{}]},\"guard\":{\"begin\":\"(?i)\\\\bwhen\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"=>\",\"endCaptures\":{\"0\":{\"name\":\"keyword.other.ada\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"handled_sequence_of_statements\":{\"patterns\":[{\"begin\":\"(?i)\\\\bexception\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(?=end)\\\\b\",\"name\":\"meta.handler.exception.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bwhen\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"=>\",\"endCaptures\":{\"0\":{\"name\":\"keyword.other.ada\"}},\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.name.ada\"},\"2\":{\"name\":\"punctuation.ada\"}},\"match\":\"\\\\b([._\\\\w\\\\d]+)\\\\s*(:)\"},{\"match\":\"\\\\|\",\"name\":\"punctuation.ada\"},{\"match\":\"(?i)\\\\bothers\\\\b\",\"name\":\"keyword.ada\"},{\"match\":\"[._\\\\w\\\\d]+\",\"name\":\"entity.name.exception.ada\"}]},{\"include\":\"#statement\"}]},{\"include\":\"#statement\"}]},\"highest_precedence_operator\":{\"match\":\"(?i)(\\\\*\\\\*|\\\\babs\\\\b|\\\\bnot\\\\b)\",\"name\":\"keyword.operator.highest-precedence.ada\"},\"if_statement\":{\"begin\":\"(?i)\\\\bif\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(if)\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"keyword.control.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.if.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\belsif\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)(?<!\\\\sand)\\\\s+(?=then)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\"(?i)\\\\belse\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)(?=end)\",\"patterns\":[{\"include\":\"#statement\"}]},{\"begin\":\"(?i)(?<=if)\\\\b\",\"end\":\"(?i)(?<!\\\\sand)\\\\s+(?=then)\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\"(?i)\\\\bthen\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)(?=(e(?:lsif|lse|nd)))\",\"patterns\":[{\"include\":\"#statement\"}]}]},\"integer_type_definition\":{\"name\":\"meta.declaration.type.definition.integer.ada\",\"patterns\":[{\"include\":\"#signed_integer_type_definition\"},{\"include\":\"#modular_type_definition\"}]},\"interface_type_definition\":{\"begin\":\"(?i)\\\\b(?:(limited|task|protected|synchronized)\\\\s+)?(interface)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ada\"},\"2\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?i)(?=(with|;))\",\"name\":\"meta.declaration.type.definition.interface.ada\",\"patterns\":[{\"match\":\"(?i)\\\\band\\\\b\",\"name\":\"storage.modifier.ada\"},{\"include\":\"#subtype_mark\"}]},\"keyword\":{\"patterns\":[{\"match\":\"(?i)\\\\b(abort|abs|accept|all|and|at|begin|body|declare|delay|end|entry|exception|function|generic|in|is|mod|new|not|null|of|or|others|out|package|pragma|procedure|range|record|rem|renames|requeue|reverse|select|separate|some|subtype|then|type|use|when|with|xor)\\\\b\",\"name\":\"keyword.ada\"},{\"match\":\"(?i)\\\\b(case|do|else|elsif|exit|for|goto|if|loop|raise|return|terminate|until|while)\\\\b\",\"name\":\"keyword.control.ada\"},{\"match\":\"(?i)\\\\b(abstract|access|aliased|array|constant|delta|digits|interface|limited|protected|synchronized|tagged|task)\\\\b\",\"name\":\"storage.modifier.ada\"},{\"match\":\"(?i)\\\\b(private|overriding)\\\\b\",\"name\":\"storage.visibility.ada\"},{\"match\":\"<>\",\"name\":\"keyword.modifier.unknown.ada\"},{\"match\":\"([-*+/])\",\"name\":\"keyword.operator.arithmetic.ada\"},{\"match\":\":=\",\"name\":\"keyword.operator.assignment.ada\"},{\"match\":\"(=|/=|[<>]|<=|>=)\",\"name\":\"keyword.operator.logic.ada\"},{\"match\":\"&\",\"name\":\"keyword.operator.concatenation.ada\"}]},\"known_discriminant_part\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"\\\\)\",\"name\":\"meta.declaration.type.discriminant.ada\",\"patterns\":[{\"match\":\";\",\"name\":\"punctuation.ada\"},{\"include\":\"#discriminant_specification\"}]},\"label\":{\"captures\":{\"1\":{\"name\":\"punctuation.label.ada\"},\"2\":{\"name\":\"entity.name.label.ada\"},\"3\":{\"name\":\"punctuation.label.ada\"}},\"match\":\"(<<)?([_\\\\w\\\\d]+)\\\\s*(:[^=]|>>)\",\"name\":\"meta.label.ada\"},\"library_unit\":{\"name\":\"meta.library.unit.ada\",\"patterns\":[{\"include\":\"#package_body\"},{\"include\":\"#package_specification\"},{\"include\":\"#subprogram_body\"}]},\"loop_statement\":{\"patterns\":[{\"include\":\"#simple_loop_statement\"},{\"include\":\"#while_loop_statement\"},{\"include\":\"#for_loop_statement\"}]},\"modular_type_definition\":{\"begin\":\"(?i)\\\\b(mod)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?i)(?=(with|;))\",\"patterns\":[{\"match\":\"<>\",\"name\":\"keyword.modifier.unknown.ada\"},{\"include\":\"#expression\"}]},\"multiplying_operator\":{\"match\":\"(?i)([*/]|\\\\bmod\\\\b|\\\\brem\\\\b)\",\"name\":\"keyword.operator.multiplying.ada\"},\"null_statement\":{\"captures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"punctuation.ada\"}},\"match\":\"(?i)\\\\b(null)\\\\s*(;)\",\"name\":\"meta.statement.null.ada\"},\"object_declaration\":{\"begin\":\"(?i)\\\\b([_\\\\w\\\\d]+(?:\\\\s*,\\\\s*[_\\\\w\\\\d]+)*)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"\\\\b([_\\\\w\\\\d])+\\\\b\",\"name\":\"variable.name.ada\"}]},\"2\":{\"name\":\"punctuation.ada\"}},\"end\":\"(;)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.object.ada\",\"patterns\":[{\"begin\":\"(?<=:)\",\"end\":\"(?=;)|(:=)|\\\\b(renames)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.new.ada\"},\"2\":{\"name\":\"keyword.ada\"}},\"patterns\":[{\"match\":\"(?i)\\\\bconstant\\\\b\",\"name\":\"storage.modifier.ada\"},{\"match\":\"(?i)\\\\baliased\\\\b\",\"name\":\"storage.visibility.ada\"},{\"include\":\"#aspect_specification\"},{\"include\":\"#subtype_mark\"}]},{\"begin\":\"(?<=:=)\",\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#aspect_specification\"},{\"include\":\"#expression\"}]},{\"begin\":\"(?<=renames)\",\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#aspect_specification\"}]}]},\"operator\":{\"patterns\":[{\"include\":\"#highest_precedence_operator\"},{\"include\":\"#multiplying_operator\"},{\"include\":\"#adding_operator\"},{\"include\":\"#relational_operator\"},{\"include\":\"#logical_operator\"}]},\"package_body\":{\"begin\":\"(?i)\\\\b(package)\\\\s+(body)\\\\s+([._\\\\w\\\\d]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"keyword.ada\"},\"3\":{\"patterns\":[{\"include\":\"#package_mark\"}]}},\"end\":\"(?i)\\\\b(end)\\\\s+(\\\\3)\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"patterns\":[{\"include\":\"#package_mark\"}]},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.package.body.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bbegin\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(?=end)\\\\b\",\"patterns\":[{\"include\":\"#handled_sequence_of_statements\"}]},{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=\\\\b(begin|end)\\\\b)\",\"patterns\":[{\"match\":\"(?i)\\\\bprivate\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#declarative_item\"},{\"include\":\"#comment\"}]},{\"include\":\"#aspect_specification\"}]},\"package_declaration\":{\"patterns\":[{\"include\":\"#package_specification\"}]},\"package_mark\":{\"match\":\"\\\\b([._\\\\w\\\\d])+\\\\b\",\"name\":\"entity.name.package.ada\"},\"package_specification\":{\"begin\":\"(?i)\\\\b(package)\\\\s+([._\\\\w\\\\d]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"patterns\":[{\"include\":\"#package_mark\"}]}},\"end\":\"(?i)(?:\\\\b(end)\\\\s+(\\\\2)\\\\s*)?(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"patterns\":[{\"include\":\"#package_mark\"}]},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.package.specification.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?=(end|;))\",\"patterns\":[{\"begin\":\"(?i)\\\\bnew\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.new.ada\"}},\"end\":\"(?=;)\",\"name\":\"meta.declaration.package.generic.ada\",\"patterns\":[{\"include\":\"#package_mark\"},{\"include\":\"#actual_parameter_part\"}]},{\"match\":\"(?i)\\\\bprivate\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#basic_declarative_item\"},{\"include\":\"#comment\"}]},{\"include\":\"#aspect_specification\"}]},\"parameter_association\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.parameter.ada\"},\"2\":{\"name\":\"keyword.other.ada\"}},\"match\":\"([_\\\\w\\\\d]+)\\\\s*(=>)\"},{\"include\":\"#expression\"}]},\"parameter_profile\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"\\\\)\",\"patterns\":[{\"match\":\";\",\"name\":\"punctuation.ada\"},{\"include\":\"#parameter_specification\"}]},\"parameter_specification\":{\"patterns\":[{\"begin\":\":(?!=)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"end\":\"(?=[):;])\",\"name\":\"meta.type.annotation.ada\",\"patterns\":[{\"match\":\"(?i)\\\\b(in|out)\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#subtype_mark\"}]},{\"begin\":\":=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.new.ada\"}},\"end\":\"(?=[):;])\",\"patterns\":[{\"include\":\"#expression\"}]},{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"match\":\"\\\\b[._\\\\w\\\\d]+\\\\b\",\"name\":\"variable.parameter.ada\"},{\"include\":\"#comment\"}]},\"positional_array_aggregate\":{\"name\":\"meta.definition.array.aggregate.positional.ada\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"keyword.other.ada\"},\"3\":{\"patterns\":[{\"match\":\"<>\",\"name\":\"keyword.modifier.unknown.ada\"},{\"include\":\"#expression\"}]}},\"match\":\"(?i)\\\\b(others)\\\\s*(=>)\\\\s*([^),]+)\"},{\"include\":\"#expression\"}]},\"pragma\":{\"begin\":\"(?i)\\\\b(pragma)\\\\s+([_\\\\w\\\\d]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"keyword.control.directive.ada\"}},\"end\":\"(;)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.pragma.ada\",\"patterns\":[{\"include\":\"#expression\"}]},\"preprocessor\":{\"name\":\"meta.preprocessor.ada\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.directive.ada\"},\"2\":{\"name\":\"keyword.control.directive.conditional.ada\"},\"3\":{\"patterns\":[{\"include\":\"#expression\"}]}},\"match\":\"^\\\\s*(#)(if|elsif)\\\\s+(.*)$\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.directive.ada\"},\"2\":{\"name\":\"keyword.control.directive.conditional\"},\"3\":{\"name\":\"punctuation.ada\"}},\"match\":\"^\\\\s*(#)(end if)(;)\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.directive.ada\"},\"2\":{\"name\":\"keyword.control.directive.conditional\"}},\"match\":\"^\\\\s*(#)(else)\"}]},\"procedure_body\":{\"begin\":\"(?i)\\\\b(overriding\\\\s+)?(procedure)\\\\s+([._\\\\w\\\\d]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.visibility.ada\"},\"2\":{\"name\":\"keyword.ada\"},\"3\":{\"name\":\"entity.name.function.ada\"}},\"end\":\"(?i)(?:\\\\b(end)\\\\s+(\\\\3)\\\\s*)?(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.function.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.procedure.body.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=(with|begin|;))\",\"patterns\":[{\"begin\":\"(?i)\\\\bnew\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.new.ada\"}},\"end\":\"(?=;)\",\"name\":\"meta.declaration.package.generic.ada\",\"patterns\":[{\"match\":\"([._\\\\w\\\\d]+)\",\"name\":\"entity.name.function.ada\"},{\"include\":\"#actual_parameter_part\"}]},{\"match\":\"(?i)\\\\b(null|abstract)\\\\b\",\"name\":\"storage.modifier.ada\"},{\"include\":\"#declarative_item\"}]},{\"begin\":\"(?i)\\\\bbegin\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=\\\\bend\\\\b)\",\"patterns\":[{\"include\":\"#handled_sequence_of_statements\"}]},{\"include\":\"#subprogram_renaming_declaration\"},{\"include\":\"#aspect_specification\"},{\"include\":\"#parameter_profile\"},{\"include\":\"#comment\"}]},\"procedure_call_statement\":{\"begin\":\"(?i)\\\\b([._\\\\w\\\\d]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.call.ada\",\"patterns\":[{\"include\":\"#attribute\"},{\"include\":\"#actual_parameter_part\"},{\"include\":\"#comment\"}]},\"procedure_specification\":{\"patterns\":[{\"include\":\"#procedure_body\"}]},\"protected_body\":{\"begin\":\"(?i)\\\\b(protected)\\\\s+(body)\\\\s+([._\\\\w\\\\d]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ada\"},\"2\":{\"name\":\"keyword.ada\"},\"3\":{\"name\":\"entity.name.body.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s*(\\\\s\\\\3)\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.body.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.procedure.body.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(?=end)\\\\b\",\"patterns\":[{\"include\":\"#protected_operation_item\"}]}]},\"protected_element_declaration\":{\"patterns\":[{\"include\":\"#subprogram_specification\"},{\"include\":\"#aspect_clause\"},{\"include\":\"#entry_declaration\"},{\"include\":\"#component_declaration\"},{\"include\":\"#pragma\"}]},\"protected_operation_item\":{\"patterns\":[{\"include\":\"#subprogram_specification\"},{\"include\":\"#subprogram_body\"},{\"include\":\"#aspect_clause\"},{\"include\":\"#entry_body\"}]},\"raise_expression\":{\"begin\":\"(?i)\\\\braise\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?=;)\",\"name\":\"meta.expression.raise.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bwith\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?=([);]))\",\"patterns\":[{\"include\":\"#expression\"}]},{\"match\":\"\\\\b([_\\\\w\\\\d])+\\\\b\",\"name\":\"entity.name.exception.ada\"}]},\"raise_statement\":{\"begin\":\"(?i)\\\\braise\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.raise.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bwith\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"match\":\"\\\\b([._\\\\w\\\\d])+\\\\b\",\"name\":\"entity.name.exception.ada\"}]},\"range_constraint\":{\"begin\":\"(?i)\\\\brange\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?=(\\\\bwith\\\\b|;))\",\"patterns\":[{\"match\":\"\\\\.\\\\.\",\"name\":\"keyword.ada\"},{\"match\":\"<>\",\"name\":\"keyword.modifier.unknown.ada\"},{\"include\":\"#expression\"}]},\"real_type_definition\":{\"name\":\"meta.declaration.type.definition.real-type.ada\",\"patterns\":[{\"include\":\"#scalar_constraint\"}]},\"record_representation_clause\":{\"begin\":\"(?i)\\\\b(record)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(record)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"storage.modifier.ada\"}},\"name\":\"meta.aspect.clause.record.representation.ada\",\"patterns\":[{\"include\":\"#component_clause\"},{\"include\":\"#comment\"}]},\"record_type_definition\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.modifier.ada\"},\"2\":{\"name\":\"storage.modifier.ada\"},\"3\":{\"name\":\"storage.modifier.ada\"},\"4\":{\"name\":\"storage.modifier.ada\"},\"5\":{\"name\":\"storage.modifier.ada\"}},\"match\":\"(?i)\\\\b(?:(abstract)\\\\s+)?(?:(tagged)\\\\s+)?(?:(limited)\\\\s+)?(null)\\\\s+(record)\\\\b\",\"name\":\"meta.declaration.type.definition.record.null.ada\",\"patterns\":[{\"include\":\"#component_item\"}]},{\"begin\":\"(?i)\\\\b(?:(abstract)\\\\s+)?(?:(tagged)\\\\s+)?(?:(limited)\\\\s+)?(record)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ada\"},\"2\":{\"name\":\"storage.modifier.ada\"},\"3\":{\"name\":\"storage.modifier.ada\"},\"4\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(record)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"storage.modifier.ada\"}},\"name\":\"meta.declaration.type.definition.record.ada\",\"patterns\":[{\"include\":\"#component_item\"}]}]},\"regular_type_declaration\":{\"begin\":\"(?i)\\\\b(type)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.type.definition.regular.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=(with(?!\\\\s+(private))|;))\",\"patterns\":[{\"include\":\"#type_definition\"}]},{\"begin\":\"(?i)\\\\b(?<=type)\\\\b\",\"end\":\"(?i)(?=(is|;))\",\"patterns\":[{\"include\":\"#known_discriminant_part\"},{\"include\":\"#subtype_mark\"}]},{\"include\":\"#aspect_specification\"}]},\"relational_operator\":{\"match\":\"(=|/=|<=??|>=??)\",\"name\":\"keyword.operator.relational.ada\"},\"requeue_statement\":{\"begin\":\"(?i)\\\\brequeue\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.requeue.ada\",\"patterns\":[{\"match\":\"(?i)\\\\b(with|abort)\\\\b\",\"name\":\"keyword.control.ada\"},{\"match\":\"\\\\b([._\\\\w\\\\d])+\\\\b\",\"name\":\"entity.name.function.ada\"}]},\"result_profile\":{\"begin\":\"(?i)\\\\breturn\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?=(is|with|renames|;))\",\"patterns\":[{\"include\":\"#subtype_mark\"}]},\"return_statement\":{\"begin\":\"(?i)\\\\breturn\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.return.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bdo\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(return)\\\\s*(?=;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"keyword.control.ada\"}},\"patterns\":[{\"include\":\"#label\"},{\"include\":\"#statement\"}]},{\"captures\":{\"1\":{\"name\":\"variable.name.ada\"},\"2\":{\"name\":\"punctuation.ada\"},\"3\":{\"name\":\"entity.name.type.ada\"}},\"match\":\"\\\\b([_\\\\w\\\\d]+)\\\\s*(:)\\\\s*([._\\\\w\\\\d]+)\\\\b\"},{\"match\":\":=\",\"name\":\"keyword.operator.new.ada\"},{\"include\":\"#expression\"}]},\"scalar_constraint\":{\"name\":\"meta.declaration.constraint.scalar.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\b(d(?:igits|elta))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ada\"}},\"end\":\"(?i)(?=\\\\brange\\\\b|\\\\bdigits\\\\b|\\\\bwith\\\\b|;)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#range_constraint\"},{\"include\":\"#expression\"}]},\"select_alternative\":{\"patterns\":[{\"begin\":\"(?i)\\\\bterminate\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}}},{\"include\":\"#statement\"}]},\"select_statement\":{\"begin\":\"(?i)\\\\bselect\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(select)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"keyword.control.ada\"}},\"name\":\"meta.statement.select.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\b(?:(or)|(?<=select))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(?=(or|else|end))\\\\b\",\"patterns\":[{\"include\":\"#guard\"},{\"include\":\"#select_alternative\"}]},{\"begin\":\"(?i)\\\\belse\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(?=end)\\\\b\",\"patterns\":[{\"include\":\"#statement\"}]}]},\"signed_integer_type_definition\":{\"patterns\":[{\"include\":\"#range_constraint\"}]},\"simple_loop_statement\":{\"begin\":\"(?i)\\\\bloop\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(loop)(\\\\s+[_\\\\w\\\\d]+)?\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"keyword.control.ada\"},\"3\":{\"name\":\"entity.name.label.ada\"},\"4\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.loop.ada\",\"patterns\":[{\"include\":\"#statement\"}]},\"single_protected_declaration\":{\"begin\":\"(?i)\\\\b(protected)\\\\s+([_\\\\w\\\\d]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.protected.ada\"}},\"end\":\"(?i)(?:\\\\b(end)\\\\s*(\\\\s\\\\2)?\\\\s*)?(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.protected.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.protected.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=(\\\\bend\\\\b|;))\",\"patterns\":[{\"begin\":\"(?i)\\\\bnew\\\\b\",\"captures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\bwith\\\\b\",\"patterns\":[{\"match\":\"(?i)\\\\band\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#subtype_mark\"},{\"include\":\"#comment\"}]},{\"match\":\"(?i)\\\\bprivate\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#protected_element_declaration\"},{\"include\":\"#comment\"}]},{\"include\":\"#comment\"}]},\"single_task_declaration\":{\"begin\":\"(?i)\\\\b(task)\\\\s+([_\\\\w\\\\d]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.task.ada\"}},\"end\":\"(?i)(?:\\\\b(end)\\\\s*(\\\\s\\\\2)?\\\\s*)?(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.task.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"patterns\":[{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(?=end)\\\\b\",\"patterns\":[{\"begin\":\"(?i)\\\\bnew\\\\b\",\"captures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\bwith\\\\b\",\"patterns\":[{\"match\":\"(?i)\\\\band\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#subtype_mark\"},{\"include\":\"#comment\"}]},{\"match\":\"(?i)\\\\bprivate\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#task_item\"},{\"include\":\"#comment\"}]},{\"include\":\"#comment\"}]},\"statement\":{\"patterns\":[{\"begin\":\"(?i)\\\\bbegin\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"punctuation.ada\"}},\"patterns\":[{\"include\":\"#handled_sequence_of_statements\"}]},{\"include\":\"#label\"},{\"include\":\"#null_statement\"},{\"include\":\"#return_statement\"},{\"include\":\"#assignment_statement\"},{\"include\":\"#exit_statement\"},{\"include\":\"#goto_statement\"},{\"include\":\"#requeue_statement\"},{\"include\":\"#delay_statement\"},{\"include\":\"#abort_statement\"},{\"include\":\"#raise_statement\"},{\"include\":\"#if_statement\"},{\"include\":\"#case_statement\"},{\"include\":\"#loop_statement\"},{\"include\":\"#block_statement\"},{\"include\":\"#select_statement\"},{\"include\":\"#accept_statement\"},{\"include\":\"#pragma\"},{\"include\":\"#procedure_call_statement\"},{\"include\":\"#comment\"}]},\"string_literal\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.string.ada\"},\"2\":{\"name\":\"punctuation.definition.string.ada\"}},\"match\":\"(\\\").*?(\\\")\",\"name\":\"string.quoted.double.ada\"},\"subprogram_body\":{\"name\":\"meta.declaration.subprogram.body.ada\",\"patterns\":[{\"include\":\"#procedure_body\"},{\"include\":\"#function_body\"}]},\"subprogram_renaming_declaration\":{\"begin\":\"(?i)\\\\brenames\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?=(with|;))\",\"patterns\":[{\"match\":\"[._\\\\w\\\\d]+\",\"name\":\"entity.name.function.ada\"}]},\"subprogram_specification\":{\"name\":\"meta.declaration.subprogram.specification.ada\",\"patterns\":[{\"include\":\"#procedure_specification\"},{\"include\":\"#function_specification\"}]},\"subtype_declaration\":{\"begin\":\"(?i)\\\\bsubtype\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.subtype.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?=;)\",\"patterns\":[{\"match\":\"(?i)\\\\b(not\\\\s+null)\\\\b\",\"name\":\"storage.modifier.ada\"},{\"include\":\"#composite_constraint\"},{\"include\":\"#aspect_specification\"},{\"include\":\"#subtype_indication\"}]},{\"begin\":\"(?i)(?<=subtype)\",\"end\":\"(?i)\\\\b(?=is)\\\\b\",\"patterns\":[{\"include\":\"#subtype_mark\"}]}]},\"subtype_indication\":{\"name\":\"meta.declaration.indication.subtype.ada\",\"patterns\":[{\"include\":\"#scalar_constraint\"},{\"include\":\"#subtype_mark\"}]},\"subtype_mark\":{\"patterns\":[{\"match\":\"(?i)\\\\b(access|aliased|not\\\\s+null|constant)\\\\b\",\"name\":\"storage.visibility.ada\"},{\"include\":\"#attribute\"},{\"include\":\"#actual_parameter_part\"},{\"begin\":\"(?i)\\\\b(procedure|function)\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?=([);]))\",\"patterns\":[{\"include\":\"#parameter_profile\"},{\"begin\":\"(?i)\\\\breturn\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?=([);]))\",\"patterns\":[{\"include\":\"#subtype_mark\"}]}]},{\"captures\":{\"0\":{\"patterns\":[{\"match\":\"[._]\",\"name\":\"punctuation.ada\"}]}},\"match\":\"\\\\b[._\\\\w\\\\d]+\\\\b\",\"name\":\"entity.name.type.ada\"},{\"include\":\"#comment\"}]},\"task_body\":{\"begin\":\"(?i)\\\\b(task)\\\\s+(body)\\\\s+(([._\\\\w\\\\d])+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"keyword.ada\"},\"3\":{\"name\":\"entity.name.task.ada\"}},\"end\":\"(?i)(?:\\\\b(end)\\\\s*(?:\\\\s(\\\\3))?\\\\s*)?(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.task.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.task.body.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\bbegin\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=end)\",\"patterns\":[{\"include\":\"#handled_sequence_of_statements\"}]},{\"include\":\"#aspect_specification\"},{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)(?=(with|begin))\",\"patterns\":[{\"include\":\"#declarative_item\"}]}]},\"task_item\":{\"patterns\":[{\"include\":\"#aspect_clause\"},{\"include\":\"#entry_declaration\"}]},\"task_type_declaration\":{\"begin\":\"(?i)\\\\b(task)\\\\s+(type)\\\\s+(([._\\\\w\\\\d])+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ada\"},\"2\":{\"name\":\"keyword.ada\"},\"3\":{\"name\":\"entity.name.task.ada\"}},\"end\":\"(?i)(?:\\\\b(end)\\\\s*(?:\\\\s(\\\\3))?\\\\s*)?(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"entity.name.task.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.type.task.ada\",\"patterns\":[{\"include\":\"#known_discriminant_part\"},{\"begin\":\"(?i)\\\\bis\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(?=end)\\\\b\",\"patterns\":[{\"begin\":\"(?i)\\\\bnew\\\\b\",\"captures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\bwith\\\\b\",\"patterns\":[{\"match\":\"(?i)\\\\band\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#subtype_mark\"},{\"include\":\"#comment\"}]},{\"match\":\"(?i)\\\\bprivate\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#task_item\"},{\"include\":\"#comment\"}]},{\"include\":\"#comment\"}]},\"type_declaration\":{\"name\":\"meta.declaration.type.ada\",\"patterns\":[{\"include\":\"#full_type_declaration\"}]},\"type_definition\":{\"name\":\"meta.declaration.type.definition.ada\",\"patterns\":[{\"include\":\"#enumeration_type_definition\"},{\"include\":\"#integer_type_definition\"},{\"include\":\"#real_type_definition\"},{\"include\":\"#array_type_definition\"},{\"include\":\"#record_type_definition\"},{\"include\":\"#access_type_definition\"},{\"include\":\"#interface_type_definition\"},{\"include\":\"#derived_type_definition\"}]},\"use_clause\":{\"name\":\"meta.context.use.ada\",\"patterns\":[{\"include\":\"#use_type_clause\"},{\"include\":\"#use_package_clause\"}]},\"use_package_clause\":{\"begin\":\"(?i)\\\\buse\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.using.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.context.use.package.ada\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"include\":\"#package_mark\"}]},\"use_type_clause\":{\"begin\":\"(?i)\\\\b(use)\\\\s+(?:(all)\\\\s+)?(type)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.using.ada\"},\"2\":{\"name\":\"keyword.modifier.ada\"},\"3\":{\"name\":\"keyword.modifier.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.context.use.type.ada\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"include\":\"#subtype_mark\"}]},\"value\":{\"patterns\":[{\"include\":\"#based_literal\"},{\"include\":\"#decimal_literal\"},{\"include\":\"#character_literal\"},{\"include\":\"#string_literal\"}]},\"variant_part\":{\"begin\":\"(?i)\\\\bcase\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(case);\",\"endCaptures\":{\"1\":{\"name\":\"keyword.ada\"},\"2\":{\"name\":\"keyword.ada\"},\"3\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.declaration.variant.ada\",\"patterns\":[{\"begin\":\"(?i)\\\\b(?<=case)\\\\b\",\"end\":\"(?i)\\\\bis\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"patterns\":[{\"match\":\"[_\\\\w\\\\d]+\",\"name\":\"variable.name.ada\"},{\"include\":\"#comment\"}]},{\"begin\":\"(?i)\\\\b(?<=is)\\\\b\",\"end\":\"(?i)\\\\b(?=end)\\\\b\",\"patterns\":[{\"begin\":\"(?i)\\\\bwhen\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ada\"}},\"end\":\"=>\",\"endCaptures\":{\"0\":{\"name\":\"keyword.other.ada\"}},\"patterns\":[{\"match\":\"\\\\|\",\"name\":\"punctuation.ada\"},{\"match\":\"(?i)\\\\bothers\\\\b\",\"name\":\"keyword.ada\"},{\"include\":\"#expression\"}]},{\"include\":\"#component_item\"}]}]},\"while_loop_statement\":{\"begin\":\"(?i)\\\\bwhile\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"end\":\"(?i)\\\\b(end)\\\\s+(loop)(\\\\s+[_\\\\w\\\\d]+)?\\\\s*(;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.ada\"},\"2\":{\"name\":\"keyword.control.ada\"},\"3\":{\"name\":\"entity.name.label.ada\"},\"4\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.statement.loop.while.ada\",\"patterns\":[{\"begin\":\"(?i)(?<=while)\\\\b\",\"end\":\"(?i)\\\\bloop\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.ada\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#statement\"}]},\"with_clause\":{\"begin\":\"(?i)\\\\b(?:(limited)\\\\s+)?(?:(private)\\\\s+)?(with)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.modifier.ada\"},\"2\":{\"name\":\"storage.visibility.ada\"},\"3\":{\"name\":\"keyword.other.using.ada\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.ada\"}},\"name\":\"meta.context.with.ada\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.ada\"},{\"include\":\"#package_mark\"}]}},\"scopeName\":\"source.ada\"}"))
2
2
 
3
3
  export default [
4
4
  lang
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"injectionSelector\":\"L:text.html -comment\",\"name\":\"angular-expression\",\"patterns\":[{\"include\":\"#ngExpression\"}],\"repository\":{\"arrayLiteral\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.square.ts\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.ts\"}},\"name\":\"meta.array.literal.ts\",\"patterns\":[{\"include\":\"#ngExpression\"},{\"include\":\"#punctuationComma\"}]},\"booleanLiteral\":{\"patterns\":[{\"match\":\"(?<![.$])\\\\btrue\\\\b(?!\\\\$)\",\"name\":\"constant.language.boolean.true.ts\"},{\"match\":\"(?<![.$])\\\\bfalse\\\\b(?!\\\\$)\",\"name\":\"constant.language.boolean.false.ts\"}]},\"expressionOperator\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.operator.logical.ts\"},\"2\":{\"name\":\"entity.name.function.pipe.ng\"}},\"match\":\"((?<!\\\\|)\\\\|(?!\\\\|))\\\\s?([a-zA-Z0-9\\\\-_$]*)\"},{\"match\":\"(?<![.$])\\\\b(let)\\\\b(?!\\\\$)\",\"name\":\"storage.type.ts\"},{\"match\":\"(?<![.$])\\\\b(await)\\\\b(?!\\\\$)\",\"name\":\"keyword.control.flow.ts\"},{\"match\":\"(?<![.$])\\\\bdelete\\\\b(?!\\\\$)\",\"name\":\"keyword.operator.expression.delete.ts\"},{\"match\":\"(?<![.$])\\\\bin\\\\b(?!\\\\$)\",\"name\":\"keyword.operator.expression.in.ts\"},{\"match\":\"(?<![.$])\\\\bof\\\\b(?!\\\\$)\",\"name\":\"keyword.operator.expression.of.ts\"},{\"match\":\"(?<![.$])\\\\bif\\\\b(?!\\\\$)\",\"name\":\"keyword.control.if.ts\"},{\"match\":\"(?<![.$])\\\\belse\\\\b(?!\\\\$)\",\"name\":\"keyword.control.else.ts\"},{\"match\":\"(?<![.$])\\\\bthen\\\\b(?!\\\\$)\",\"name\":\"keyword.control.then.ts\"},{\"match\":\"(?<![.$])\\\\binstanceof\\\\b(?!\\\\$)\",\"name\":\"keyword.operator.expression.instanceof.ts\"},{\"match\":\"(?<![.$])\\\\bnew\\\\b(?!\\\\$)\",\"name\":\"keyword.operator.new.ts\"},{\"match\":\"(?<![.$])\\\\bvoid\\\\b(?!\\\\$)\",\"name\":\"keyword.operator.expression.void.ts\"},{\"begin\":\"(?<![.$])\\\\bas\\\\b(?!\\\\$)\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.as.ts\"}},\"end\":\"(?=$|[\\\"';,:})\\\\]])\",\"patterns\":[{\"include\":\"#type\"}]},{\"match\":\"\\\\*=|(?<!\\\\()/=|%=|\\\\+=|-=\",\"name\":\"keyword.operator.assignment.compound.ts\"},{\"match\":\"&=|\\\\^=|<<=|>>=|>>>=|\\\\|=\",\"name\":\"keyword.operator.assignment.compound.bitwise.ts\"},{\"match\":\"<<|>>>|>>\",\"name\":\"keyword.operator.bitwise.shift.ts\"},{\"match\":\"(?:==|!=)(?:=|)\",\"name\":\"keyword.operator.comparison.ts\"},{\"match\":\"<=|>=|<>|[<>]\",\"name\":\"keyword.operator.relational.ts\"},{\"match\":\"!|&&|\\\\?\\\\?|\\\\|\\\\|\",\"name\":\"keyword.operator.logical.ts\"},{\"match\":\"[\\\\&~^|]\",\"name\":\"keyword.operator.bitwise.ts\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.ts\"},{\"match\":\"--\",\"name\":\"keyword.operator.decrement.ts\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.increment.ts\"},{\"match\":\"[%*/\\\\-+]\",\"name\":\"keyword.operator.arithmetic.ts\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.arithmetic.ts\"}},\"match\":\"(?<=[_$[:alnum:]])\\\\s*(/)(?![/*])\"},{\"include\":\"#typeofOperator\"}]},\"functionCall\":{\"begin\":\"(?=(\\\\??\\\\.\\\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()\",\"end\":\"(?<=\\\\))(?!(\\\\??\\\\.\\\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()\",\"patterns\":[{\"match\":\"\\\\?\",\"name\":\"punctuation.accessor.ts\"},{\"match\":\"\\\\.\",\"name\":\"punctuation.accessor.ts\"},{\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)\",\"name\":\"entity.name.function.ts\"},{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.ts\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.ts\"}},\"name\":\"meta.type.parameters.ts\",\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#punctuationComma\"}]},{\"include\":\"#parenExpression\"}]},\"functionParameters\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.begin.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.ts\"}},\"name\":\"meta.parameters.ts\",\"patterns\":[{\"include\":\"#decorator\"},{\"include\":\"#parameterName\"},{\"include\":\"#variableInitializer\"},{\"match\":\",\",\"name\":\"punctuation.separator.parameter.ts\"}]},\"identifiers\":{\"patterns\":[{\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)(?=\\\\s*\\\\.\\\\s*prototype\\\\b(?!\\\\$))\",\"name\":\"support.class.ts\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"constant.other.object.property.ts\"},\"3\":{\"name\":\"variable.other.object.property.ts\"}},\"match\":\"([?!]?\\\\.)\\\\s*(?:(\\\\p{upper}[_$\\\\d[:upper:]]*)|([_$[:alpha:]][_$[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[_$[:alpha:]][_$[:alnum:]]*)\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"entity.name.function.ts\"}},\"match\":\"(?:([?!]?\\\\.)\\\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\\\s*=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"constant.other.property.ts\"}},\"match\":\"([?!]?\\\\.)\\\\s*(\\\\p{upper}[_$\\\\d[:upper:]]*)(?![_$[:alnum:]])\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"variable.other.property.ts\"}},\"match\":\"([?!]?\\\\.)\\\\s*([_$[:alpha:]][_$[:alnum:]]*)\"},{\"captures\":{\"1\":{\"name\":\"constant.other.object.ts\"},\"2\":{\"name\":\"variable.other.object.ts\"}},\"match\":\"(?:(\\\\p{upper}[_$\\\\d[:upper:]]*)|([_$[:alpha:]][_$[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[_$[:alpha:]][_$[:alnum:]]*)\"},{\"match\":\"(\\\\p{upper}[_$\\\\d[:upper:]]*)(?![_$[:alnum:]])\",\"name\":\"constant.character.other\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"name\":\"variable.other.readwrite.ts\"}]},\"literal\":{\"name\":\"literal.ts\",\"patterns\":[{\"include\":\"#numericLiteral\"},{\"include\":\"#booleanLiteral\"},{\"include\":\"#nullLiteral\"},{\"include\":\"#undefinedLiteral\"},{\"include\":\"#numericConstantLiteral\"},{\"include\":\"#arrayLiteral\"},{\"include\":\"#thisLiteral\"}]},\"ngExpression\":{\"name\":\"meta.expression.ng\",\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#literal\"},{\"include\":\"#ternaryExpression\"},{\"include\":\"#expressionOperator\"},{\"include\":\"#functionCall\"},{\"include\":\"#identifiers\"},{\"include\":\"#parenExpression\"},{\"include\":\"#punctuationComma\"},{\"include\":\"#punctuationSemicolon\"},{\"include\":\"#punctuationAccessor\"}]},\"nullLiteral\":{\"match\":\"(?<![.$])\\\\bnull\\\\b(?!\\\\$)\",\"name\":\"constant.language.null.ts\"},\"numericConstantLiteral\":{\"patterns\":[{\"match\":\"(?<![.$])\\\\bNaN\\\\b(?!\\\\$)\",\"name\":\"constant.language.nan.ts\"},{\"match\":\"(?<![.$])\\\\bInfinity\\\\b(?!\\\\$)\",\"name\":\"constant.language.infinity.ts\"}]},\"numericLiteral\":{\"patterns\":[{\"match\":\"\\\\b(?<!\\\\$)0([xX])\\\\h+\\\\b(?!\\\\$)\",\"name\":\"constant.numeric.hex.ts\"},{\"match\":\"\\\\b(?<!\\\\$)0([bB])[01]+\\\\b(?!\\\\$)\",\"name\":\"constant.numeric.binary.ts\"},{\"match\":\"\\\\\\\\b(?<!\\\\$)0([oO])?[0-7]+\\\\b(?!\\\\$)\",\"name\":\"constant.numeric.octal.ts\"},{\"captures\":{\"0\":{\"name\":\"constant.numeric.decimal.ts\"},\"1\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"2\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"3\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"4\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"5\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"6\":{\"name\":\"meta.delimiter.decimal.period.ts\"}},\"match\":\"(?<!\\\\$)(?:\\\\b[0-9]+(\\\\.)[0-9]+[eE][+-]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)[eE][+-]?[0-9]+\\\\b|\\\\B(\\\\.)[0-9]+[eE][+-]?[0-9]+\\\\b|\\\\b[0-9]+[eE][+-]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)\\\\B|\\\\B(\\\\.)[0-9]+\\\\b|\\\\b[0-9]+\\\\b(?!\\\\.))(?!\\\\$)\"}]},\"parameterName\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"keyword.operator.rest.ts\"},\"4\":{\"name\":\"entity.name.function.ts\"},\"5\":{\"name\":\"keyword.operator.optional.ts\"}},\"match\":\"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![=:])([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([_$[:alnum:]]+\\\\s*(([:,?=])|(\\\\)\\\\s*=>))))))))\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"keyword.operator.rest.ts\"},\"4\":{\"name\":\"variable.parameter.ts\"},\"5\":{\"name\":\"keyword.operator.optional.ts\"}},\"match\":\"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![=:])([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(\\\\??)\"}]},\"parenExpression\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"#ngExpression\"},{\"include\":\"#punctuationComma\"}]},\"punctuationAccessor\":{\"match\":\"\\\\?\\\\.|!\\\\.|\\\\.\",\"name\":\"punctuation.accessor.ts\"},\"punctuationComma\":{\"match\":\",\",\"name\":\"punctuation.separator.comma.ts\"},\"punctuationSemicolon\":{\"match\":\";\",\"name\":\"punctuation.terminator.statement.ts\"},\"qstringDouble\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ts\"}},\"end\":\"(\\\")|([^\\\\\\\\\\\\n]$)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.ts\"},\"2\":{\"name\":\"invalid.illegal.newline.ts\"}},\"name\":\"string.quoted.double.ts\",\"patterns\":[{\"include\":\"#stringCharacterEscape\"}]},\"qstringSingle\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ts\"}},\"end\":\"(')|([^\\\\\\\\\\\\n]$)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.ts\"},\"2\":{\"name\":\"invalid.illegal.newline.ts\"}},\"name\":\"string.quoted.single.ts\",\"patterns\":[{\"include\":\"#stringCharacterEscape\"}]},\"string\":{\"patterns\":[{\"include\":\"#qstringSingle\"},{\"include\":\"#qstringDouble\"},{\"include\":\"#templateLiteral\"}]},\"stringCharacterEscape\":{\"match\":\"\\\\\\\\(x\\\\h{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\",\"name\":\"constant.character.escape.ts\"},\"templateLiteral\":{\"patterns\":[{\"include\":\"#templateLiteralCall\"},{\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*)?(`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.ts\"},\"2\":{\"name\":\"string.template.ts punctuation.definition.string.template.begin.ts\"}},\"contentName\":\"string.template.ts\",\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"string.template.ts punctuation.definition.string.template.end.ts\"}},\"patterns\":[{\"include\":\"#templateLiteralSubstitutionElement\"},{\"include\":\"#stringCharacterEscape\"}]}]},\"templateLiteralCall\":{\"patterns\":[{\"begin\":\"(?=(([_$[:alpha:]][_$[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([_$[:alpha:]][_$[:alnum:]]*)(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^`\\\\\\\\]|\\\\\\\\.)*`))(?=\\\\s*([<>,.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^<>(]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^`\\\\\\\\]|\\\\\\\\.)*`))(?=\\\\s*([<>,.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^<>(]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^`\\\\\\\\]|\\\\\\\\.)*`))(?=\\\\s*([<>,.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^<>(]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)\",\"end\":\"(?=`)\",\"patterns\":[{\"begin\":\"(?=(([_$[:alpha:]][_$[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([_$[:alpha:]][_$[:alnum:]]*))\",\"end\":\"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^`\\\\\\\\]|\\\\\\\\.)*`))(?=\\\\s*([<>,.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^<>(]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^`\\\\\\\\]|\\\\\\\\.)*`))(?=\\\\s*([<>,.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^<>(]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^`\\\\\\\\]|\\\\\\\\.)*`))(?=\\\\s*([<>,.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^<>(]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)\",\"patterns\":[{\"include\":\"#support-function-call-identifiers\"},{\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)\",\"name\":\"entity.name.function.tagged-template.ts\"}]},{\"include\":\"#typeArguments\"}]},{\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^`\\\\\\\\]|\\\\\\\\.)*`))(?=\\\\s*([<>,.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^<>(]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^`\\\\\\\\]|\\\\\\\\.)*`))(?=\\\\s*([<>,.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^<>(]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^`\\\\\\\\]|\\\\\\\\.)*`))(?=\\\\s*([<>,.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^<>(]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.ts\"}},\"end\":\"(?=`)\",\"patterns\":[{\"include\":\"#typeArguments\"}]}]},\"templateLiteralSubstitutionElement\":{\"begin\":\"\\\\$\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.ts\"}},\"contentName\":\"meta.embedded.line.ts\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.ts\"}},\"name\":\"meta.template.expression.ts\",\"patterns\":[{\"include\":\"#ngExpression\"}]},\"ternaryExpression\":{\"begin\":\"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.ternary.ts\"}},\"end\":\"\\\\s*(:)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.ternary.ts\"}},\"patterns\":[{\"include\":\"#ngExpression\"}]},\"thisLiteral\":{\"match\":\"(?<![.$])\\\\bthis\\\\b(?!\\\\$)\",\"name\":\"variable.language.this.ts\"},\"type\":{\"name\":\"meta.type.ts\",\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#numericLiteral\"},{\"include\":\"#typeBuiltinLiterals\"},{\"include\":\"#typeTuple\"},{\"include\":\"#typeObject\"},{\"include\":\"#typeOperators\"},{\"include\":\"#typeFnTypeParameters\"},{\"include\":\"#typeParenOrFunctionParameters\"},{\"include\":\"#typeName\"}]},\"typeAnnotation\":{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.type.annotation.ts\"}},\"end\":\"(?=$|[,);}\\\\]]|//|\\\")|(?==[^>])|(?<=[}>\\\\])_$[:alpha:]])\\\\s*(?=\\\\{)\",\"name\":\"meta.type.annotation.ts\",\"patterns\":[{\"include\":\"#type\"}]},\"typeArguments\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.ts\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.ts\"}},\"name\":\"meta.type.parameters.ts\",\"patterns\":[{\"include\":\"#typeArgumentsBody\"}]},\"typeArgumentsBody\":{\"patterns\":[{\"captures\":{\"0\":{\"name\":\"keyword.operator.type.ts\"}},\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(_)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"include\":\"#type\"},{\"include\":\"#punctuationComma\"}]},\"typeBuiltinLiterals\":{\"match\":\"(?<![.$])\\\\b(this|true|false|undefined|null)\\\\b(?!\\\\$)\",\"name\":\"support.type.builtin.ts\"},\"typeFnTypeParameters\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.new.ts\"}},\"match\":\"(?<![.$])\\\\b(new)\\\\b(?=\\\\s*<)\",\"name\":\"meta.type.constructor.ts\"},{\"begin\":\"(?<![.$])\\\\b(new)\\\\b\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.new.ts\"}},\"end\":\"(?<=\\\\))\",\"name\":\"meta.type.constructor.ts\",\"patterns\":[{\"include\":\"#functionParameters\"}]},{\"begin\":\"(?<=>)\\\\s*(?=\\\\()\",\"end\":\"(?<=\\\\))\",\"include\":\"#typeofOperator\",\"name\":\"meta.type.function.ts\",\"patterns\":[{\"include\":\"#functionParameters\"}]},{\"begin\":\"((?=\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([_$[:alnum:]]+\\\\s*(([:,?=])|(\\\\)\\\\s*=>))))))\",\"end\":\"(?<=\\\\))\",\"name\":\"meta.type.function.ts\",\"patterns\":[{\"include\":\"#functionParameters\"}]}]},\"typeName\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.type.module.ts\"},\"2\":{\"name\":\"punctuation.accessor.ts\"}},\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)\\\\s*([?!]?\\\\.)\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"name\":\"entity.name.type.ts\"}]},\"typeObject\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"name\":\"meta.object.type.ts\",\"patterns\":[{\"include\":\"#typeObjectMembers\"}]},\"typeObjectMembers\":{\"patterns\":[{\"include\":\"#typeAnnotation\"},{\"include\":\"#punctuationComma\"},{\"include\":\"#punctuationSemicolon\"}]},\"typeOperators\":{\"patterns\":[{\"include\":\"#typeofOperator\"},{\"match\":\"[\\\\&|]\",\"name\":\"keyword.operator.type.ts\"},{\"match\":\"(?<![.$])\\\\bkeyof\\\\b(?!\\\\$)\",\"name\":\"keyword.operator.expression.keyof.ts\"}]},\"typeParenOrFunctionParameters\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"name\":\"meta.type.paren.cover.ts\",\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#functionParameters\"}]},\"typeTuple\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.square.ts\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.ts\"}},\"name\":\"meta.type.tuple.ts\",\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#punctuationComma\"}]},\"typeofOperator\":{\"match\":\"(?<![.$])\\\\btypeof\\\\b(?!\\\\$)\",\"name\":\"keyword.operator.expression.typeof.ts\"},\"undefinedLiteral\":{\"match\":\"(?<![.$])\\\\bundefined\\\\b(?!\\\\$)\",\"name\":\"constant.language.undefined.ts\"},\"variableInitializer\":{\"begin\":\"(?<![=!])(=)(?!=)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.ts\"}},\"end\":\"(?=$|[,);}\\\\]])\",\"patterns\":[{\"include\":\"#ngExpression\"}]}},\"scopeName\":\"expression.ng\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"injectionSelector\":\"L:text.html -comment\",\"name\":\"angular-expression\",\"patterns\":[{\"include\":\"#ngExpression\"}],\"repository\":{\"arrayLiteral\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.square.ts\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.ts\"}},\"name\":\"meta.array.literal.ts\",\"patterns\":[{\"include\":\"#ngExpression\"},{\"include\":\"#punctuationComma\"}]},\"booleanLiteral\":{\"patterns\":[{\"match\":\"(?<![$.])\\\\btrue\\\\b(?!\\\\$)\",\"name\":\"constant.language.boolean.true.ts\"},{\"match\":\"(?<![$.])\\\\bfalse\\\\b(?!\\\\$)\",\"name\":\"constant.language.boolean.false.ts\"}]},\"expressionOperator\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.operator.logical.ts\"},\"2\":{\"name\":\"entity.name.function.pipe.ng\"}},\"match\":\"((?<!\\\\|)\\\\|(?!\\\\|))\\\\s?([-$0-9A-Z_a-z]*)\"},{\"match\":\"(?<![$.])\\\\b(let)\\\\b(?!\\\\$)\",\"name\":\"storage.type.ts\"},{\"match\":\"(?<![$.])\\\\b(await)\\\\b(?!\\\\$)\",\"name\":\"keyword.control.flow.ts\"},{\"match\":\"(?<![$.])\\\\bdelete\\\\b(?!\\\\$)\",\"name\":\"keyword.operator.expression.delete.ts\"},{\"match\":\"(?<![$.])\\\\bin\\\\b(?!\\\\$)\",\"name\":\"keyword.operator.expression.in.ts\"},{\"match\":\"(?<![$.])\\\\bof\\\\b(?!\\\\$)\",\"name\":\"keyword.operator.expression.of.ts\"},{\"match\":\"(?<![$.])\\\\bif\\\\b(?!\\\\$)\",\"name\":\"keyword.control.if.ts\"},{\"match\":\"(?<![$.])\\\\belse\\\\b(?!\\\\$)\",\"name\":\"keyword.control.else.ts\"},{\"match\":\"(?<![$.])\\\\bthen\\\\b(?!\\\\$)\",\"name\":\"keyword.control.then.ts\"},{\"match\":\"(?<![$.])\\\\binstanceof\\\\b(?!\\\\$)\",\"name\":\"keyword.operator.expression.instanceof.ts\"},{\"match\":\"(?<![$.])\\\\bnew\\\\b(?!\\\\$)\",\"name\":\"keyword.operator.new.ts\"},{\"match\":\"(?<![$.])\\\\bvoid\\\\b(?!\\\\$)\",\"name\":\"keyword.operator.expression.void.ts\"},{\"begin\":\"(?<![$.])\\\\bas\\\\b(?!\\\\$)\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.as.ts\"}},\"end\":\"(?=$|[]\\\"'),:;}])\",\"patterns\":[{\"include\":\"#type\"}]},{\"match\":\"(?:\\\\*|(?<!\\\\()/|[-%+])=\",\"name\":\"keyword.operator.assignment.compound.ts\"},{\"match\":\"(?:[\\\\&^]|<<|>>>??|\\\\|)=\",\"name\":\"keyword.operator.assignment.compound.bitwise.ts\"},{\"match\":\"<<|>>>?\",\"name\":\"keyword.operator.bitwise.shift.ts\"},{\"match\":\"[!=]==?\",\"name\":\"keyword.operator.comparison.ts\"},{\"match\":\"<=|>=|<>|[<>]\",\"name\":\"keyword.operator.relational.ts\"},{\"match\":\"!|&&|\\\\?\\\\?|\\\\|\\\\|\",\"name\":\"keyword.operator.logical.ts\"},{\"match\":\"[\\\\&^|~]\",\"name\":\"keyword.operator.bitwise.ts\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.ts\"},{\"match\":\"--\",\"name\":\"keyword.operator.decrement.ts\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.increment.ts\"},{\"match\":\"[-%*+/]\",\"name\":\"keyword.operator.arithmetic.ts\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.arithmetic.ts\"}},\"match\":\"(?<=[$_[:alnum:]])\\\\s*(/)(?![*/])\"},{\"include\":\"#typeofOperator\"}]},\"functionCall\":{\"begin\":\"(?=(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()\",\"end\":\"(?<=\\\\))(?!(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()\",\"patterns\":[{\"match\":\"\\\\?\",\"name\":\"punctuation.accessor.ts\"},{\"match\":\"\\\\.\",\"name\":\"punctuation.accessor.ts\"},{\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\",\"name\":\"entity.name.function.ts\"},{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.ts\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.ts\"}},\"name\":\"meta.type.parameters.ts\",\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#punctuationComma\"}]},{\"include\":\"#parenExpression\"}]},\"functionParameters\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.begin.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.ts\"}},\"name\":\"meta.parameters.ts\",\"patterns\":[{\"include\":\"#decorator\"},{\"include\":\"#parameterName\"},{\"include\":\"#variableInitializer\"},{\"match\":\",\",\"name\":\"punctuation.separator.parameter.ts\"}]},\"identifiers\":{\"patterns\":[{\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*\\\\.\\\\s*prototype\\\\b(?!\\\\$))\",\"name\":\"support.class.ts\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"constant.other.object.property.ts\"},\"3\":{\"name\":\"variable.other.object.property.ts\"}},\"match\":\"([!?]?\\\\.)\\\\s*(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"entity.name.function.ts\"}},\"match\":\"(?:([!?]?\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"constant.other.property.ts\"}},\"match\":\"([!?]?\\\\.)\\\\s*(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"variable.other.property.ts\"}},\"match\":\"([!?]?\\\\.)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\"},{\"captures\":{\"1\":{\"name\":\"constant.other.object.ts\"},\"2\":{\"name\":\"variable.other.object.ts\"}},\"match\":\"(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)\"},{\"match\":\"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])\",\"name\":\"constant.character.other\"},{\"match\":\"[$_[:alpha:]][$_[:alnum:]]*\",\"name\":\"variable.other.readwrite.ts\"}]},\"literal\":{\"name\":\"literal.ts\",\"patterns\":[{\"include\":\"#numericLiteral\"},{\"include\":\"#booleanLiteral\"},{\"include\":\"#nullLiteral\"},{\"include\":\"#undefinedLiteral\"},{\"include\":\"#numericConstantLiteral\"},{\"include\":\"#arrayLiteral\"},{\"include\":\"#thisLiteral\"}]},\"ngExpression\":{\"name\":\"meta.expression.ng\",\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#literal\"},{\"include\":\"#ternaryExpression\"},{\"include\":\"#expressionOperator\"},{\"include\":\"#functionCall\"},{\"include\":\"#identifiers\"},{\"include\":\"#parenExpression\"},{\"include\":\"#punctuationComma\"},{\"include\":\"#punctuationSemicolon\"},{\"include\":\"#punctuationAccessor\"}]},\"nullLiteral\":{\"match\":\"(?<![$.])\\\\bnull\\\\b(?!\\\\$)\",\"name\":\"constant.language.null.ts\"},\"numericConstantLiteral\":{\"patterns\":[{\"match\":\"(?<![$.])\\\\bNaN\\\\b(?!\\\\$)\",\"name\":\"constant.language.nan.ts\"},{\"match\":\"(?<![$.])\\\\bInfinity\\\\b(?!\\\\$)\",\"name\":\"constant.language.infinity.ts\"}]},\"numericLiteral\":{\"patterns\":[{\"match\":\"\\\\b(?<!\\\\$)0([Xx])\\\\h+\\\\b(?!\\\\$)\",\"name\":\"constant.numeric.hex.ts\"},{\"match\":\"\\\\b(?<!\\\\$)0([Bb])[01]+\\\\b(?!\\\\$)\",\"name\":\"constant.numeric.binary.ts\"},{\"match\":\"\\\\\\\\b(?<!\\\\$)0([Oo])?[0-7]+\\\\b(?!\\\\$)\",\"name\":\"constant.numeric.octal.ts\"},{\"captures\":{\"0\":{\"name\":\"constant.numeric.decimal.ts\"},\"1\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"2\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"3\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"4\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"5\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"6\":{\"name\":\"meta.delimiter.decimal.period.ts\"}},\"match\":\"(?<!\\\\$)(?:\\\\b[0-9]+(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)[Ee][-+]?[0-9]+\\\\b|\\\\B(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)\\\\B|\\\\B(\\\\.)[0-9]+\\\\b|\\\\b[0-9]+\\\\b(?!\\\\.))(?!\\\\$)\"}]},\"parameterName\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"keyword.operator.rest.ts\"},\"4\":{\"name\":\"entity.name.function.ts\"},\"5\":{\"name\":\"keyword.operator.optional.ts\"}},\"match\":\"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))))\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"keyword.operator.rest.ts\"},\"4\":{\"name\":\"variable.parameter.ts\"},\"5\":{\"name\":\"keyword.operator.optional.ts\"}},\"match\":\"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)\"}]},\"parenExpression\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"#ngExpression\"},{\"include\":\"#punctuationComma\"}]},\"punctuationAccessor\":{\"match\":\"(?:\\\\?|!?)\\\\.\",\"name\":\"punctuation.accessor.ts\"},\"punctuationComma\":{\"match\":\",\",\"name\":\"punctuation.separator.comma.ts\"},\"punctuationSemicolon\":{\"match\":\";\",\"name\":\"punctuation.terminator.statement.ts\"},\"qstringDouble\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ts\"}},\"end\":\"(\\\")|([^\\\\n\\\\\\\\])$\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.ts\"},\"2\":{\"name\":\"invalid.illegal.newline.ts\"}},\"name\":\"string.quoted.double.ts\",\"patterns\":[{\"include\":\"#stringCharacterEscape\"}]},\"qstringSingle\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ts\"}},\"end\":\"(')|([^\\\\n\\\\\\\\])$\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.ts\"},\"2\":{\"name\":\"invalid.illegal.newline.ts\"}},\"name\":\"string.quoted.single.ts\",\"patterns\":[{\"include\":\"#stringCharacterEscape\"}]},\"string\":{\"patterns\":[{\"include\":\"#qstringSingle\"},{\"include\":\"#qstringDouble\"},{\"include\":\"#templateLiteral\"}]},\"stringCharacterEscape\":{\"match\":\"\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\",\"name\":\"constant.character.escape.ts\"},\"templateLiteral\":{\"patterns\":[{\"include\":\"#templateLiteralCall\"},{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.ts\"},\"2\":{\"name\":\"string.template.ts punctuation.definition.string.template.begin.ts\"}},\"contentName\":\"string.template.ts\",\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"string.template.ts punctuation.definition.string.template.end.ts\"}},\"patterns\":[{\"include\":\"#templateLiteralSubstitutionElement\"},{\"include\":\"#stringCharacterEscape\"}]}]},\"templateLiteralCall\":{\"patterns\":[{\"begin\":\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)\",\"end\":\"(?=`)\",\"patterns\":[{\"begin\":\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))\",\"end\":\"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)\",\"patterns\":[{\"include\":\"#support-function-call-identifiers\"},{\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\",\"name\":\"entity.name.function.tagged-template.ts\"}]},{\"include\":\"#typeArguments\"}]},{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.ts\"}},\"end\":\"(?=`)\",\"patterns\":[{\"include\":\"#typeArguments\"}]}]},\"templateLiteralSubstitutionElement\":{\"begin\":\"\\\\$\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.ts\"}},\"contentName\":\"meta.embedded.line.ts\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.ts\"}},\"name\":\"meta.template.expression.ts\",\"patterns\":[{\"include\":\"#ngExpression\"}]},\"ternaryExpression\":{\"begin\":\"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.ternary.ts\"}},\"end\":\"\\\\s*(:)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.ternary.ts\"}},\"patterns\":[{\"include\":\"#ngExpression\"}]},\"thisLiteral\":{\"match\":\"(?<![$.])\\\\bthis\\\\b(?!\\\\$)\",\"name\":\"variable.language.this.ts\"},\"type\":{\"name\":\"meta.type.ts\",\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#numericLiteral\"},{\"include\":\"#typeBuiltinLiterals\"},{\"include\":\"#typeTuple\"},{\"include\":\"#typeObject\"},{\"include\":\"#typeOperators\"},{\"include\":\"#typeFnTypeParameters\"},{\"include\":\"#typeParenOrFunctionParameters\"},{\"include\":\"#typeName\"}]},\"typeAnnotation\":{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.type.annotation.ts\"}},\"end\":\"(?=$|[]),;}]|//|\\\")|(?==[^>])|(?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)\",\"name\":\"meta.type.annotation.ts\",\"patterns\":[{\"include\":\"#type\"}]},\"typeArguments\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.ts\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.ts\"}},\"name\":\"meta.type.parameters.ts\",\"patterns\":[{\"include\":\"#typeArgumentsBody\"}]},\"typeArgumentsBody\":{\"patterns\":[{\"captures\":{\"0\":{\"name\":\"keyword.operator.type.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"include\":\"#type\"},{\"include\":\"#punctuationComma\"}]},\"typeBuiltinLiterals\":{\"match\":\"(?<![$.])\\\\b(this|true|false|undefined|null)\\\\b(?!\\\\$)\",\"name\":\"support.type.builtin.ts\"},\"typeFnTypeParameters\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.new.ts\"}},\"match\":\"(?<![$.])\\\\b(new)\\\\b(?=\\\\s*<)\",\"name\":\"meta.type.constructor.ts\"},{\"begin\":\"(?<![$.])\\\\b(new)\\\\b\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.new.ts\"}},\"end\":\"(?<=\\\\))\",\"name\":\"meta.type.constructor.ts\",\"patterns\":[{\"include\":\"#functionParameters\"}]},{\"begin\":\"(?<=>)\\\\s*(?=\\\\()\",\"end\":\"(?<=\\\\))\",\"include\":\"#typeofOperator\",\"name\":\"meta.type.function.ts\",\"patterns\":[{\"include\":\"#functionParameters\"}]},{\"begin\":\"((?=\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))\",\"end\":\"(?<=\\\\))\",\"name\":\"meta.type.function.ts\",\"patterns\":[{\"include\":\"#functionParameters\"}]}]},\"typeName\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.type.module.ts\"},\"2\":{\"name\":\"punctuation.accessor.ts\"}},\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*([!?]?\\\\.)\"},{\"match\":\"[$_[:alpha:]][$_[:alnum:]]*\",\"name\":\"entity.name.type.ts\"}]},\"typeObject\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"name\":\"meta.object.type.ts\",\"patterns\":[{\"include\":\"#typeObjectMembers\"}]},\"typeObjectMembers\":{\"patterns\":[{\"include\":\"#typeAnnotation\"},{\"include\":\"#punctuationComma\"},{\"include\":\"#punctuationSemicolon\"}]},\"typeOperators\":{\"patterns\":[{\"include\":\"#typeofOperator\"},{\"match\":\"[\\\\&|]\",\"name\":\"keyword.operator.type.ts\"},{\"match\":\"(?<![$.])\\\\bkeyof\\\\b(?!\\\\$)\",\"name\":\"keyword.operator.expression.keyof.ts\"}]},\"typeParenOrFunctionParameters\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"name\":\"meta.type.paren.cover.ts\",\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#functionParameters\"}]},\"typeTuple\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.square.ts\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.ts\"}},\"name\":\"meta.type.tuple.ts\",\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#punctuationComma\"}]},\"typeofOperator\":{\"match\":\"(?<![$.])\\\\btypeof\\\\b(?!\\\\$)\",\"name\":\"keyword.operator.expression.typeof.ts\"},\"undefinedLiteral\":{\"match\":\"(?<![$.])\\\\bundefined\\\\b(?!\\\\$)\",\"name\":\"constant.language.undefined.ts\"},\"variableInitializer\":{\"begin\":\"(?<![!=])(=)(?!=)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.ts\"}},\"end\":\"(?=$|[]),;}])\",\"patterns\":[{\"include\":\"#ngExpression\"}]}},\"scopeName\":\"expression.ng\"}"))
2
2
 
3
3
  export default [
4
4
  lang
@@ -4,7 +4,7 @@ import angular_let_declaration from './angular-let-declaration.mjs'
4
4
  import angular_template from './angular-template.mjs'
5
5
  import angular_template_blocks from './angular-template-blocks.mjs'
6
6
 
7
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Angular HTML\",\"injections\":{\"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)\":{\"patterns\":[{\"match\":\"<\",\"name\":\"invalid.illegal.bad-angle-bracket.html\"}]}},\"name\":\"angular-html\",\"patterns\":[{\"include\":\"text.html.basic#core-minus-invalid\"},{\"begin\":\"(</?)(\\\\w[^\\\\s>]*)(?<!/)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.html\"},\"2\":{\"name\":\"entity.name.tag.html\"}},\"end\":\"((?: ?/)?>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.end.html\"}},\"name\":\"meta.tag.other.unrecognized.html.derivative\",\"patterns\":[{\"include\":\"text.html.basic#attribute\"}]}],\"scopeName\":\"text.html.derivative.ng\",\"embeddedLangs\":[\"html\",\"angular-expression\",\"angular-let-declaration\",\"angular-template\",\"angular-template-blocks\"]}"))
7
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Angular HTML\",\"injections\":{\"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)\":{\"patterns\":[{\"match\":\"<\",\"name\":\"invalid.illegal.bad-angle-bracket.html\"}]}},\"name\":\"angular-html\",\"patterns\":[{\"include\":\"text.html.basic#core-minus-invalid\"},{\"begin\":\"(</?)(\\\\w[^>\\\\s]*)(?<!/)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.html\"},\"2\":{\"name\":\"entity.name.tag.html\"}},\"end\":\"((?: ?/)?>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.end.html\"}},\"name\":\"meta.tag.other.unrecognized.html.derivative\",\"patterns\":[{\"include\":\"text.html.basic#attribute\"}]}],\"scopeName\":\"text.html.derivative.ng\",\"embeddedLangs\":[\"html\",\"angular-expression\",\"angular-let-declaration\",\"angular-template\",\"angular-template-blocks\"]}"))
8
8
 
9
9
  export default [
10
10
  ...html,
@@ -1,6 +1,6 @@
1
1
  import scss from './scss.mjs'
2
2
 
3
- const lang = Object.freeze(JSON.parse("{\"injectTo\":[\"source.ts.ng\"],\"injectionSelector\":\"L:source.ts#meta.decorator.ts -comment\",\"name\":\"angular-inline-style\",\"patterns\":[{\"include\":\"#inlineStyles\"}],\"repository\":{\"inlineStyles\":{\"begin\":\"(styles)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.object-literal.key.ts\"},\"2\":{\"name\":\"meta.object-literal.key.ts punctuation.separator.key-value.ts\"}},\"end\":\"(?=[,}])\",\"patterns\":[{\"include\":\"#tsParenExpression\"},{\"include\":\"#tsBracketExpression\"},{\"include\":\"#style\"}]},\"style\":{\"begin\":\"\\\\s*([`|'\\\"])\",\"beginCaptures\":{\"1\":{\"name\":\"string\"}},\"contentName\":\"source.css.scss\",\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"string\"}},\"patterns\":[{\"include\":\"source.css.scss\"}]},\"tsBracketExpression\":{\"begin\":\"\\\\G\\\\s*(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.array.literal.ts meta.brace.square.ts\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"meta.array.literal.ts meta.brace.square.ts\"}},\"patterns\":[{\"include\":\"#style\"}]},\"tsParenExpression\":{\"begin\":\"\\\\G\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"$self\"},{\"include\":\"#tsBracketExpression\"},{\"include\":\"#style\"}]}},\"scopeName\":\"inline-styles.ng\",\"embeddedLangs\":[\"scss\"]}"))
3
+ const lang = Object.freeze(JSON.parse("{\"injectTo\":[\"source.ts.ng\"],\"injectionSelector\":\"L:source.ts#meta.decorator.ts -comment\",\"name\":\"angular-inline-style\",\"patterns\":[{\"include\":\"#inlineStyles\"}],\"repository\":{\"inlineStyles\":{\"begin\":\"(styles)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.object-literal.key.ts\"},\"2\":{\"name\":\"meta.object-literal.key.ts punctuation.separator.key-value.ts\"}},\"end\":\"(?=[,}])\",\"patterns\":[{\"include\":\"#tsParenExpression\"},{\"include\":\"#tsBracketExpression\"},{\"include\":\"#style\"}]},\"style\":{\"begin\":\"\\\\s*([\\\"'`|])\",\"beginCaptures\":{\"1\":{\"name\":\"string\"}},\"contentName\":\"source.css.scss\",\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"string\"}},\"patterns\":[{\"include\":\"source.css.scss\"}]},\"tsBracketExpression\":{\"begin\":\"\\\\G\\\\s*(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.array.literal.ts meta.brace.square.ts\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"meta.array.literal.ts meta.brace.square.ts\"}},\"patterns\":[{\"include\":\"#style\"}]},\"tsParenExpression\":{\"begin\":\"\\\\G\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"$self\"},{\"include\":\"#tsBracketExpression\"},{\"include\":\"#style\"}]}},\"scopeName\":\"inline-styles.ng\",\"embeddedLangs\":[\"scss\"]}"))
4
4
 
5
5
  export default [
6
6
  ...scss,