github-linguist 7.28.0 → 7.29.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/etc.json +1 -1
  3. data/grammars/inline.edgeql.json +1 -1
  4. data/grammars/inline.graphql.json +1 -1
  5. data/grammars/inline.graphql.markdown.codeblock.json +1 -0
  6. data/grammars/inline.graphql.rb.json +1 -0
  7. data/grammars/inline.hbs.json +1 -1
  8. data/grammars/markdown.commonlisp.codeblock.json +1 -0
  9. data/grammars/markdown.glimmer.codeblock.json +1 -0
  10. data/grammars/markdown.move.codeblock.json +1 -1
  11. data/grammars/source.8xp.json +1 -0
  12. data/grammars/source.abl.json +1 -1
  13. data/grammars/source.amxxpawn.json +1 -0
  14. data/grammars/source.astro.json +1 -1
  15. data/grammars/source.bb.json +1 -0
  16. data/grammars/source.bh.json +1 -0
  17. data/grammars/source.brs.json +1 -1
  18. data/grammars/source.cobol.json +1 -1
  19. data/grammars/source.commonlisp.json +1 -0
  20. data/grammars/source.cs.json +1 -1
  21. data/grammars/source.csound.json +1 -1
  22. data/grammars/source.dart.json +1 -1
  23. data/grammars/source.did.json +1 -1
  24. data/grammars/source.elvish-transcript.json +1 -1
  25. data/grammars/source.fsharp.json +1 -1
  26. data/grammars/source.gdscript.json +1 -1
  27. data/grammars/source.gjs.json +1 -1
  28. data/grammars/source.gts.json +1 -1
  29. data/grammars/source.hcl.json +1 -1
  30. data/grammars/source.hcl.terraform.json +1 -1
  31. data/grammars/source.ice.json +1 -1
  32. data/grammars/source.julia.json +1 -1
  33. data/grammars/source.lean4.json +1 -1
  34. data/grammars/source.lua.json +1 -1
  35. data/grammars/source.matlab.json +1 -1
  36. data/grammars/source.mdx.json +1 -1
  37. data/grammars/source.mojo.json +1 -0
  38. data/grammars/source.nasal.json +1 -1
  39. data/grammars/source.nushell.json +1 -1
  40. data/grammars/source.p4.json +1 -1
  41. data/grammars/source.pip-requirements.json +1 -0
  42. data/grammars/source.praat.json +1 -1
  43. data/grammars/source.rascal.json +1 -1
  44. data/grammars/source.rescript.json +1 -1
  45. data/grammars/source.roc.json +1 -0
  46. data/grammars/source.rust.json +1 -1
  47. data/grammars/source.scala.json +1 -1
  48. data/grammars/source.slice.json +1 -1
  49. data/grammars/source.slint.json +1 -0
  50. data/grammars/source.sourcepawn.json +1 -1
  51. data/grammars/source.swift.json +1 -1
  52. data/grammars/source.toit.json +1 -1
  53. data/grammars/source.ts.json +1 -1
  54. data/grammars/source.tsx.json +1 -1
  55. data/grammars/source.vba.json +1 -1
  56. data/grammars/sp-jsdoc.injection.json +1 -0
  57. data/grammars/text.html.edge.json +1 -0
  58. data/grammars/text.html.ember-handlebars.json +1 -1
  59. data/grammars/text.md.json +1 -1
  60. data/grammars/text.srt.json +1 -1
  61. data/grammars/text.valve-cfg.json +1 -0
  62. data/grammars/text.valve-kv.json +1 -0
  63. data/grammars/version +1 -1
  64. data/lib/linguist/VERSION +1 -1
  65. data/lib/linguist/generated.rb +23 -1
  66. data/lib/linguist/heuristics.yml +17 -2
  67. data/lib/linguist/languages.json +1 -1
  68. data/lib/linguist/languages.yml +90 -8
  69. data/lib/linguist/samples.json +1 -1
  70. metadata +20 -4
  71. data/grammars/markdown.graphql.codeblock.json +0 -1
@@ -1 +1 @@
1
- {"scopeName":"source.gjs","patterns":[{"include":"source.js"}]}
1
+ {"name":"Glimmer JS","scopeName":"source.gjs","patterns":[{"include":"source.js"},{"include":"#main"}],"repository":{"as-keyword":{"name":"keyword.control","match":"\\s\\b(as)\\b(?=\\s\\|)"},"as-params":{"name":"keyword.block-params.ember-handlebars","begin":"(?\u003c!\\|)(\\|)","end":"(\\|)(?!\\|)","patterns":[{"include":"#variable"}],"beginCaptures":{"1":{"name":"constant.other.symbol.begin.ember-handlebars"}},"endCaptures":{"1":{"name":"constant.other.symbol.end.ember-handlebars"}}},"attention":{"name":"storage.type.class.${1:/downcase}","match":"@?(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|TEMP)\\b"},"boolean":{"match":"true|false|undefined|null","captures":{"0":{"name":"string.regexp"},"1":{"name":"string.regexp"},"2":{"name":"string.regexp"}}},"component-tag":{"name":"meta.tag.any.ember-handlebars","begin":"(\u003c\\/?)(@|this.)?([a-zA-Z0-9-_\\$:\\.]+)\\b","end":"(\\/?)(\u003e)","patterns":[{"include":"#tag-like-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"support.function","patterns":[{"name":"variable.language","match":"(@|this)"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]},"3":{"name":"entity.name.type","patterns":[{"include":"#glimmer-component-path"},{"name":"markup.bold","match":"(@|:|\\$)"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"}}},"digit":{"match":"\\d*(\\.)?\\d+","captures":{"0":{"name":"constant.numeric"},"1":{"name":"constant.numeric"},"2":{"name":"constant.numeric"}}},"entities":{"patterns":[{"name":"constant.character.entity.html.ember-handlebars","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.html.ember-handlebars"},"3":{"name":"punctuation.definition.entity.html.ember-handlebars"}}},{"name":"invalid.illegal.bad-ampersand.html.ember-handlebars","match":"\u0026"}]},"glimmer-argument":{"match":"\\s(@[a-zA-Z0-9:_.-]+)(=)?","captures":{"1":{"name":"entity.other.attribute-name.ember-handlebars.argument","patterns":[{"name":"markup.italic","match":"(@)"}]},"2":{"name":"punctuation.separator.key-value.html.ember-handlebars"}}},"glimmer-as-stuff":{"patterns":[{"include":"#as-keyword"},{"include":"#as-params"}]},"glimmer-block":{"name":"entity.expression.ember-handlebars","begin":"({{~?)(#|/)(([@\\$a-zA-Z0-9_/.-]+))","end":"(~?}})","patterns":[{"include":"#glimmer-as-stuff"},{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"},"3":{"name":"keyword.control","patterns":[{"include":"#glimmer-component-path"},{"name":"punctuation.definition.tag","match":"(\\/)+"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"glimmer-bools":{"name":"entity.expression.ember-handlebars","match":"({{~?)(true|false|null|undefined|\\d*(\\.)?\\d+)(~?}})","captures":{"0":{"name":"keyword.operator"},"1":{"name":"keyword.operator"},"2":{"name":"string.regexp"},"3":{"name":"string.regexp"},"4":{"name":"keyword.operator"}}},"glimmer-comment-block":{"name":"comment.block.glimmer","begin":"{{!--","end":"--}}","patterns":[{"include":"#script"},{"include":"#attention"}],"captures":{"0":{"name":"punctuation.definition.block.comment.glimmer"}}},"glimmer-comment-inline":{"name":"comment.inline.glimmer","begin":"{{!","end":"}}","patterns":[{"include":"#script"},{"include":"#attention"}],"captures":{"0":{"name":"punctuation.definition.block.comment.glimmer"}}},"glimmer-component-path":{"match":"(::|_|\\$|\\.)","captures":{"1":{"name":"punctuation.definition.tag"}}},"glimmer-control-expression":{"name":"entity.expression.ember-handlebars","begin":"({{~?)(([-a-zA-Z_0-9/]+)\\s)","end":"(~?}})","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"keyword.control"}}},"glimmer-else-block":{"name":"entity.expression.ember-handlebars","match":"({{~?)(else\\s[a-z]+\\s|else)([()@a-zA-Z0-9\\.\\s\\b]+)?(~?}})","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"punctuation.definition.tag"},"2":{"name":"keyword.control"},"3":{"name":"keyword.control","patterns":[{"include":"#glimmer-subexp"},{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#boolean"},{"include":"#digit"},{"include":"#param"},{"include":"#glimmer-parameter-name"},{"include":"#glimmer-parameter-value"}]},"4":{"name":"punctuation.definition.tag"}}},"glimmer-expression":{"name":"entity.expression.ember-handlebars","begin":"({{~?)(([()\\s@a-zA-Z0-9_.-]+))","end":"(~?}})","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"support.function","patterns":[{"name":"string.regexp","match":"[(]+"},{"name":"string.regexp","match":"[)]+"},{"name":"punctuation.definition.tag","match":"(\\.)+"},{"include":"#glimmer-supexp-content"}]}}},"glimmer-expression-property":{"name":"entity.expression.ember-handlebars","begin":"({{~?)((@|this.)([a-zA-Z0-9_.-]+))","end":"(~?}})","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"support.function","patterns":[{"name":"variable.language","match":"(@|this)"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]},"4":{"name":"support.function","patterns":[{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"glimmer-parameter-name":{"match":"\\b([a-zA-Z0-9_-]+)(\\s?=)","captures":{"1":{"name":"variable.parameter.name.ember-handlebars"},"2":{"name":"punctuation.definition.expression.ember-handlebars"}}},"glimmer-parameter-value":{"match":"\\b([a-zA-Z0-9:_.-]+)\\b(?!=)","captures":{"1":{"name":"support.function","patterns":[{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"glimmer-special-block":{"name":"entity.expression.ember-handlebars","match":"({{~?)(yield|outlet)(~?}})","captures":{"0":{"name":"keyword.operator"},"1":{"name":"keyword.operator"},"2":{"name":"keyword.control"},"3":{"name":"keyword.operator"}}},"glimmer-subexp":{"name":"entity.subexpression.ember-handlebars","begin":"(\\()([@a-zA-Z0-9.-]+)","end":"(\\))","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.other"},"2":{"name":"keyword.control"}}},"glimmer-supexp-content":{"patterns":[{"include":"#glimmer-subexp"},{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#boolean"},{"include":"#digit"},{"include":"#param"},{"include":"#glimmer-parameter-name"},{"include":"#glimmer-parameter-value"}]},"glimmer-unescaped-expression":{"name":"entity.unescaped.expression.ember-handlebars","begin":"{{{","end":"}}}","patterns":[{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#glimmer-subexp"},{"include":"#param"}],"captures":{"0":{"name":"keyword.operator"}}},"html-attribute":{"match":"\\s([a-zA-Z0-9:_.-]+)(=)?","captures":{"1":{"name":"entity.other.attribute-name.ember-handlebars","patterns":[{"name":"markup.bold","match":"(\\.\\.\\.attributes)"}]},"2":{"name":"punctuation.separator.key-value.html.ember-handlebars"}}},"html-comment":{"name":"comment.block.html.ember-handlebars","begin":"\u003c!--","end":"--\\s*\u003e","patterns":[{"include":"#attention"},{"name":"invalid.illegal.bad-comments-or-CDATA.html.ember-handlebars","match":"--"}],"captures":{"0":{"name":"punctuation.definition.comment.html.ember-handlebars"}}},"html-tag":{"name":"meta.tag.any.ember-handlebars","begin":"(\u003c\\/?)([a-z0-9-]+)(?!\\.|:)\\b","end":"(\\/?)(\u003e)","patterns":[{"include":"#tag-like-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"entity.name.tag.html.ember-handlebars"}},"endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"}}},"main":{"patterns":[{"name":"meta.js.embeddedTemplateWithoutArgs","begin":"\\s*(\u003c)(template)\\s*(\u003e)","end":"(\u003c/)(template)(\u003e)","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"name":"meta.js.embeddedTemplateWithArgs","begin":"(\u003c)(template)","end":"(\u003c/)(template)(\u003e)","patterns":[{"begin":"(?\u003c=\\\u003ctemplate)","end":"(?=\\\u003e)","patterns":[{"include":"#tag-like-content"}]},{"contentName":"meta.html.embedded.block","begin":"(\u003e)","end":"(?=\u003c/template\u003e)","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.end.js"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"contentName":"meta.embedded.block.html","begin":"(?x)(\\b(?:\\w+\\.)*(?:hbs|html)\\s*)(`)","end":"(`)","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js"},"2":{"name":"punctuation.definition.string.template.begin.js"}},"endCaptures":{"0":{"name":"string.js"},"1":{"name":"punctuation.definition.string.template.end.js"}}},{"contentName":"meta.embedded.block.html","begin":"((createTemplate|hbs|html))(\\()","end":"(\\))","patterns":[{"begin":"((`|'|\"))","end":"((`|'|\"))","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}}}],"beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"endCaptures":{"1":{"name":"meta.brace.round.ts"}}},{"begin":"((precompileTemplate)\\s*)(\\()","end":"(\\))","patterns":[{"contentName":"meta.embedded.block.html","begin":"((`|'|\"))","end":"((`|'|\"))","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}}},{"include":"source.ts#object-literal"},{"include":"source.ts"}],"beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"endCaptures":{"1":{"name":"meta.brace.round.ts"}}}]},"param":{"match":"(@|this.)([a-zA-Z0-9_.-]+)","captures":{"0":{"name":"support.function","patterns":[{"name":"variable.language","match":"(@|this)"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]},"1":{"name":"support.function","patterns":[{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"script":{"begin":"(^[ \\t]+)?(?=\u003c(?i:script)\\b(?!-))","end":"(?!\\G)([ \\t]*$\\n?)?","patterns":[{"name":"meta.embedded.block.html","begin":"(\u003c)((?i:script))\\b","end":"(/)((?i:script))(\u003e)","patterns":[{"begin":"\\G","end":"(?=/)","patterns":[{"begin":"(\u003e)","end":"((\u003c))(?=/(?i:script))","patterns":[{"name":"source.js","begin":"\\G","end":"(?=\u003c/(?i:script))","patterns":[{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.js","begin":"//","end":"(?=\u003c/script)|\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.js"}}},{"name":"comment.block.js","begin":"/\\*","end":"\\*/|(?=\u003c/script)","captures":{"0":{"name":"punctuation.definition.comment.js"}}},{"include":"source.js"}]}],"beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.end.html"}},"endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.js-ignored-vscode"}}},{"begin":"(?ix:\n\t\t\t\t\t\t\t\t\t\t\t\t(?=\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype\\s*=\\s*\n\t\t\t\t\t\t\t\t\t\t\t\t\t('|\"|)\n\t\t\t\t\t\t\t\t\t\t\t\t\ttext/\n\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tx-handlebars\n\t\t\t\t\t\t\t\t\t\t\t\t\t | (x-(handlebars-)?|ng-)?template\n\t\t\t\t\t\t\t\t\t\t\t\t\t | html\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t[\\s\"'\u003e]\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)","end":"((\u003c))(?=/(?i:script))","patterns":[{"name":"text.html.basic","begin":"(?!\\G)","end":"(?=\u003c/(?i:script))","patterns":[{"include":"text.html.basic"}]}],"endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"text.html.basic"}}},{"begin":"(?=(?i:type))","end":"(\u003c)(?=/(?i:script))","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"}}},{"include":"#string-double-quoted-html"},{"include":"#string-single-quoted-html"},{"include":"#glimmer-argument"},{"include":"#html-attribute"}]}],"beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}}},"string-double-quoted-handlebars":{"name":"string.quoted.double.ember-handlebars","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\\""}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"string-double-quoted-html":{"name":"string.quoted.double.html.ember-handlebars","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\\""},{"include":"#glimmer-bools"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"string-single-quoted-handlebars":{"name":"string.quoted.single.ember-handlebars","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\'"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"string-single-quoted-html":{"name":"string.quoted.single.html.ember-handlebars","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\'"},{"include":"#glimmer-bools"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"style":{"begin":"(^[ \\t]+)?(?=\u003c(?i:style)\\b(?!-))","end":"(?!\\G)([ \\t]*$\\n?)?","patterns":[{"name":"meta.embedded.block.html","begin":"(?i)(\u003c)(style)(?=\\s|/?\u003e)","end":"(?i)((\u003c)/)(style)\\s*(\u003e)","patterns":[{"name":"meta.tag.metadata.style.start.html","begin":"\\G","end":"(\u003e)","patterns":[{"include":"#glimmer-argument"},{"include":"#html-attribute"}],"captures":{"1":{"name":"punctuation.definition.tag.end.html"}}},{"name":"source.css","begin":"(?!\\G)","end":"(?=\u003c/(?i:style))","patterns":[{"include":"source.css"}]}],"beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"0":{"name":"meta.tag.metadata.style.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.css-ignored-vscode"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.end.html"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}}},"tag-like-content":{"patterns":[{"include":"#glimmer-bools"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#boolean"},{"include":"#digit"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#string-double-quoted-html"},{"include":"#string-single-quoted-html"},{"include":"#glimmer-as-stuff"},{"include":"#glimmer-argument"},{"include":"#html-attribute"}]},"variable":{"name":"support.function","match":"\\b([a-zA-Z0-9-_]+)\\b"}},"injections":{"L:source.gjs -comment -(string -meta.embedded)":{"patterns":[{"include":"#main"}]}}}
@@ -1 +1 @@
1
- {"scopeName":"source.gts","patterns":[{"include":"source.ts"}]}
1
+ {"name":"Glimmer TS","scopeName":"source.gts","patterns":[{"include":"source.ts"},{"include":"#main"}],"repository":{"as-keyword":{"name":"keyword.control","match":"\\s\\b(as)\\b(?=\\s\\|)"},"as-params":{"name":"keyword.block-params.ember-handlebars","begin":"(?\u003c!\\|)(\\|)","end":"(\\|)(?!\\|)","patterns":[{"include":"#variable"}],"beginCaptures":{"1":{"name":"constant.other.symbol.begin.ember-handlebars"}},"endCaptures":{"1":{"name":"constant.other.symbol.end.ember-handlebars"}}},"attention":{"name":"storage.type.class.${1:/downcase}","match":"@?(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|TEMP)\\b"},"boolean":{"match":"true|false|undefined|null","captures":{"0":{"name":"string.regexp"},"1":{"name":"string.regexp"},"2":{"name":"string.regexp"}}},"component-tag":{"name":"meta.tag.any.ember-handlebars","begin":"(\u003c\\/?)(@|this.)?([a-zA-Z0-9-_\\$:\\.]+)\\b","end":"(\\/?)(\u003e)","patterns":[{"include":"#tag-like-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"support.function","patterns":[{"name":"variable.language","match":"(@|this)"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]},"3":{"name":"entity.name.type","patterns":[{"include":"#glimmer-component-path"},{"name":"markup.bold","match":"(@|:|\\$)"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"}}},"digit":{"match":"\\d*(\\.)?\\d+","captures":{"0":{"name":"constant.numeric"},"1":{"name":"constant.numeric"},"2":{"name":"constant.numeric"}}},"entities":{"patterns":[{"name":"constant.character.entity.html.ember-handlebars","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.html.ember-handlebars"},"3":{"name":"punctuation.definition.entity.html.ember-handlebars"}}},{"name":"invalid.illegal.bad-ampersand.html.ember-handlebars","match":"\u0026"}]},"glimmer-argument":{"match":"\\s(@[a-zA-Z0-9:_.-]+)(=)?","captures":{"1":{"name":"entity.other.attribute-name.ember-handlebars.argument","patterns":[{"name":"markup.italic","match":"(@)"}]},"2":{"name":"punctuation.separator.key-value.html.ember-handlebars"}}},"glimmer-as-stuff":{"patterns":[{"include":"#as-keyword"},{"include":"#as-params"}]},"glimmer-block":{"name":"entity.expression.ember-handlebars","begin":"({{~?)(#|/)(([@\\$a-zA-Z0-9_/.-]+))","end":"(~?}})","patterns":[{"include":"#glimmer-as-stuff"},{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"},"3":{"name":"keyword.control","patterns":[{"include":"#glimmer-component-path"},{"name":"punctuation.definition.tag","match":"(\\/)+"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"glimmer-bools":{"name":"entity.expression.ember-handlebars","match":"({{~?)(true|false|null|undefined|\\d*(\\.)?\\d+)(~?}})","captures":{"0":{"name":"keyword.operator"},"1":{"name":"keyword.operator"},"2":{"name":"string.regexp"},"3":{"name":"string.regexp"},"4":{"name":"keyword.operator"}}},"glimmer-comment-block":{"name":"comment.block.glimmer","begin":"{{!--","end":"--}}","patterns":[{"include":"#script"},{"include":"#attention"}],"captures":{"0":{"name":"punctuation.definition.block.comment.glimmer"}}},"glimmer-comment-inline":{"name":"comment.inline.glimmer","begin":"{{!","end":"}}","patterns":[{"include":"#script"},{"include":"#attention"}],"captures":{"0":{"name":"punctuation.definition.block.comment.glimmer"}}},"glimmer-component-path":{"match":"(::|_|\\$|\\.)","captures":{"1":{"name":"punctuation.definition.tag"}}},"glimmer-control-expression":{"name":"entity.expression.ember-handlebars","begin":"({{~?)(([-a-zA-Z_0-9/]+)\\s)","end":"(~?}})","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"keyword.control"}}},"glimmer-else-block":{"name":"entity.expression.ember-handlebars","match":"({{~?)(else\\s[a-z]+\\s|else)([()@a-zA-Z0-9\\.\\s\\b]+)?(~?}})","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"punctuation.definition.tag"},"2":{"name":"keyword.control"},"3":{"name":"keyword.control","patterns":[{"include":"#glimmer-subexp"},{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#boolean"},{"include":"#digit"},{"include":"#param"},{"include":"#glimmer-parameter-name"},{"include":"#glimmer-parameter-value"}]},"4":{"name":"punctuation.definition.tag"}}},"glimmer-expression":{"name":"entity.expression.ember-handlebars","begin":"({{~?)(([()\\s@a-zA-Z0-9_.-]+))","end":"(~?}})","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"support.function","patterns":[{"name":"string.regexp","match":"[(]+"},{"name":"string.regexp","match":"[)]+"},{"name":"punctuation.definition.tag","match":"(\\.)+"},{"include":"#glimmer-supexp-content"}]}}},"glimmer-expression-property":{"name":"entity.expression.ember-handlebars","begin":"({{~?)((@|this.)([a-zA-Z0-9_.-]+))","end":"(~?}})","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"support.function","patterns":[{"name":"variable.language","match":"(@|this)"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]},"4":{"name":"support.function","patterns":[{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"glimmer-parameter-name":{"match":"\\b([a-zA-Z0-9_-]+)(\\s?=)","captures":{"1":{"name":"variable.parameter.name.ember-handlebars"},"2":{"name":"punctuation.definition.expression.ember-handlebars"}}},"glimmer-parameter-value":{"match":"\\b([a-zA-Z0-9:_.-]+)\\b(?!=)","captures":{"1":{"name":"support.function","patterns":[{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"glimmer-special-block":{"name":"entity.expression.ember-handlebars","match":"({{~?)(yield|outlet)(~?}})","captures":{"0":{"name":"keyword.operator"},"1":{"name":"keyword.operator"},"2":{"name":"keyword.control"},"3":{"name":"keyword.operator"}}},"glimmer-subexp":{"name":"entity.subexpression.ember-handlebars","begin":"(\\()([@a-zA-Z0-9.-]+)","end":"(\\))","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.other"},"2":{"name":"keyword.control"}}},"glimmer-supexp-content":{"patterns":[{"include":"#glimmer-subexp"},{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#boolean"},{"include":"#digit"},{"include":"#param"},{"include":"#glimmer-parameter-name"},{"include":"#glimmer-parameter-value"}]},"glimmer-unescaped-expression":{"name":"entity.unescaped.expression.ember-handlebars","begin":"{{{","end":"}}}","patterns":[{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#glimmer-subexp"},{"include":"#param"}],"captures":{"0":{"name":"keyword.operator"}}},"html-attribute":{"match":"\\s([a-zA-Z0-9:_.-]+)(=)?","captures":{"1":{"name":"entity.other.attribute-name.ember-handlebars","patterns":[{"name":"markup.bold","match":"(\\.\\.\\.attributes)"}]},"2":{"name":"punctuation.separator.key-value.html.ember-handlebars"}}},"html-comment":{"name":"comment.block.html.ember-handlebars","begin":"\u003c!--","end":"--\\s*\u003e","patterns":[{"include":"#attention"},{"name":"invalid.illegal.bad-comments-or-CDATA.html.ember-handlebars","match":"--"}],"captures":{"0":{"name":"punctuation.definition.comment.html.ember-handlebars"}}},"html-tag":{"name":"meta.tag.any.ember-handlebars","begin":"(\u003c\\/?)([a-z0-9-]+)(?!\\.|:)\\b","end":"(\\/?)(\u003e)","patterns":[{"include":"#tag-like-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"entity.name.tag.html.ember-handlebars"}},"endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"}}},"main":{"patterns":[{"name":"meta.js.embeddedTemplateWithoutArgs","begin":"\\s*(\u003c)(template)\\s*(\u003e)","end":"(\u003c/)(template)(\u003e)","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"name":"meta.js.embeddedTemplateWithArgs","begin":"(\u003c)(template)","end":"(\u003c/)(template)(\u003e)","patterns":[{"begin":"(?\u003c=\\\u003ctemplate)","end":"(?=\\\u003e)","patterns":[{"include":"#tag-like-content"}]},{"contentName":"meta.html.embedded.block","begin":"(\u003e)","end":"(?=\u003c/template\u003e)","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.end.js"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"contentName":"meta.embedded.block.html","begin":"(?x)(\\b(?:\\w+\\.)*(?:hbs|html)\\s*)(`)","end":"(`)","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js"},"2":{"name":"punctuation.definition.string.template.begin.js"}},"endCaptures":{"0":{"name":"string.js"},"1":{"name":"punctuation.definition.string.template.end.js"}}},{"contentName":"meta.embedded.block.html","begin":"((createTemplate|hbs|html))(\\()","end":"(\\))","patterns":[{"begin":"((`|'|\"))","end":"((`|'|\"))","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}}}],"beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"endCaptures":{"1":{"name":"meta.brace.round.ts"}}},{"begin":"((precompileTemplate)\\s*)(\\()","end":"(\\))","patterns":[{"contentName":"meta.embedded.block.html","begin":"((`|'|\"))","end":"((`|'|\"))","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}}},{"include":"source.ts#object-literal"},{"include":"source.ts"}],"beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"endCaptures":{"1":{"name":"meta.brace.round.ts"}}}]},"param":{"match":"(@|this.)([a-zA-Z0-9_.-]+)","captures":{"0":{"name":"support.function","patterns":[{"name":"variable.language","match":"(@|this)"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]},"1":{"name":"support.function","patterns":[{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"script":{"begin":"(^[ \\t]+)?(?=\u003c(?i:script)\\b(?!-))","end":"(?!\\G)([ \\t]*$\\n?)?","patterns":[{"name":"meta.embedded.block.html","begin":"(\u003c)((?i:script))\\b","end":"(/)((?i:script))(\u003e)","patterns":[{"begin":"\\G","end":"(?=/)","patterns":[{"begin":"(\u003e)","end":"((\u003c))(?=/(?i:script))","patterns":[{"name":"source.js","begin":"\\G","end":"(?=\u003c/(?i:script))","patterns":[{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.js","begin":"//","end":"(?=\u003c/script)|\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.js"}}},{"name":"comment.block.js","begin":"/\\*","end":"\\*/|(?=\u003c/script)","captures":{"0":{"name":"punctuation.definition.comment.js"}}},{"include":"source.js"}]}],"beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.end.html"}},"endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.js-ignored-vscode"}}},{"begin":"(?ix:\n\t\t\t\t\t\t\t\t\t\t\t\t(?=\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype\\s*=\\s*\n\t\t\t\t\t\t\t\t\t\t\t\t\t('|\"|)\n\t\t\t\t\t\t\t\t\t\t\t\t\ttext/\n\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tx-handlebars\n\t\t\t\t\t\t\t\t\t\t\t\t\t | (x-(handlebars-)?|ng-)?template\n\t\t\t\t\t\t\t\t\t\t\t\t\t | html\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t[\\s\"'\u003e]\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)","end":"((\u003c))(?=/(?i:script))","patterns":[{"name":"text.html.basic","begin":"(?!\\G)","end":"(?=\u003c/(?i:script))","patterns":[{"include":"text.html.basic"}]}],"endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"text.html.basic"}}},{"begin":"(?=(?i:type))","end":"(\u003c)(?=/(?i:script))","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"}}},{"include":"#string-double-quoted-html"},{"include":"#string-single-quoted-html"},{"include":"#glimmer-argument"},{"include":"#html-attribute"}]}],"beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}}},"string-double-quoted-handlebars":{"name":"string.quoted.double.ember-handlebars","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\\""}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"string-double-quoted-html":{"name":"string.quoted.double.html.ember-handlebars","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\\""},{"include":"#glimmer-bools"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"string-single-quoted-handlebars":{"name":"string.quoted.single.ember-handlebars","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\'"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"string-single-quoted-html":{"name":"string.quoted.single.html.ember-handlebars","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\'"},{"include":"#glimmer-bools"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"style":{"begin":"(^[ \\t]+)?(?=\u003c(?i:style)\\b(?!-))","end":"(?!\\G)([ \\t]*$\\n?)?","patterns":[{"name":"meta.embedded.block.html","begin":"(?i)(\u003c)(style)(?=\\s|/?\u003e)","end":"(?i)((\u003c)/)(style)\\s*(\u003e)","patterns":[{"name":"meta.tag.metadata.style.start.html","begin":"\\G","end":"(\u003e)","patterns":[{"include":"#glimmer-argument"},{"include":"#html-attribute"}],"captures":{"1":{"name":"punctuation.definition.tag.end.html"}}},{"name":"source.css","begin":"(?!\\G)","end":"(?=\u003c/(?i:style))","patterns":[{"include":"source.css"}]}],"beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"0":{"name":"meta.tag.metadata.style.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.css-ignored-vscode"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.end.html"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}}},"tag-like-content":{"patterns":[{"include":"#glimmer-bools"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#boolean"},{"include":"#digit"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#string-double-quoted-html"},{"include":"#string-single-quoted-html"},{"include":"#glimmer-as-stuff"},{"include":"#glimmer-argument"},{"include":"#html-attribute"}]},"variable":{"name":"support.function","match":"\\b([a-zA-Z0-9-_]+)\\b"}},"injections":{"L:source.gts -comment -(string -meta.embedded)":{"patterns":[{"include":"#main"}]}}}
@@ -1 +1 @@
1
- {"name":"HashiCorp HCL","scopeName":"source.hcl","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"repository":{"attribute_access":{"begin":"\\.(?!\\*)","end":"[[:alpha:]][\\w-]*|\\d*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"patterns":[{"name":"variable.other.member.hcl","match":"(?!null|false|true)[[:alpha:]][\\w-]*"},{"name":"constant.numeric.integer.hcl","match":"\\d+"}]}}},"attribute_definition":{"name":"variable.declaration.hcl","match":"(\\()?(\\b(?!null\\b|false\\b|true\\b)[[:alpha:]][[:alnum:]_-]*)(\\))?\\s*(\\=(?!\\=|\\\u003e))\\s*","captures":{"1":{"name":"punctuation.section.parens.begin.hcl"},"2":{"name":"variable.other.readwrite.hcl"},"3":{"name":"punctuation.section.parens.end.hcl"},"4":{"name":"keyword.operator.assignment.hcl"}}},"attribute_splat":{"begin":"\\.","end":"\\*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"name":"keyword.operator.splat.hcl"}}},"block":{"name":"meta.block.hcl","begin":"([\\w][\\-\\w]*)([^{\\r\\n]*)(\\{)","end":"\\}","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#expressions"},{"include":"#block"}],"beginCaptures":{"1":{"patterns":[{"name":"entity.name.type.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"}]},"2":{"patterns":[{"name":"variable.other.enummember.hcl","match":"\\\"[^\\\"\\r\\n]*\\\""},{"name":"variable.other.enummember.hcl","match":"[[:alpha:]][[:alnum:]_-]*"}]},"3":{"name":"punctuation.section.block.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.hcl"}}},"block_inline_comments":{"name":"comment.block.hcl","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"brackets":{"begin":"\\[","end":"\\]","patterns":[{"name":"keyword.operator.splat.hcl","match":"\\*"},{"include":"#comma"},{"include":"#comments"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}},"char_escapes":{"name":"constant.character.escape.hcl","match":"\\\\[nrt\"\\\\]|\\\\u([[:xdigit:]]{8}|[[:xdigit:]]{4})"},"comma":{"name":"punctuation.separator.hcl","match":"\\,"},"comments":{"patterns":[{"include":"#hash_line_comments"},{"include":"#double_slash_line_comments"},{"include":"#block_inline_comments"}]},"double_slash_line_comments":{"name":"comment.line.double-slash.hcl","begin":"//","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"expressions":{"patterns":[{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#brackets"},{"include":"#objects"},{"include":"#attribute_access"},{"include":"#attribute_splat"},{"include":"#functions"},{"include":"#parens"}]},"for_expression_body":{"patterns":[{"name":"keyword.operator.word.hcl","match":"\\bin\\b"},{"name":"keyword.control.conditional.hcl","match":"\\bif\\b"},{"name":"keyword.operator.hcl","match":"\\:"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"functions":{"name":"meta.function-call.hcl","begin":"(\\w+)(\\()","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#comma"}],"beginCaptures":{"1":{"patterns":[{"name":"support.function.builtin.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"}]},"2":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"hash_line_comments":{"name":"comment.line.number-sign.hcl","begin":"#","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"hcl_type_keywords":{"name":"storage.type.hcl","match":"\\b(any|string|number|bool|list|set|map|tuple|object)\\b"},"heredoc":{"name":"string.unquoted.heredoc.hcl","begin":"(\\\u003c\\\u003c\\-?)\\s*(\\w+)\\s*$","end":"^\\s*\\2\\s*$","patterns":[{"include":"#string_interpolation"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.hcl"},"2":{"name":"keyword.control.heredoc.hcl"}},"endCaptures":{"0":{"name":"keyword.control.heredoc.hcl"}}},"inline_for_expression":{"begin":"(for)\\b","end":"\\n","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"keyword.control.hcl"}}},"inline_if_expression":{"begin":"(if)\\b","end":"\\n","patterns":[{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.hcl"}}},"language_constants":{"name":"constant.language.hcl","match":"\\b(true|false|null)\\b"},"literal_values":{"patterns":[{"include":"#numeric_literals"},{"include":"#language_constants"},{"include":"#string_literals"},{"include":"#heredoc"},{"include":"#hcl_type_keywords"}]},"local_identifiers":{"name":"variable.other.readwrite.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"},"numeric_literals":{"patterns":[{"name":"constant.numeric.float.hcl","match":"\\b\\d+([Ee][+-]?)\\d+\\b","captures":{"1":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.float.hcl","match":"\\b\\d+(\\.)\\d+(?:([Ee][+-]?)\\d+)?\\b","captures":{"1":{"name":"punctuation.separator.decimal.hcl"},"2":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.integer.hcl","match":"\\b\\d+\\b"}]},"object_for_expression":{"begin":"(\\{)\\s?(for)\\b","end":"\\}","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.braces.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"object_key_values":{"patterns":[{"include":"#comments"},{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#heredoc"},{"include":"#functions"}]},"objects":{"name":"meta.braces.hcl","begin":"\\{","end":"\\}","patterns":[{"include":"#comments"},{"include":"#objects"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"match":"\\b((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)\\s*(\\=\\\u003e?)\\s*","captures":{"1":{"name":"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{"name":"keyword.operator.assignment.hcl","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"}]}}},{"match":"\\b((\").*(\"))\\s*(\\=)\\s*","captures":{"1":{"name":"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{"name":"punctuation.definition.string.begin.hcl"},"3":{"name":"punctuation.definition.string.end.hcl"},"4":{"name":"keyword.operator.hcl"}}},{"name":"meta.mapping.key.hcl","begin":"^\\s*\\(","end":"(\\))\\s*(=|:)\\s*","patterns":[{"include":"#attribute_access"},{"include":"#attribute_splat"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.hcl"},"2":{"name":"keyword.operator.hcl"}}},{"include":"#object_key_values"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"operators":{"patterns":[{"name":"keyword.operator.hcl","match":"\\\u003e\\="},{"name":"keyword.operator.hcl","match":"\\\u003c\\="},{"name":"keyword.operator.hcl","match":"\\=\\="},{"name":"keyword.operator.hcl","match":"\\!\\="},{"name":"keyword.operator.arithmetic.hcl","match":"\\+"},{"name":"keyword.operator.arithmetic.hcl","match":"\\-"},{"name":"keyword.operator.arithmetic.hcl","match":"\\*"},{"name":"keyword.operator.arithmetic.hcl","match":"\\/"},{"name":"keyword.operator.arithmetic.hcl","match":"\\%"},{"name":"keyword.operator.logical.hcl","match":"\\\u0026\\\u0026"},{"name":"keyword.operator.logical.hcl","match":"\\|\\|"},{"name":"keyword.operator.logical.hcl","match":"\\!"},{"name":"keyword.operator.hcl","match":"\\\u003e"},{"name":"keyword.operator.hcl","match":"\\\u003c"},{"name":"keyword.operator.hcl","match":"\\?"},{"name":"keyword.operator.hcl","match":"\\.\\.\\."},{"match":"\\:"}]},"parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"string_interpolation":{"name":"meta.interpolation.hcl","begin":"(?\u003c![%$])([%$]{)","end":"\\}","patterns":[{"name":"keyword.operator.template.left.trim.hcl","match":"\\~\\s"},{"name":"keyword.operator.template.right.trim.hcl","match":"\\s\\~"},{"name":"keyword.control.hcl","match":"\\b(if|else|endif|for|in|endfor)\\b"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.other.interpolation.begin.hcl"}},"endCaptures":{"0":{"name":"keyword.other.interpolation.end.hcl"}}},"string_literals":{"name":"string.quoted.double.hcl","begin":"\"","end":"\"","patterns":[{"include":"#string_interpolation"},{"include":"#char_escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.hcl"}}},"tuple_for_expression":{"begin":"(\\[)\\s?(for)\\b","end":"\\]","patterns":[{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.brackets.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}}}}
1
+ {"name":"HashiCorp HCL","scopeName":"source.hcl","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"repository":{"attribute_access":{"begin":"\\.(?!\\*)","end":"[[:alpha:]][\\w-]*|\\d*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"patterns":[{"name":"variable.other.member.hcl","match":"(?!null|false|true)[[:alpha:]][\\w-]*"},{"name":"constant.numeric.integer.hcl","match":"\\d+"}]}}},"attribute_definition":{"name":"variable.declaration.hcl","match":"(\\()?(\\b(?!null\\b|false\\b|true\\b)[[:alpha:]][[:alnum:]_-]*)(\\))?\\s*(\\=(?!\\=|\\\u003e))\\s*","captures":{"1":{"name":"punctuation.section.parens.begin.hcl"},"2":{"name":"variable.other.readwrite.hcl"},"3":{"name":"punctuation.section.parens.end.hcl"},"4":{"name":"keyword.operator.assignment.hcl"}}},"attribute_splat":{"begin":"\\.","end":"\\*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"name":"keyword.operator.splat.hcl"}}},"block":{"name":"meta.block.hcl","begin":"([\\w][\\-\\w]*)([^{\\r\\n]*)(\\{)","end":"\\}","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#expressions"},{"include":"#block"}],"beginCaptures":{"1":{"patterns":[{"name":"entity.name.type.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"}]},"2":{"patterns":[{"name":"variable.other.enummember.hcl","match":"\\\"[^\\\"\\r\\n]*\\\""},{"name":"variable.other.enummember.hcl","match":"[[:alpha:]][[:alnum:]_-]*"}]},"3":{"name":"punctuation.section.block.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.hcl"}}},"block_inline_comments":{"name":"comment.block.hcl","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"brackets":{"begin":"\\[","end":"\\]","patterns":[{"name":"keyword.operator.splat.hcl","match":"\\*"},{"include":"#comma"},{"include":"#comments"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}},"char_escapes":{"name":"constant.character.escape.hcl","match":"\\\\[nrt\"\\\\]|\\\\u([[:xdigit:]]{8}|[[:xdigit:]]{4})"},"comma":{"name":"punctuation.separator.hcl","match":"\\,"},"comments":{"patterns":[{"include":"#hash_line_comments"},{"include":"#double_slash_line_comments"},{"include":"#block_inline_comments"}]},"double_slash_line_comments":{"name":"comment.line.double-slash.hcl","begin":"//","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"expressions":{"patterns":[{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#brackets"},{"include":"#objects"},{"include":"#attribute_access"},{"include":"#attribute_splat"},{"include":"#functions"},{"include":"#parens"}]},"for_expression_body":{"patterns":[{"name":"keyword.operator.word.hcl","match":"\\bin\\b"},{"name":"keyword.control.conditional.hcl","match":"\\bif\\b"},{"name":"keyword.operator.hcl","match":"\\:"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"functions":{"name":"meta.function-call.hcl","begin":"([:\\-\\w]+)(\\()","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#comma"}],"beginCaptures":{"1":{"patterns":[{"name":"support.function.namespaced.hcl","match":"\\b[[:alpha:]][\\w_-]*::([[:alpha:]][\\w_-]*::)?[[:alpha:]][\\w_-]*\\b"},{"name":"support.function.builtin.hcl","match":"\\b[[:alpha:]][\\w_-]*\\b"}]},"2":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"hash_line_comments":{"name":"comment.line.number-sign.hcl","begin":"#","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"hcl_type_keywords":{"name":"storage.type.hcl","match":"\\b(any|string|number|bool|list|set|map|tuple|object)\\b"},"heredoc":{"name":"string.unquoted.heredoc.hcl","begin":"(\\\u003c\\\u003c\\-?)\\s*(\\w+)\\s*$","end":"^\\s*\\2\\s*$","patterns":[{"include":"#string_interpolation"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.hcl"},"2":{"name":"keyword.control.heredoc.hcl"}},"endCaptures":{"0":{"name":"keyword.control.heredoc.hcl"}}},"inline_for_expression":{"begin":"(for)\\b","end":"\\n","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"keyword.control.hcl"}}},"inline_if_expression":{"begin":"(if)\\b","end":"\\n","patterns":[{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.hcl"}}},"language_constants":{"name":"constant.language.hcl","match":"\\b(true|false|null)\\b"},"literal_values":{"patterns":[{"include":"#numeric_literals"},{"include":"#language_constants"},{"include":"#string_literals"},{"include":"#heredoc"},{"include":"#hcl_type_keywords"}]},"local_identifiers":{"name":"variable.other.readwrite.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"},"numeric_literals":{"patterns":[{"name":"constant.numeric.float.hcl","match":"\\b\\d+([Ee][+-]?)\\d+\\b","captures":{"1":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.float.hcl","match":"\\b\\d+(\\.)\\d+(?:([Ee][+-]?)\\d+)?\\b","captures":{"1":{"name":"punctuation.separator.decimal.hcl"},"2":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.integer.hcl","match":"\\b\\d+\\b"}]},"object_for_expression":{"begin":"(\\{)\\s?(for)\\b","end":"\\}","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.braces.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"object_key_values":{"patterns":[{"include":"#comments"},{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#heredoc"},{"include":"#functions"}]},"objects":{"name":"meta.braces.hcl","begin":"\\{","end":"\\}","patterns":[{"include":"#comments"},{"include":"#objects"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"match":"\\b((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)\\s*(\\=\\\u003e?)\\s*","captures":{"1":{"name":"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{"name":"keyword.operator.assignment.hcl","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"}]}}},{"match":"\\b((\").*(\"))\\s*(\\=)\\s*","captures":{"1":{"name":"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{"name":"punctuation.definition.string.begin.hcl"},"3":{"name":"punctuation.definition.string.end.hcl"},"4":{"name":"keyword.operator.hcl"}}},{"name":"meta.mapping.key.hcl","begin":"^\\s*\\(","end":"(\\))\\s*(=|:)\\s*","patterns":[{"include":"#attribute_access"},{"include":"#attribute_splat"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.hcl"},"2":{"name":"keyword.operator.hcl"}}},{"include":"#object_key_values"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"operators":{"patterns":[{"name":"keyword.operator.hcl","match":"\\\u003e\\="},{"name":"keyword.operator.hcl","match":"\\\u003c\\="},{"name":"keyword.operator.hcl","match":"\\=\\="},{"name":"keyword.operator.hcl","match":"\\!\\="},{"name":"keyword.operator.arithmetic.hcl","match":"\\+"},{"name":"keyword.operator.arithmetic.hcl","match":"\\-"},{"name":"keyword.operator.arithmetic.hcl","match":"\\*"},{"name":"keyword.operator.arithmetic.hcl","match":"\\/"},{"name":"keyword.operator.arithmetic.hcl","match":"\\%"},{"name":"keyword.operator.logical.hcl","match":"\\\u0026\\\u0026"},{"name":"keyword.operator.logical.hcl","match":"\\|\\|"},{"name":"keyword.operator.logical.hcl","match":"\\!"},{"name":"keyword.operator.hcl","match":"\\\u003e"},{"name":"keyword.operator.hcl","match":"\\\u003c"},{"name":"keyword.operator.hcl","match":"\\?"},{"name":"keyword.operator.hcl","match":"\\.\\.\\."},{"match":"\\:"}]},"parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"string_interpolation":{"name":"meta.interpolation.hcl","begin":"(?\u003c![%$])([%$]{)","end":"\\}","patterns":[{"name":"keyword.operator.template.left.trim.hcl","match":"\\~\\s"},{"name":"keyword.operator.template.right.trim.hcl","match":"\\s\\~"},{"name":"keyword.control.hcl","match":"\\b(if|else|endif|for|in|endfor)\\b"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.other.interpolation.begin.hcl"}},"endCaptures":{"0":{"name":"keyword.other.interpolation.end.hcl"}}},"string_literals":{"name":"string.quoted.double.hcl","begin":"\"","end":"\"","patterns":[{"include":"#string_interpolation"},{"include":"#char_escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.hcl"}}},"tuple_for_expression":{"begin":"(\\[)\\s?(for)\\b","end":"\\]","patterns":[{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.brackets.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}}}}
@@ -1 +1 @@
1
- {"name":"HashiCorp Terraform","scopeName":"source.hcl.terraform","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"repository":{"attribute_access":{"begin":"\\.(?!\\*)","end":"[[:alpha:]][\\w-]*|\\d*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"patterns":[{"name":"variable.other.member.hcl","match":"(?!null|false|true)[[:alpha:]][\\w-]*"},{"name":"constant.numeric.integer.hcl","match":"\\d+"}]}}},"attribute_definition":{"name":"variable.declaration.hcl","match":"(\\()?(\\b(?!null\\b|false\\b|true\\b)[[:alpha:]][[:alnum:]_-]*)(\\))?\\s*(\\=(?!\\=|\\\u003e))\\s*","captures":{"1":{"name":"punctuation.section.parens.begin.hcl"},"2":{"name":"variable.other.readwrite.hcl"},"3":{"name":"punctuation.section.parens.end.hcl"},"4":{"name":"keyword.operator.assignment.hcl"}}},"attribute_splat":{"begin":"\\.","end":"\\*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"name":"keyword.operator.splat.hcl"}}},"block":{"name":"meta.block.hcl","begin":"([\\w][\\-\\w]*)([\\s\\\"\\-\\w]*)(\\{)","end":"\\}","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"beginCaptures":{"1":{"patterns":[{"name":"entity.name.type.terraform","match":"\\bdata|check|import|locals|module|output|provider|resource|terraform|variable\\b"},{"name":"entity.name.type.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"}]},"2":{"patterns":[{"name":"variable.other.enummember.hcl","match":"[\\\"\\-\\w]+"}]},"3":{"name":"punctuation.section.block.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.hcl"}}},"block_inline_comments":{"name":"comment.block.hcl","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"brackets":{"begin":"\\[","end":"\\]","patterns":[{"name":"keyword.operator.splat.hcl","match":"\\*"},{"include":"#comma"},{"include":"#comments"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}},"char_escapes":{"name":"constant.character.escape.hcl","match":"\\\\[nrt\"\\\\]|\\\\u([[:xdigit:]]{8}|[[:xdigit:]]{4})"},"comma":{"name":"punctuation.separator.hcl","match":"\\,"},"comments":{"patterns":[{"include":"#hash_line_comments"},{"include":"#double_slash_line_comments"},{"include":"#block_inline_comments"}]},"double_slash_line_comments":{"name":"comment.line.double-slash.hcl","begin":"//","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"expressions":{"patterns":[{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#brackets"},{"include":"#objects"},{"include":"#attribute_access"},{"include":"#attribute_splat"},{"include":"#functions"},{"include":"#parens"}]},"for_expression_body":{"patterns":[{"name":"keyword.operator.word.hcl","match":"\\bin\\b"},{"name":"keyword.control.conditional.hcl","match":"\\bif\\b"},{"name":"keyword.operator.hcl","match":"\\:"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"functions":{"name":"meta.function-call.hcl","begin":"(\\w+)(\\()","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#comma"}],"beginCaptures":{"1":{"patterns":[{"name":"support.function.builtin.terraform","match":"\\b(abs|abspath|alltrue|anytrue|base64decode|base64encode|base64gzip|base64sha256|base64sha512|basename|bcrypt|can|ceil|chomp|chunklist|cidrhost|cidrnetmask|cidrsubnet|cidrsubnets|coalesce|coalescelist|compact|concat|contains|csvdecode|dirname|distinct|element|endswith|file|filebase64|filebase64sha256|filebase64sha512|fileexists|filemd5|fileset|filesha1|filesha256|filesha512|flatten|floor|format|formatdate|formatlist|indent|index|join|jsondecode|jsonencode|keys|length|log|lookup|lower|matchkeys|max|md5|merge|min|nonsensitive|one|parseint|pathexpand|plantimestamp|pow|range|regex|regexall|replace|reverse|rsadecrypt|sensitive|setintersection|setproduct|setsubtract|setunion|sha1|sha256|sha512|signum|slice|sort|split|startswith|strcontains|strrev|substr|sum|templatefile|textdecodebase64|textencodebase64|timeadd|timecmp|timestamp|title|tobool|tolist|tomap|tonumber|toset|tostring|transpose|trim|trimprefix|trimspace|trimsuffix|try|upper|urlencode|uuid|uuidv5|values|yamldecode|yamlencode|zipmap)\\b"}]},"2":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"hash_line_comments":{"name":"comment.line.number-sign.hcl","begin":"#","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"hcl_type_keywords":{"name":"storage.type.hcl","match":"\\b(any|string|number|bool|list|set|map|tuple|object)\\b"},"heredoc":{"name":"string.unquoted.heredoc.hcl","begin":"(\\\u003c\\\u003c\\-?)\\s*(\\w+)\\s*$","end":"^\\s*\\2\\s*$","patterns":[{"include":"#string_interpolation"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.hcl"},"2":{"name":"keyword.control.heredoc.hcl"}},"endCaptures":{"0":{"name":"keyword.control.heredoc.hcl"}}},"inline_for_expression":{"begin":"(for)\\b","end":"\\n","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"keyword.control.hcl"}}},"inline_if_expression":{"begin":"(if)\\b","end":"\\n","patterns":[{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.hcl"}}},"language_constants":{"name":"constant.language.hcl","match":"\\b(true|false|null)\\b"},"literal_values":{"patterns":[{"include":"#numeric_literals"},{"include":"#language_constants"},{"include":"#string_literals"},{"include":"#heredoc"},{"include":"#hcl_type_keywords"},{"include":"#named_value_references"}]},"local_identifiers":{"name":"variable.other.readwrite.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"},"named_value_references":{"name":"variable.other.readwrite.terraform","match":"\\b(var|local|module|data|path|terraform)\\b"},"numeric_literals":{"patterns":[{"name":"constant.numeric.float.hcl","match":"\\b\\d+([Ee][+-]?)\\d+\\b","captures":{"1":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.float.hcl","match":"\\b\\d+(\\.)\\d+(?:([Ee][+-]?)\\d+)?\\b","captures":{"1":{"name":"punctuation.separator.decimal.hcl"},"2":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.integer.hcl","match":"\\b\\d+\\b"}]},"object_for_expression":{"begin":"(\\{)\\s?(for)\\b","end":"\\}","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.braces.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"object_key_values":{"patterns":[{"include":"#comments"},{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#heredoc"},{"include":"#functions"}]},"objects":{"name":"meta.braces.hcl","begin":"\\{","end":"\\}","patterns":[{"include":"#comments"},{"include":"#objects"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"match":"\\b((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)\\s*(\\=\\\u003e?)\\s*","captures":{"1":{"name":"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{"name":"keyword.operator.assignment.hcl","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"}]}}},{"match":"\\b((\").*(\"))\\s*(\\=)\\s*","captures":{"0":{"patterns":[{"include":"#named_value_references"}]},"1":{"name":"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{"name":"punctuation.definition.string.begin.hcl"},"3":{"name":"punctuation.definition.string.end.hcl"},"4":{"name":"keyword.operator.hcl"}}},{"name":"meta.mapping.key.hcl","begin":"^\\s*\\(","end":"(\\))\\s*(=|:)\\s*","patterns":[{"include":"#named_value_references"},{"include":"#attribute_access"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.hcl"},"2":{"name":"keyword.operator.hcl"}}},{"include":"#object_key_values"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"operators":{"patterns":[{"name":"keyword.operator.hcl","match":"\\\u003e\\="},{"name":"keyword.operator.hcl","match":"\\\u003c\\="},{"name":"keyword.operator.hcl","match":"\\=\\="},{"name":"keyword.operator.hcl","match":"\\!\\="},{"name":"keyword.operator.arithmetic.hcl","match":"\\+"},{"name":"keyword.operator.arithmetic.hcl","match":"\\-"},{"name":"keyword.operator.arithmetic.hcl","match":"\\*"},{"name":"keyword.operator.arithmetic.hcl","match":"\\/"},{"name":"keyword.operator.arithmetic.hcl","match":"\\%"},{"name":"keyword.operator.logical.hcl","match":"\\\u0026\\\u0026"},{"name":"keyword.operator.logical.hcl","match":"\\|\\|"},{"name":"keyword.operator.logical.hcl","match":"\\!"},{"name":"keyword.operator.hcl","match":"\\\u003e"},{"name":"keyword.operator.hcl","match":"\\\u003c"},{"name":"keyword.operator.hcl","match":"\\?"},{"name":"keyword.operator.hcl","match":"\\.\\.\\."},{"match":"\\:"}]},"parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"string_interpolation":{"name":"meta.interpolation.hcl","begin":"(?\u003c![%$])([%$]{)","end":"\\}","patterns":[{"name":"keyword.operator.template.left.trim.hcl","match":"\\~\\s"},{"name":"keyword.operator.template.right.trim.hcl","match":"\\s\\~"},{"name":"keyword.control.hcl","match":"\\b(if|else|endif|for|in|endfor)\\b"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.other.interpolation.begin.hcl"}},"endCaptures":{"0":{"name":"keyword.other.interpolation.end.hcl"}}},"string_literals":{"name":"string.quoted.double.hcl","begin":"\"","end":"\"","patterns":[{"include":"#string_interpolation"},{"include":"#char_escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.hcl"}}},"tuple_for_expression":{"begin":"(\\[)\\s?(for)\\b","end":"\\]","patterns":[{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.brackets.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}}}}
1
+ {"name":"HashiCorp Terraform","scopeName":"source.hcl.terraform","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"repository":{"attribute_access":{"begin":"\\.(?!\\*)","end":"[[:alpha:]][\\w-]*|\\d*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"patterns":[{"name":"variable.other.member.hcl","match":"(?!null|false|true)[[:alpha:]][\\w-]*"},{"name":"constant.numeric.integer.hcl","match":"\\d+"}]}}},"attribute_definition":{"name":"variable.declaration.hcl","match":"(\\()?(\\b(?!null\\b|false\\b|true\\b)[[:alpha:]][[:alnum:]_-]*)(\\))?\\s*(\\=(?!\\=|\\\u003e))\\s*","captures":{"1":{"name":"punctuation.section.parens.begin.hcl"},"2":{"name":"variable.other.readwrite.hcl"},"3":{"name":"punctuation.section.parens.end.hcl"},"4":{"name":"keyword.operator.assignment.hcl"}}},"attribute_splat":{"begin":"\\.","end":"\\*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"name":"keyword.operator.splat.hcl"}}},"block":{"name":"meta.block.hcl","begin":"([\\w][\\-\\w]*)([\\s\\\"\\-\\w]*)(\\{)","end":"\\}","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"beginCaptures":{"1":{"patterns":[{"name":"entity.name.type.terraform","match":"\\bdata|check|import|locals|module|output|provider|resource|terraform|variable\\b"},{"name":"entity.name.type.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"}]},"2":{"patterns":[{"name":"variable.other.enummember.hcl","match":"[\\\"\\-\\w]+"}]},"3":{"name":"punctuation.section.block.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.hcl"}}},"block_inline_comments":{"name":"comment.block.hcl","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"brackets":{"begin":"\\[","end":"\\]","patterns":[{"name":"keyword.operator.splat.hcl","match":"\\*"},{"include":"#comma"},{"include":"#comments"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}},"char_escapes":{"name":"constant.character.escape.hcl","match":"\\\\[nrt\"\\\\]|\\\\u([[:xdigit:]]{8}|[[:xdigit:]]{4})"},"comma":{"name":"punctuation.separator.hcl","match":"\\,"},"comments":{"patterns":[{"include":"#hash_line_comments"},{"include":"#double_slash_line_comments"},{"include":"#block_inline_comments"}]},"double_slash_line_comments":{"name":"comment.line.double-slash.hcl","begin":"//","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"expressions":{"patterns":[{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#brackets"},{"include":"#objects"},{"include":"#attribute_access"},{"include":"#attribute_splat"},{"include":"#functions"},{"include":"#parens"}]},"for_expression_body":{"patterns":[{"name":"keyword.operator.word.hcl","match":"\\bin\\b"},{"name":"keyword.control.conditional.hcl","match":"\\bif\\b"},{"name":"keyword.operator.hcl","match":"\\:"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"functions":{"name":"meta.function-call.hcl","begin":"([:\\-\\w]+)(\\()","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#comma"}],"beginCaptures":{"1":{"patterns":[{"name":"support.function.builtin.terraform","match":"\\b(core::)?(abs|abspath|alltrue|anytrue|base64decode|base64encode|base64gzip|base64sha256|base64sha512|basename|bcrypt|can|ceil|chomp|chunklist|cidrhost|cidrnetmask|cidrsubnet|cidrsubnets|coalesce|coalescelist|compact|concat|contains|csvdecode|dirname|distinct|element|endswith|file|filebase64|filebase64sha256|filebase64sha512|fileexists|filemd5|fileset|filesha1|filesha256|filesha512|flatten|floor|format|formatdate|formatlist|indent|index|join|jsondecode|jsonencode|keys|length|log|lookup|lower|matchkeys|max|md5|merge|min|nonsensitive|one|parseint|pathexpand|plantimestamp|pow|range|regex|regexall|replace|reverse|rsadecrypt|sensitive|setintersection|setproduct|setsubtract|setunion|sha1|sha256|sha512|signum|slice|sort|split|startswith|strcontains|strrev|substr|sum|templatefile|textdecodebase64|textencodebase64|timeadd|timecmp|timestamp|title|tobool|tolist|tomap|tonumber|toset|tostring|transpose|trim|trimprefix|trimspace|trimsuffix|try|upper|urlencode|uuid|uuidv5|values|yamldecode|yamlencode|zipmap)\\b"},{"name":"support.function.provider.terraform","match":"\\bprovider::[[:alpha:]][\\w_-]*::[[:alpha:]][\\w_-]*\\b"}]},"2":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"hash_line_comments":{"name":"comment.line.number-sign.hcl","begin":"#","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"hcl_type_keywords":{"name":"storage.type.hcl","match":"\\b(any|string|number|bool|list|set|map|tuple|object)\\b"},"heredoc":{"name":"string.unquoted.heredoc.hcl","begin":"(\\\u003c\\\u003c\\-?)\\s*(\\w+)\\s*$","end":"^\\s*\\2\\s*$","patterns":[{"include":"#string_interpolation"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.hcl"},"2":{"name":"keyword.control.heredoc.hcl"}},"endCaptures":{"0":{"name":"keyword.control.heredoc.hcl"}}},"inline_for_expression":{"begin":"(for)\\b","end":"\\n","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"keyword.control.hcl"}}},"inline_if_expression":{"begin":"(if)\\b","end":"\\n","patterns":[{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.hcl"}}},"language_constants":{"name":"constant.language.hcl","match":"\\b(true|false|null)\\b"},"literal_values":{"patterns":[{"include":"#numeric_literals"},{"include":"#language_constants"},{"include":"#string_literals"},{"include":"#heredoc"},{"include":"#hcl_type_keywords"},{"include":"#named_value_references"}]},"local_identifiers":{"name":"variable.other.readwrite.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"},"named_value_references":{"name":"variable.other.readwrite.terraform","match":"\\b(var|local|module|data|path|terraform)\\b"},"numeric_literals":{"patterns":[{"name":"constant.numeric.float.hcl","match":"\\b\\d+([Ee][+-]?)\\d+\\b","captures":{"1":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.float.hcl","match":"\\b\\d+(\\.)\\d+(?:([Ee][+-]?)\\d+)?\\b","captures":{"1":{"name":"punctuation.separator.decimal.hcl"},"2":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.integer.hcl","match":"\\b\\d+\\b"}]},"object_for_expression":{"begin":"(\\{)\\s?(for)\\b","end":"\\}","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.braces.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"object_key_values":{"patterns":[{"include":"#comments"},{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#heredoc"},{"include":"#functions"}]},"objects":{"name":"meta.braces.hcl","begin":"\\{","end":"\\}","patterns":[{"include":"#comments"},{"include":"#objects"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"match":"\\b((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)\\s*(\\=\\\u003e?)\\s*","captures":{"1":{"name":"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{"name":"keyword.operator.assignment.hcl","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"}]}}},{"match":"\\b((\").*(\"))\\s*(\\=)\\s*","captures":{"0":{"patterns":[{"include":"#named_value_references"}]},"1":{"name":"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{"name":"punctuation.definition.string.begin.hcl"},"3":{"name":"punctuation.definition.string.end.hcl"},"4":{"name":"keyword.operator.hcl"}}},{"name":"meta.mapping.key.hcl","begin":"^\\s*\\(","end":"(\\))\\s*(=|:)\\s*","patterns":[{"include":"#named_value_references"},{"include":"#attribute_access"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.hcl"},"2":{"name":"keyword.operator.hcl"}}},{"include":"#object_key_values"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"operators":{"patterns":[{"name":"keyword.operator.hcl","match":"\\\u003e\\="},{"name":"keyword.operator.hcl","match":"\\\u003c\\="},{"name":"keyword.operator.hcl","match":"\\=\\="},{"name":"keyword.operator.hcl","match":"\\!\\="},{"name":"keyword.operator.arithmetic.hcl","match":"\\+"},{"name":"keyword.operator.arithmetic.hcl","match":"\\-"},{"name":"keyword.operator.arithmetic.hcl","match":"\\*"},{"name":"keyword.operator.arithmetic.hcl","match":"\\/"},{"name":"keyword.operator.arithmetic.hcl","match":"\\%"},{"name":"keyword.operator.logical.hcl","match":"\\\u0026\\\u0026"},{"name":"keyword.operator.logical.hcl","match":"\\|\\|"},{"name":"keyword.operator.logical.hcl","match":"\\!"},{"name":"keyword.operator.hcl","match":"\\\u003e"},{"name":"keyword.operator.hcl","match":"\\\u003c"},{"name":"keyword.operator.hcl","match":"\\?"},{"name":"keyword.operator.hcl","match":"\\.\\.\\."},{"match":"\\:"}]},"parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"string_interpolation":{"name":"meta.interpolation.hcl","begin":"(?\u003c![%$])([%$]{)","end":"\\}","patterns":[{"name":"keyword.operator.template.left.trim.hcl","match":"\\~\\s"},{"name":"keyword.operator.template.right.trim.hcl","match":"\\s\\~"},{"name":"keyword.control.hcl","match":"\\b(if|else|endif|for|in|endfor)\\b"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.other.interpolation.begin.hcl"}},"endCaptures":{"0":{"name":"keyword.other.interpolation.end.hcl"}}},"string_literals":{"name":"string.quoted.double.hcl","begin":"\"","end":"\"","patterns":[{"include":"#string_interpolation"},{"include":"#char_escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.hcl"}}},"tuple_for_expression":{"begin":"(\\[)\\s?(for)\\b","end":"\\]","patterns":[{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.brackets.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}}}}
@@ -1 +1 @@
1
- {"name":"Slice","scopeName":"source.ice","patterns":[{"include":"#comment"},{"include":"#preprocessor"},{"include":"#metadata.global"},{"include":"#storage.module"}],"repository":{"annotation":{"name":"storage.type.annotation.ice","match":"(@)\\S*\\b","captures":{"1":{"name":"punctuation.definition.annotation.ice"}}},"comment":{"patterns":[{"include":"#comment.line"},{"include":"#comment.block"}]},"comment.block":{"name":"comment.block.ice","contentName":"text.ice","begin":"\\/\\*","end":"\\*\\/","patterns":[{"include":"#annotation"},{"include":"#link"},{"include":"#line.continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.ice"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.ice"}}},"comment.line":{"name":"comment.line.ice","contentName":"text.ice","begin":"\\/\\/","end":"$","patterns":[{"include":"#annotation"},{"include":"#link"},{"include":"#line.continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.line.begin.ice"}}},"constant":{"patterns":[{"include":"#constant.boolean"},{"include":"#constant.string"},{"include":"#constant.numeric.float"},{"include":"#constant.numeric.hex"},{"include":"#constant.numeric.oct"},{"include":"#constant.numeric.dec"}]},"constant.boolean":{"match":"\\b(?:(true)|(false))\\b","captures":{"0":{"name":"constant.language.ice"},"1":{"name":"constant.boolean.true.ice"},"2":{"name":"constant.boolean.false.ice"}}},"constant.numeric.dec":{"name":"constant.numeric.integer.ice","match":"(-|\\+)?\\b(?:0|[1-9]\\d*)\\b","captures":{"1":{"name":"punctuation.definition.numeric.sign.ice"}}},"constant.numeric.float":{"name":"constant.numeric.float.ice","match":"(-|\\+)?(?:\\d+(\\.)\\d*|\\d*(\\.)\\d+|\\d+(?=e|E|f|F))(?:(e|E)-?\\d+)?(f|F)?","captures":{"1":{"name":"punctuation.numeric.sign.ice"},"2":{"name":"punctuation.separator.decimal.ice"},"3":{"name":"punctuation.separator.decimal.ice"},"4":{"name":"punctuation.numeric.exponent.ice"},"5":{"name":"punctuation.definition.float.ice"}}},"constant.numeric.hex":{"name":"constant.numeric.hex.ice","match":"(-|\\+)?\\b(0x)[\\da-fA-F]+\\b","captures":{"1":{"name":"punctuation.definition.numeric.sign.ice"},"2":{"name":"punctuation.definition.numeric.hex.ice"}}},"constant.numeric.oct":{"name":"constant.numeric.octal.ice","match":"(-|\\+)?\\b(0)(\\d+)\\b","captures":{"1":{"name":"punctuation.definition.numeric.sign.ice"},"2":{"name":"punctuation.definition.numeric.oct.ice"},"3":{"patterns":[{"name":"invalid.illegal.oct.ice","match":"[8-9]"}]}}},"constant.string":{"name":"string.quoted.double.ice","begin":"\"","end":"(\")|$","patterns":[{"match":"\\\\."},{"include":"#line.continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ice"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ice"},"2":{"name":"invalid.illegal.mismatched-quotes.ice"}}},"invalid":{"name":"invalid.illegal","match":"\\S"},"line.continuation":{"begin":"(\\\\)\\s*$","end":"^","beginCaptures":{"1":{"name":"punctuation.separator.continuation.backslash.ice"}}},"link":{"name":"variable.link.ice","match":"(\\b\\S*)?(#)\\S*\\b","captures":{"1":{"name":"punctuation.definition.link.ice"}}},"metadata":{"patterns":[{"include":"#metadata.global"},{"include":"#metadata.local"}]},"metadata.content":{"patterns":[{"include":"#standard"},{"begin":"(\")","end":"(?=\\])|(?\u003c=,)","patterns":[{"include":"#line.continuation"},{"name":"string.quoted.double.ice","match":"((?:[^\\\\\"]|\\\\.)+)","captures":{"1":{"patterns":[{"include":"#metadata.identifier"}]}}},{"begin":"(\")","end":"(?=\\])|(,)","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"name":"string.quoted.double.ice"},"1":{"name":"punctuation.definition.string.end.ice"}},"endCaptures":{"1":{"name":"punctuation.separator.metadata.ice"}}}],"beginCaptures":{"0":{"name":"string.quoted.double.ice"},"1":{"name":"punctuation.definition.string.begin.ice"}}}]},"metadata.global":{"name":"meta.metadata.global.ice","begin":"\\[\\[","end":"\\]\\]","patterns":[{"include":"#metadata.content"}],"beginCaptures":{"0":{"name":"punctuation.definition.metadata.global.begin.ice"}},"endCaptures":{"0":{"name":"punctuation.definition.metadata.global.end.ice"}}},"metadata.identifier":{"name":"entity.metadata.directive.ice","match":"\\S+"},"metadata.local":{"name":"meta.metadata.local.ice","begin":"\\[","end":"\\]","patterns":[{"include":"#metadata.content"}],"beginCaptures":{"0":{"name":"punctuation.definition.metadata.local.begin.ice"}},"endCaptures":{"0":{"name":"punctuation.definition.metadata.local.end.ice"}}},"preprocessor":{"patterns":[{"include":"#preprocessor.if"},{"include":"#preprocessor.ifdef"},{"include":"#preprocessor.ifndef"},{"include":"#preprocessor.elif"},{"include":"#preprocessor.else"},{"include":"#preprocessor.endif"},{"include":"#preprocessor.define"},{"include":"#preprocessor.undef"},{"include":"#preprocessor.include"},{"include":"#preprocessor.pragma"},{"include":"#preprocessor.line"},{"include":"#preprocessor.error"},{"include":"#preprocessor.null"}]},"preprocessor.define":{"name":"meta.preprocessor.define.ice","begin":"(#)\\s*define\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b(\\w+)((\\())","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b\\w+\\b","end":"(?=\\))|(,)|($)","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}},"endCaptures":{"1":{"name":"punctuation.separator.parameter.preprocessor.ice"},"2":{"name":"invalid.mismatched.parenthesis.ice"}}},{"begin":"\\b\\w+\\b","end":"(?=\\))|((,))|($)","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"punctuation.variable.parameter.preprocessor.ice"}},"endCaptures":{"1":{"name":"punctuation.separator.parameter.preprocessor.ice"},"2":{"name":"invalid.trailing-comma.ice"},"3":{"name":"invalid.mismatched.parenthesis.ice"}}},{"begin":"(\\))","end":"$","patterns":[{"include":"#standardP"},{"name":"constant.preprocessor.ice","match":"\\S"}],"beginCaptures":{"0":{"name":"meta.group.parameters.preprocessor.ice"},"1":{"name":"punctuation.section.group.parameters.end.ice"}}}],"beginCaptures":{"1":{"patterns":[{"include":"#preprocessor.identifier"}]},"2":{"name":"meta.group.parameters.preprocessor.ice"},"3":{"name":"punctuation.section.group.parameters.begin.ice"}}},{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#standardP"},{"name":"constant.preprocessor.ice","match":"\\S"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}}}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.define.ice"},"1":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.elif":{"name":"meta.preprocessor.elif.ice","begin":"(#)\\s*elif\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.elif.ice"},"1":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.else":{"name":"meta.preprocessor.endif.ice","begin":"(#)\\s*else\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.else.ice"},"1":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.endif":{"name":"meta.preprocessor.endif.ice","begin":"(#)\\s*endif\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.endif.ice"},"1":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.error":{"name":"meta.preprocessor.error.ice","begin":"((#)\\s*error)\\b","end":"$","patterns":[{"include":"#standardP"},{"name":"text.error.ice","match":"."}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.error.ice"},"2":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.identifier":{"patterns":[{"name":"entity.identifier.preprocessor.ice","match":"\\b[a-zA-Z_][a-zA-Z0-9_]*\\b"},{"include":"#invalid"}]},"preprocessor.if":{"name":"meta.preprocessor.if.ice","begin":"(#)\\s*if\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.if.ice"},"1":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.ifdef":{"name":"meta.preprocessor.ifdef.ice","begin":"(#)\\s*ifdef\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}}}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.ifdef.ice"},"1":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.ifndef":{"name":"meta.preprocessor.ifndef.ice","begin":"(#)\\s*ifndef\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}}}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.ifndef.ice"},"1":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.include":{"name":"meta.preprocessor.include.ice","begin":"((#)\\s*include)\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"(?\u003c=\"|\u003e)","end":"$","patterns":[{"include":"#standardP"}]},{"name":"string.quoted.double.ice","contentName":"entity.name.header.ice","begin":"\"","end":"(\")|($)","patterns":[{"match":"\\\\."},{"include":"#line.continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ice"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ice"},"2":{"name":"invalid.illegal.mismatched-quotes.ice"}}},{"name":"string.quoted.other.angle.ice","contentName":"entity.name.header.ice","begin":"\u003c","end":"(\u003e)|($)","patterns":[{"match":"\\\\."},{"include":"#line.continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ice"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ice"},"2":{"name":"invalid.illegal.mismatched-quotes.ice"}}}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.include.ice"},"2":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.line":{"name":"meta.preprocessor.line.ice","begin":"((#)\\s*line)\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b[\\d]+\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"(?\u003c=\")","end":"$","patterns":[{"include":"#standardP"}]},{"name":"string.quoted.double.ice","contentName":"entity.name.file.ice","begin":"\"","end":"(\")|($)","patterns":[{"match":"\\\\."},{"include":"#line.continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ice"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ice"},"2":{"name":"invalid.illegal.mismatched-quotes.ice"}}}],"beginCaptures":{"0":{"patterns":[{"include":"#constant.numeric.dec"}]}}}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.line.ice"},"2":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.null":{"name":"meta.preprocessor.null.ice","begin":"(#)","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"punctuation.definition.preprocessor.ice"},"1":{"name":"keyword.control.preprocessor.null.ice"}}},"preprocessor.pragma":{"name":"meta.preprocessor.pragma.ice","begin":"((#)\\s*pragma)\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b\\S+\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.pragma.other.ice"}}}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.pragma.ice"},"2":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.undef":{"name":"meta.preprocessor.undef.ice","begin":"((#)\\s*undef)\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}}}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.undef.ice"},"2":{"name":"punctuation.definition.preprocessor.ice"}}},"standard":{"patterns":[{"include":"#comment"},{"include":"#preprocessor"},{"include":"#line.continuation"}]},"standardP":{"patterns":[{"include":"#comment"},{"include":"#line.continuation"}]},"storage":{"patterns":[{"include":"#storage.module"},{"include":"#storage.enum"},{"include":"#storage.struct"},{"include":"#storage.sequence"},{"include":"#storage.dictionary"},{"include":"#storage.interface"},{"include":"#storage.exception"},{"include":"#storage.class"},{"include":"#storage.basic"}]},"storage.basic":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.bool.ice","begin":"\\\\?\\bbool\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.bool.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}},{"name":"meta.byte.ice","begin":"\\\\?\\bbyte\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.byte.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}},{"name":"meta.short.ice","begin":"\\\\?\\bshort\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.short.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}},{"name":"meta.int.ice","begin":"\\\\?\\bint\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.int.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}},{"name":"meta.long.ice","begin":"\\\\?\\blong\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.long.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}},{"name":"meta.float.ice","begin":"\\\\?\\bfloat\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.float.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}},{"name":"meta.double.ice","begin":"\\\\?\\bdouble\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.double.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}},{"name":"meta.string.ice","begin":"\\\\?\\bstring\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.string.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}},{"name":"meta.type.ice","begin":"\\\\?\\b[:\\w]+\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types.custom"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}}]},"storage.basic.assignment":{"patterns":[{"include":"#standard"},{"begin":"=","end":"(?=;|})","patterns":[{"include":"#standard"},{"include":"#constant"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.ice"}}}]},"storage.class":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.class.ice","begin":"(?\u003c!\\\\)\\bclass\\b","end":"(})|(;)","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=}|;)","patterns":[{"include":"#standard"},{"begin":"(?\u003c!\\\\)\\bextends\\b","end":"(?=})|((?=;))","patterns":[{"include":"#standard"},{"begin":"\\\\?[:\\w]+","end":"(?=}|;)","patterns":[{"include":"#standard"},{"include":"#storage.class.implements"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}}},{"name":"invalid.illegal.missing-types.ice","include":"#storage.class.implements"}],"beginCaptures":{"0":{"name":"storage.modifier.extends.ice"}},"endCaptures":{"1":{"name":"invalid.illegal.missing-brace.ice"}}},{"include":"#storage.class.implements"}],"beginCaptures":{"0":{"name":"entity.name.class.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"storage.type.class.ice"}},"endCaptures":{"1":{"name":"punctuation.section.block.end.ice"},"2":{"name":"punctuation.terminator.semicolon.ice"}}}]},"storage.class.body":{"begin":"{","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#storage.basic"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.ice"}}},"storage.class.implements":{"patterns":[{"begin":"(?\u003c!\\\\)\\bimplements\\b","end":"(?=})|((?=;))","patterns":[{"include":"#standard"},{"begin":"\\\\?[:\\w]+","end":"(?={|}|;)|(,)","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.separator.class.implements.ice"}}},{"include":"#storage.class.body"}],"beginCaptures":{"0":{"name":"storage.modifier.implements.ice"}},"endCaptures":{"1":{"name":"invalid.illegal.missing-brace.ice"}}},{"include":"#storage.class.body"}]},"storage.dictionary":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.dictionary.ice","begin":"(?\u003c!\\\\)\\bdictionary\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"(\\\u003c)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"(\\\\?[:\\w]+)|(?=\\\u003e)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"(,)|(?=\\\u003e)","end":"(?=;|{|})","patterns":[{"include":"#standard"},{"begin":"(\\\\?[:\\w]+)|(?=\\\u003e)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"(\\\u003e)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","beginCaptures":{"0":{"name":"entity.name.dictionary.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"meta.generic.dictionary.ice"},"1":{"name":"punctuation.definition.generic.end.ice"}}}],"beginCaptures":{"1":{"name":"meta.generic.dictionary.ice","patterns":[{"include":"#storage.types"}]},"2":{"name":"invalid.illegal.missing-type.ice"}}}],"beginCaptures":{"0":{"name":"meta.generic.dictionary.ice"},"1":{"name":"punctuation.separator.dictionary.ice"},"2":{"name":"invalid.illegal.missing-type.ice"}}}],"beginCaptures":{"1":{"name":"meta.generic.dictionary.ice","patterns":[{"include":"#storage.types"}]},"2":{"name":"invalid.illegal.missing-type.ice"}}}],"beginCaptures":{"0":{"name":"meta.generic.dictionary.ice"},"1":{"name":"punctuation.definition.generic.begin.ice"}}}],"beginCaptures":{"0":{"name":"storage.type.dictionary.ice"}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}}]},"storage.enum":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.enum.ice","begin":"(?\u003c!\\\\)\\benum\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":"{","end":"(?=})","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})|(,)","patterns":[{"include":"#standard"},{"begin":"=","end":"(?=})|(?=,)","patterns":[{"include":"#standard"},{"include":"#constant"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.ice"}}}],"beginCaptures":{"0":{"name":"constant.other.enum.ice","patterns":[{"include":"#identifier"}]}},"endCaptures":{"1":{"name":"punctuation.separator.enum.ice"}}}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.ice"}}}],"beginCaptures":{"0":{"name":"entity.name.enum.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"storage.type.enum.ice"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.ice"}}}]},"storage.exception":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.exception.ice","begin":"(?\u003c!\\\\)\\bexception\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":"(?\u003c!\\\\)\\bextends\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":"\\\\?[:\\w]+","end":"(?={|})|(,)","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.separator.exception.extends.ice"}}},{"include":"#storage.exception.body"}],"beginCaptures":{"0":{"name":"storage.modifier.extends.ice"}}},{"include":"#storage.exception.body"}],"beginCaptures":{"0":{"name":"entity.name.exception.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"storage.type.exception.ice"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.ice"}}}]},"storage.exception.body":{"begin":"{","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#storage.basic"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.ice"}}},"storage.identifier":{"patterns":[{"name":"invalid.illegal.reserved.identifier.ice","match":"(?\u003c!\\\\)\\b(?:bool|byte|class|const|dictionary|double|enum|exception|extends|false|float|idempotent|implements|int|interface|local|LocalObject|long|module|Object|optional|out|sequence|short|string|struct|throws|true|Value|void)\\b"},{"match":"(\\\\)?\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b","captures":{"1":{"name":"punctuation.escape.backslash.ice"},"2":{"patterns":[{"name":"invalid.illegal.underscore.ice","match":"__+|\\b_|_\\b"}]}}},{"name":"invalid.illegal.identifier.ice","match":"."}]},"storage.interface":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.interface.ice","begin":"(?\u003c!\\\\)\\binterface\\b","end":"(})|(;)","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=}|;)","patterns":[{"include":"#standard"},{"begin":"(?\u003c!\\\\)\\bextends\\b","end":"(?=})|((?=;))","patterns":[{"include":"#standard"},{"begin":"\\\\?[:\\w]+","end":"(?={|}|;)|(,)","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.separator.interface.extends.ice"}}},{"include":"#storage.interface.body"}],"beginCaptures":{"0":{"name":"storage.modifier.extends.ice"}},"endCaptures":{"1":{"name":"invalid.illegal.missing-brace.ice"}}},{"include":"#storage.interface.body"}],"beginCaptures":{"0":{"name":"entity.name.interface.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"storage.type.interface.ice"}},"endCaptures":{"1":{"name":"punctuation.section.block.end.ice"},"2":{"name":"punctuation.terminator.semicolon.ice"}}}]},"storage.interface.body":{"begin":"{","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#storage.operation"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.ice"}}},"storage.modifier":{"patterns":[{"begin":"(?=\\[)","end":"(?\u003c=])","patterns":[{"include":"#standard"},{"include":"#metadata.local"}]},{"match":"(?\u003c!\\\\)\\b(?:(local)|(const)|(idempotent)|(out)|(optional\\([-a-zA-Z0-9_:]*\\)))(?:\\b|(?\u003c=\\)))","captures":{"1":{"name":"storage.modifier.local.ice"},"2":{"name":"storage.modifier.const.ice"},"3":{"name":"storage.modifier.idempotent.ice"},"4":{"name":"storage.modifier.out.ice"},"5":{"patterns":[{"match":"(optional)(\\()([-a-zA-Z0-9_:]*)(\\))","captures":{"1":{"name":"storage.modifier.optional.ice"},"2":{"name":"punctuation.section.group.optional.begin.ice"},"3":{"patterns":[{"include":"#constant.numeric.oct"},{"include":"#constant.numeric.dec"},{"include":"#constant.numeric.hex"},{"include":"#storage.types.custom"}]},"4":{"name":"punctuation.section.group.optional.end.ice"}}}]}}}]},"storage.module":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.module.ice","begin":"(?\u003c!\\\\)\\bmodule\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":"{","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#storage"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.ice"}}}],"beginCaptures":{"0":{"name":"entity.name.module.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"storage.type.module.ice"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.ice"}}}]},"storage.operation":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.operation.ice","begin":"\\\\?[:\\w]+","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"\\(","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"\\)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"(?\u003c!\\\\)\\bthrows\\b","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"\\\\?[:\\w]+","end":"(?=;|})|(,)","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.separator.operation.throws.ice"}}}],"beginCaptures":{"0":{"name":"storage.modifier.throws.ice"}}}],"beginCaptures":{"0":{"name":"punctuation.section.group.operation.parameters.end.ice"}}},{"include":"#storage.modifier"},{"begin":"\\\\?[:\\w]+","end":"(?=\\))|(?\u003c=,)","patterns":[{"begin":"\\\\?\\b\\w+\\b","end":"(?=\\))|(,)","beginCaptures":{"0":{"name":"entity.name.operation.parameter","patterns":[{"include":"#storage.identifier"}]}},"endCaptures":{"1":{"name":"punctuation.separator.operation.parameter.ice"}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}}}],"beginCaptures":{"0":{"name":"punctuation.section.group.operation.parameters.begin.ice"}}}],"beginCaptures":{"0":{"name":"entity.name.function.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types.void"},{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing-brace.ice"}}}]},"storage.sequence":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.sequence.ice","begin":"(?\u003c!\\\\)\\bsequence\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"(\\\u003c)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"(\\\\?[:\\w]+)|(?=\\\u003e)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"(\\\u003e)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","beginCaptures":{"0":{"name":"entity.name.sequence.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"meta.generic.sequence.ice"},"1":{"name":"punctuation.definition.generic.end.ice"}}}],"beginCaptures":{"1":{"name":"meta.generic.sequence.ice","patterns":[{"include":"#storage.types"}]},"2":{"name":"invalid.illegal.missing-type.ice"}}}],"beginCaptures":{"0":{"name":"meta.generic.sequence.ice"},"1":{"name":"punctuation.definition.generic.begin.ice"}}}],"beginCaptures":{"0":{"name":"storage.type.sequence.ice"}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}}]},"storage.struct":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.struct.ice","begin":"(?\u003c!\\\\)\\bstruct\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":"{","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#storage.basic"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.ice"}}}],"beginCaptures":{"0":{"name":"entity.name.struct.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"storage.type.struct.ice"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.ice"}}}]},"storage.types":{"patterns":[{"match":"(\\\\)?\\b(?:(bool)|(byte)|(short)|(int)|(long)|(float)|(double)|(string)|(Object)|(LocalObject)|(Value))\\b","captures":{"1":{"name":"punctuation.escape.backslash.ice"},"10":{"name":"storage.type.object.ice"},"11":{"name":"storage.type.localobject.ice"},"12":{"name":"storage.type.value.ice"},"2":{"name":"storage.type.bool.ice"},"3":{"name":"storage.type.byte.ice"},"4":{"name":"storage.type.short.ice"},"5":{"name":"storage.type.int.ice"},"6":{"name":"storage.type.long.ice"},"7":{"name":"storage.type.float.ice"},"8":{"name":"storage.type.double.ice"},"9":{"name":"storage.type.string.ice"}}},{"include":"#storage.types.custom"}]},"storage.types.custom":{"patterns":[{"match":"(\\\\)?([:\\w]+)","captures":{"1":{"name":"punctuation.escape.backslash.ice"},"2":{"patterns":[{"name":"variable.type.ice","match":"\\w+"},{"name":"punctuation.accessor.ice","match":"::"},{"name":"invalid.illegal.accessor.ice","match":":"}]}}},{"include":"#invalid"}]},"storage.types.void":{"name":"storage.type.void.ice","match":"(\\\\)?\\bvoid\\b","captures":{"1":{"name":"punctuation.escape.backslash.ice"}}}}}
1
+ {"name":"Slice","scopeName":"source.ice","patterns":[{"include":"#comment"},{"include":"#preprocessor"},{"include":"#metadata.global"},{"include":"#storage.module"}],"repository":{"annotation":{"name":"storage.type.annotation.ice","match":"(@)\\S*\\b","captures":{"1":{"name":"punctuation.definition.annotation.ice"}}},"comment":{"patterns":[{"include":"#comment.line"},{"include":"#comment.block"}]},"comment.block":{"name":"comment.block.ice","contentName":"text.ice","begin":"\\/\\*","end":"\\*\\/","patterns":[{"include":"#annotation"},{"include":"#link"},{"include":"#line.continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.ice"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.ice"}}},"comment.line":{"name":"comment.line.ice","contentName":"text.ice","begin":"\\/\\/","end":"$","patterns":[{"include":"#annotation"},{"include":"#link"},{"include":"#line.continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.line.begin.ice"}}},"constant":{"patterns":[{"include":"#constant.boolean"},{"include":"#constant.string"},{"include":"#constant.numeric.float"},{"include":"#constant.numeric.hex"},{"include":"#constant.numeric.oct"},{"include":"#constant.numeric.dec"}]},"constant.boolean":{"match":"\\b(?:(true)|(false))\\b","captures":{"0":{"name":"constant.language.ice"},"1":{"name":"constant.boolean.true.ice"},"2":{"name":"constant.boolean.false.ice"}}},"constant.numeric.dec":{"name":"constant.numeric.integer.ice","match":"(-|\\+)?\\b(?:0|[1-9]\\d*)\\b","captures":{"1":{"name":"punctuation.definition.numeric.sign.ice"}}},"constant.numeric.float":{"name":"constant.numeric.float.ice","match":"(-|\\+)?(?:\\d+(\\.)\\d*|\\d*(\\.)\\d+|\\d+(?=e|E|f|F))(?:(e|E)-?\\d+)?(f|F)?","captures":{"1":{"name":"punctuation.numeric.sign.ice"},"2":{"name":"punctuation.separator.decimal.ice"},"3":{"name":"punctuation.separator.decimal.ice"},"4":{"name":"punctuation.numeric.exponent.ice"},"5":{"name":"punctuation.definition.float.ice"}}},"constant.numeric.hex":{"name":"constant.numeric.hex.ice","match":"(-|\\+)?\\b(0x)[\\da-fA-F]+\\b","captures":{"1":{"name":"punctuation.definition.numeric.sign.ice"},"2":{"name":"punctuation.definition.numeric.hex.ice"}}},"constant.numeric.oct":{"name":"constant.numeric.octal.ice","match":"(-|\\+)?\\b(0)(\\d+)\\b","captures":{"1":{"name":"punctuation.definition.numeric.sign.ice"},"2":{"name":"punctuation.definition.numeric.oct.ice"},"3":{"patterns":[{"name":"invalid.illegal.oct.ice","match":"[8-9]"}]}}},"constant.string":{"name":"string.quoted.double.ice","begin":"\"","end":"(\")|$","patterns":[{"match":"\\\\."},{"include":"#line.continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ice"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ice"},"2":{"name":"invalid.illegal.mismatched-quotes.ice"}}},"invalid":{"name":"invalid.illegal","match":"\\S"},"line.continuation":{"begin":"(\\\\)\\s*$","end":"^","beginCaptures":{"1":{"name":"punctuation.separator.continuation.backslash.ice"}}},"link":{"name":"variable.link.ice","match":"(\\b\\S*)?(#)\\S*\\b","captures":{"1":{"name":"punctuation.definition.link.ice"}}},"metadata":{"patterns":[{"include":"#metadata.global"},{"include":"#metadata.local"}]},"metadata.content":{"patterns":[{"include":"#standard"},{"begin":"(\")","end":"(?=\\])|(?\u003c=,)","patterns":[{"include":"#line.continuation"},{"name":"string.quoted.double.ice","match":"((?:[^\\\\\"]|\\\\.)+)","captures":{"1":{"patterns":[{"include":"#metadata.identifier"}]}}},{"begin":"(\")","end":"(?=\\])|(,)","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"name":"string.quoted.double.ice"},"1":{"name":"punctuation.definition.string.end.ice"}},"endCaptures":{"1":{"name":"punctuation.separator.metadata.ice"}}}],"beginCaptures":{"0":{"name":"string.quoted.double.ice"},"1":{"name":"punctuation.definition.string.begin.ice"}}}]},"metadata.global":{"name":"meta.metadata.global.ice","begin":"\\[\\[","end":"\\]\\]","patterns":[{"include":"#metadata.content"}],"beginCaptures":{"0":{"name":"punctuation.definition.metadata.global.begin.ice"}},"endCaptures":{"0":{"name":"punctuation.definition.metadata.global.end.ice"}}},"metadata.identifier":{"name":"entity.metadata.directive.ice","match":"\\S+"},"metadata.local":{"name":"meta.metadata.local.ice","begin":"\\[","end":"\\]","patterns":[{"include":"#metadata.content"}],"beginCaptures":{"0":{"name":"punctuation.definition.metadata.local.begin.ice"}},"endCaptures":{"0":{"name":"punctuation.definition.metadata.local.end.ice"}}},"preprocessor":{"patterns":[{"include":"#preprocessor.if"},{"include":"#preprocessor.ifdef"},{"include":"#preprocessor.ifndef"},{"include":"#preprocessor.elif"},{"include":"#preprocessor.else"},{"include":"#preprocessor.endif"},{"include":"#preprocessor.define"},{"include":"#preprocessor.undef"},{"include":"#preprocessor.include"},{"include":"#preprocessor.pragma"},{"include":"#preprocessor.line"},{"include":"#preprocessor.error"},{"include":"#preprocessor.null"}]},"preprocessor.define":{"name":"meta.preprocessor.define.ice","begin":"(#)\\s*define\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b(\\w+)((\\())","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b\\w+\\b","end":"(?=\\))|(,)|($)","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}},"endCaptures":{"1":{"name":"punctuation.separator.parameter.preprocessor.ice"},"2":{"name":"invalid.mismatched.parenthesis.ice"}}},{"begin":"\\b\\w+\\b","end":"(?=\\))|((,))|($)","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"punctuation.variable.parameter.preprocessor.ice"}},"endCaptures":{"1":{"name":"punctuation.separator.parameter.preprocessor.ice"},"2":{"name":"invalid.trailing-comma.ice"},"3":{"name":"invalid.mismatched.parenthesis.ice"}}},{"begin":"(\\))","end":"$","patterns":[{"include":"#standardP"},{"name":"constant.preprocessor.ice","match":"\\S"}],"beginCaptures":{"0":{"name":"meta.group.parameters.preprocessor.ice"},"1":{"name":"punctuation.section.group.parameters.end.ice"}}}],"beginCaptures":{"1":{"patterns":[{"include":"#preprocessor.identifier"}]},"2":{"name":"meta.group.parameters.preprocessor.ice"},"3":{"name":"punctuation.section.group.parameters.begin.ice"}}},{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#standardP"},{"name":"constant.preprocessor.ice","match":"\\S"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}}}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.define.ice"},"1":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.elif":{"name":"meta.preprocessor.elif.ice","begin":"(#)\\s*elif\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.elif.ice"},"1":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.else":{"name":"meta.preprocessor.endif.ice","begin":"(#)\\s*else\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.else.ice"},"1":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.endif":{"name":"meta.preprocessor.endif.ice","begin":"(#)\\s*endif\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.endif.ice"},"1":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.error":{"name":"meta.preprocessor.error.ice","begin":"((#)\\s*error)\\b","end":"$","patterns":[{"include":"#standardP"},{"name":"text.error.ice","match":"."}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.error.ice"},"2":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.identifier":{"patterns":[{"name":"entity.identifier.preprocessor.ice","match":"\\b[a-zA-Z_][a-zA-Z0-9_]*\\b"},{"include":"#invalid"}]},"preprocessor.if":{"name":"meta.preprocessor.if.ice","begin":"(#)\\s*if\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.if.ice"},"1":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.ifdef":{"name":"meta.preprocessor.ifdef.ice","begin":"(#)\\s*ifdef\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}}}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.ifdef.ice"},"1":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.ifndef":{"name":"meta.preprocessor.ifndef.ice","begin":"(#)\\s*ifndef\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}}}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.ifndef.ice"},"1":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.include":{"name":"meta.preprocessor.include.ice","begin":"((#)\\s*include)\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"(?\u003c=\"|\u003e)","end":"$","patterns":[{"include":"#standardP"}]},{"name":"string.quoted.double.ice","contentName":"entity.name.header.ice","begin":"\"","end":"(\")|($)","patterns":[{"match":"\\\\."},{"include":"#line.continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ice"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ice"},"2":{"name":"invalid.illegal.mismatched-quotes.ice"}}},{"name":"string.quoted.other.angle.ice","contentName":"entity.name.header.ice","begin":"\u003c","end":"(\u003e)|($)","patterns":[{"match":"\\\\."},{"include":"#line.continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ice"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ice"},"2":{"name":"invalid.illegal.mismatched-quotes.ice"}}}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.include.ice"},"2":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.line":{"name":"meta.preprocessor.line.ice","begin":"((#)\\s*line)\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b[\\d]+\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"(?\u003c=\")","end":"$","patterns":[{"include":"#standardP"}]},{"name":"string.quoted.double.ice","contentName":"entity.name.file.ice","begin":"\"","end":"(\")|($)","patterns":[{"match":"\\\\."},{"include":"#line.continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ice"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ice"},"2":{"name":"invalid.illegal.mismatched-quotes.ice"}}}],"beginCaptures":{"0":{"patterns":[{"include":"#constant.numeric.dec"}]}}}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.line.ice"},"2":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.null":{"name":"meta.preprocessor.null.ice","begin":"(#)","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"punctuation.definition.preprocessor.ice"},"1":{"name":"keyword.control.preprocessor.null.ice"}}},"preprocessor.pragma":{"name":"meta.preprocessor.pragma.ice","begin":"((#)\\s*pragma)\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b\\S+\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.pragma.other.ice"}}}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.pragma.ice"},"2":{"name":"punctuation.definition.preprocessor.ice"}}},"preprocessor.undef":{"name":"meta.preprocessor.undef.ice","begin":"((#)\\s*undef)\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}}}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.undef.ice"},"2":{"name":"punctuation.definition.preprocessor.ice"}}},"standard":{"patterns":[{"include":"#comment"},{"include":"#preprocessor"},{"include":"#line.continuation"}]},"standardP":{"patterns":[{"include":"#comment"},{"include":"#line.continuation"}]},"storage":{"patterns":[{"include":"#storage.module"},{"include":"#storage.enum"},{"include":"#storage.struct"},{"include":"#storage.sequence"},{"include":"#storage.dictionary"},{"include":"#storage.interface"},{"include":"#storage.exception"},{"include":"#storage.class"},{"include":"#storage.basic"}]},"storage.basic":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.bool.ice","begin":"\\\\?\\bbool\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.bool.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}},{"name":"meta.byte.ice","begin":"\\\\?\\bbyte\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.byte.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}},{"name":"meta.short.ice","begin":"\\\\?\\bshort\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.short.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}},{"name":"meta.int.ice","begin":"\\\\?\\bint\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.int.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}},{"name":"meta.long.ice","begin":"\\\\?\\blong\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.long.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}},{"name":"meta.float.ice","begin":"\\\\?\\bfloat\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.float.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}},{"name":"meta.double.ice","begin":"\\\\?\\bdouble\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.double.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}},{"name":"meta.string.ice","begin":"\\\\?\\bstring\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.string.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}},{"name":"meta.type.ice","begin":"\\\\?\\b[:\\w]+\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types.custom"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}}]},"storage.basic.assignment":{"patterns":[{"include":"#standard"},{"begin":"=","end":"(?=;|})","patterns":[{"include":"#standard"},{"include":"#constant"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.ice"}}}]},"storage.class":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.class.ice","begin":"(?\u003c!\\\\)\\bclass\\b","end":"(})|(;)","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=}|;)","patterns":[{"include":"#standard"},{"begin":"(?\u003c!\\\\)\\bextends\\b","end":"(?=})|((?=;))","patterns":[{"include":"#standard"},{"begin":"\\\\?[:\\w]+","end":"(?=}|;)","patterns":[{"include":"#standard"},{"include":"#storage.class.implements"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}}},{"name":"invalid.illegal.missing-types.ice","include":"#storage.class.implements"}],"beginCaptures":{"0":{"name":"storage.modifier.extends.ice"}},"endCaptures":{"1":{"name":"invalid.illegal.missing-brace.ice"}}},{"include":"#storage.class.implements"}],"beginCaptures":{"0":{"name":"entity.name.class.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"storage.type.class.ice"}},"endCaptures":{"1":{"name":"punctuation.section.block.end.ice"},"2":{"name":"punctuation.terminator.semicolon.ice"}}}]},"storage.class.body":{"begin":"{","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#storage.basic"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.ice"}}},"storage.class.implements":{"patterns":[{"begin":"(?\u003c!\\\\)\\bimplements\\b","end":"(?=})|((?=;))","patterns":[{"include":"#standard"},{"begin":"\\\\?[:\\w]+","end":"(?={|}|;)|(,)","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.separator.class.implements.ice"}}},{"include":"#storage.class.body"}],"beginCaptures":{"0":{"name":"storage.modifier.implements.ice"}},"endCaptures":{"1":{"name":"invalid.illegal.missing-brace.ice"}}},{"include":"#storage.class.body"}]},"storage.dictionary":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.dictionary.ice","begin":"(?\u003c!\\\\)\\bdictionary\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"(\\\u003c)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"(\\\\?[:\\w]+)|(?=\\\u003e)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"(,)|(?=\\\u003e)","end":"(?=;|{|})","patterns":[{"include":"#standard"},{"begin":"(\\\\?[:\\w]+)|(?=\\\u003e)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"(\\\u003e)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","beginCaptures":{"0":{"name":"entity.name.dictionary.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"meta.generic.dictionary.ice"},"1":{"name":"punctuation.definition.generic.end.ice"}}}],"beginCaptures":{"1":{"name":"meta.generic.dictionary.ice","patterns":[{"include":"#storage.types"}]},"2":{"name":"invalid.illegal.missing-type.ice"}}}],"beginCaptures":{"0":{"name":"meta.generic.dictionary.ice"},"1":{"name":"punctuation.separator.dictionary.ice"},"2":{"name":"invalid.illegal.missing-type.ice"}}}],"beginCaptures":{"1":{"name":"meta.generic.dictionary.ice","patterns":[{"include":"#storage.types"}]},"2":{"name":"invalid.illegal.missing-type.ice"}}}],"beginCaptures":{"0":{"name":"meta.generic.dictionary.ice"},"1":{"name":"punctuation.definition.generic.begin.ice"}}}],"beginCaptures":{"0":{"name":"storage.type.dictionary.ice"}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}}]},"storage.enum":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.enum.ice","begin":"(?\u003c!\\\\)\\benum\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":"{","end":"(?=})","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})|(,)","patterns":[{"include":"#standard"},{"begin":"=","end":"(?=})|(?=,)","patterns":[{"include":"#standard"},{"include":"#constant"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.ice"}}}],"beginCaptures":{"0":{"name":"constant.other.enum.ice","patterns":[{"include":"#identifier"}]}},"endCaptures":{"1":{"name":"punctuation.separator.enum.ice"}}}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.ice"}}}],"beginCaptures":{"0":{"name":"entity.name.enum.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"storage.type.enum.ice"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.ice"}}}]},"storage.exception":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.exception.ice","begin":"(?\u003c!\\\\)\\bexception\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":"(?\u003c!\\\\)\\bextends\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":"\\\\?[:\\w]+","end":"(?={|})|(,)","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.separator.exception.extends.ice"}}},{"include":"#storage.exception.body"}],"beginCaptures":{"0":{"name":"storage.modifier.extends.ice"}}},{"include":"#storage.exception.body"}],"beginCaptures":{"0":{"name":"entity.name.exception.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"storage.type.exception.ice"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.ice"}}}]},"storage.exception.body":{"begin":"{","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#storage.basic"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.ice"}}},"storage.identifier":{"patterns":[{"name":"invalid.illegal.reserved.identifier.ice","match":"(?\u003c!\\\\)\\b(?:bool|byte|class|const|dictionary|double|enum|exception|extends|false|float|idempotent|implements|int|interface|local|LocalObject|long|module|Object|optional|out|sequence|short|string|struct|throws|true|Value|void)\\b"},{"match":"(\\\\)?\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b","captures":{"1":{"name":"punctuation.escape.backslash.ice"},"2":{"patterns":[{"name":"invalid.illegal.underscore.ice","match":"__+|\\b_|_\\b"}]}}},{"name":"invalid.illegal.identifier.ice","match":"."}]},"storage.interface":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.interface.ice","begin":"(?\u003c!\\\\)\\binterface\\b","end":"(})|(;)","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=}|;)","patterns":[{"include":"#standard"},{"begin":"(?\u003c!\\\\)\\bextends\\b","end":"(?=})|((?=;))","patterns":[{"include":"#standard"},{"begin":"\\\\?[:\\w]+","end":"(?={|}|;)|(,)","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.separator.interface.extends.ice"}}},{"include":"#storage.interface.body"}],"beginCaptures":{"0":{"name":"storage.modifier.extends.ice"}},"endCaptures":{"1":{"name":"invalid.illegal.missing-brace.ice"}}},{"include":"#storage.interface.body"}],"beginCaptures":{"0":{"name":"entity.name.interface.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"storage.type.interface.ice"}},"endCaptures":{"1":{"name":"punctuation.section.block.end.ice"},"2":{"name":"punctuation.terminator.semicolon.ice"}}}]},"storage.interface.body":{"begin":"{","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#storage.operation"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.ice"}}},"storage.modifier":{"patterns":[{"begin":"(?=\\[)","end":"(?\u003c=])","patterns":[{"include":"#standard"},{"include":"#metadata.local"}]},{"match":"(?\u003c!\\\\)\\b(?:(local)|(const)|(idempotent)|(out)|((?:optional|tag)\\([-a-zA-Z0-9_:]*\\)))(?:\\b|(?\u003c=\\)))","captures":{"1":{"name":"storage.modifier.local.ice"},"2":{"name":"storage.modifier.const.ice"},"3":{"name":"storage.modifier.idempotent.ice"},"4":{"name":"storage.modifier.out.ice"},"5":{"patterns":[{"match":"((?:optional|tag))(\\()([-a-zA-Z0-9_:]*)(\\))","captures":{"1":{"name":"storage.modifier.optional.ice"},"2":{"name":"punctuation.section.group.optional.begin.ice"},"3":{"patterns":[{"include":"#constant.numeric.oct"},{"include":"#constant.numeric.dec"},{"include":"#constant.numeric.hex"},{"include":"#storage.types.custom"}]},"4":{"name":"punctuation.section.group.optional.end.ice"}}}]}}}]},"storage.module":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.module.ice","begin":"(?\u003c!\\\\)\\bmodule\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":"{","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#storage"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.ice"}}}],"beginCaptures":{"0":{"name":"entity.name.module.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"storage.type.module.ice"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.ice"}}}]},"storage.operation":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.operation.ice","begin":"\\\\?[:\\w]+","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"\\(","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"\\)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"(?\u003c!\\\\)\\bthrows\\b","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"\\\\?[:\\w]+","end":"(?=;|})|(,)","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.separator.operation.throws.ice"}}}],"beginCaptures":{"0":{"name":"storage.modifier.throws.ice"}}}],"beginCaptures":{"0":{"name":"punctuation.section.group.operation.parameters.end.ice"}}},{"include":"#storage.modifier"},{"begin":"\\\\?[:\\w]+","end":"(?=\\))|(?\u003c=,)","patterns":[{"begin":"\\\\?\\b\\w+\\b","end":"(?=\\))|(,)","beginCaptures":{"0":{"name":"entity.name.operation.parameter","patterns":[{"include":"#storage.identifier"}]}},"endCaptures":{"1":{"name":"punctuation.separator.operation.parameter.ice"}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}}}],"beginCaptures":{"0":{"name":"punctuation.section.group.operation.parameters.begin.ice"}}}],"beginCaptures":{"0":{"name":"entity.name.function.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types.void"},{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing-brace.ice"}}}]},"storage.sequence":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.sequence.ice","begin":"(?\u003c!\\\\)\\bsequence\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"(\\\u003c)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"(\\\\?[:\\w]+)|(?=\\\u003e)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"(\\\u003e)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","beginCaptures":{"0":{"name":"entity.name.sequence.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"meta.generic.sequence.ice"},"1":{"name":"punctuation.definition.generic.end.ice"}}}],"beginCaptures":{"1":{"name":"meta.generic.sequence.ice","patterns":[{"include":"#storage.types"}]},"2":{"name":"invalid.illegal.missing-type.ice"}}}],"beginCaptures":{"0":{"name":"meta.generic.sequence.ice"},"1":{"name":"punctuation.definition.generic.begin.ice"}}}],"beginCaptures":{"0":{"name":"storage.type.sequence.ice"}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.ice"},"2":{"name":"invalid.illegal.missing.semicolon.ice"}}}]},"storage.struct":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.struct.ice","begin":"(?\u003c!\\\\)\\bstruct\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":"{","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#storage.basic"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.ice"}}}],"beginCaptures":{"0":{"name":"entity.name.struct.ice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"storage.type.struct.ice"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.ice"}}}]},"storage.types":{"patterns":[{"match":"(\\\\)?\\b(?:(bool)|(byte)|(short)|(int)|(long)|(float)|(double)|(string)|(Object)|(LocalObject)|(Value))\\b","captures":{"1":{"name":"punctuation.escape.backslash.ice"},"10":{"name":"storage.type.object.ice"},"11":{"name":"storage.type.localobject.ice"},"12":{"name":"storage.type.value.ice"},"2":{"name":"storage.type.bool.ice"},"3":{"name":"storage.type.byte.ice"},"4":{"name":"storage.type.short.ice"},"5":{"name":"storage.type.int.ice"},"6":{"name":"storage.type.long.ice"},"7":{"name":"storage.type.float.ice"},"8":{"name":"storage.type.double.ice"},"9":{"name":"storage.type.string.ice"}}},{"include":"#storage.types.custom"}]},"storage.types.custom":{"patterns":[{"match":"(\\\\)?([:\\w]+)","captures":{"1":{"name":"punctuation.escape.backslash.ice"},"2":{"patterns":[{"name":"variable.type.ice","match":"\\w+"},{"name":"punctuation.accessor.ice","match":"::"},{"name":"invalid.illegal.accessor.ice","match":":"}]}}},{"include":"#invalid"}]},"storage.types.void":{"name":"storage.type.void.ice","match":"(\\\\)?\\bvoid\\b","captures":{"1":{"name":"punctuation.escape.backslash.ice"}}}}}