github-linguist 9.0.0 → 9.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +3 -3
  3. data/grammars/etc.json +1 -1
  4. data/grammars/inline.edgeql.json +1 -1
  5. data/grammars/liquid.injection.json +1 -1
  6. data/grammars/source.4dm.json +1 -1
  7. data/grammars/source.QB64.json +1 -1
  8. data/grammars/source.abap.json +1 -1
  9. data/grammars/source.abl.json +1 -1
  10. data/grammars/source.aiken.json +1 -0
  11. data/grammars/source.answersetprogramming.json +1 -0
  12. data/grammars/source.apacheconf.json +1 -0
  13. data/grammars/source.apex.json +1 -1
  14. data/grammars/source.assembly.json +1 -1
  15. data/grammars/source.ats.json +1 -1
  16. data/grammars/source.ballerina.json +1 -1
  17. data/grammars/source.brs.json +1 -1
  18. data/grammars/source.bst.json +1 -0
  19. data/grammars/source.c++.json +1 -1
  20. data/grammars/source.c.calendar.json +1 -0
  21. data/grammars/source.c.json +1 -1
  22. data/grammars/source.c.linker.json +1 -0
  23. data/grammars/source.cairo0.json +1 -1
  24. data/grammars/source.cl.json +1 -1
  25. data/grammars/source.clue.json +1 -0
  26. data/grammars/source.cmake.json +1 -1
  27. data/grammars/source.cmakecache.json +1 -1
  28. data/grammars/source.cobol.json +1 -1
  29. data/grammars/source.cs.json +1 -1
  30. data/grammars/source.curlrc.json +1 -1
  31. data/grammars/source.curry.json +1 -1
  32. data/grammars/source.daslang.json +1 -0
  33. data/grammars/source.dds.dspf.json +1 -1
  34. data/grammars/source.erlang.json +1 -1
  35. data/grammars/source.gdscript.json +1 -1
  36. data/grammars/source.git-revlist.json +1 -1
  37. data/grammars/source.gleam.json +1 -1
  38. data/grammars/source.hack.json +1 -1
  39. data/grammars/source.hcl.json +1 -1
  40. data/grammars/source.hx.json +1 -1
  41. data/grammars/source.ice.json +1 -1
  42. data/grammars/source.ilecobol.json +1 -0
  43. data/grammars/source.ispc.json +1 -0
  44. data/grammars/source.jai.json +1 -0
  45. data/grammars/source.json.comments.json +1 -0
  46. data/grammars/source.julia.console.json +1 -1
  47. data/grammars/source.julia.json +1 -1
  48. data/grammars/source.just.json +1 -1
  49. data/grammars/source.kdl.json +1 -0
  50. data/grammars/source.koka.json +1 -0
  51. data/grammars/source.lean.markdown.json +1 -1
  52. data/grammars/source.lean4.markdown.json +1 -1
  53. data/grammars/source.leo.json +1 -0
  54. data/grammars/source.livescript.json +1 -1
  55. data/grammars/source.m2.json +1 -1
  56. data/grammars/source.m3u.json +1 -0
  57. data/grammars/source.matlab.json +1 -1
  58. data/grammars/source.mo.json +1 -1
  59. data/grammars/source.moonbit.json +1 -1
  60. data/grammars/source.mzn.json +1 -0
  61. data/grammars/source.nasl.json +1 -1
  62. data/grammars/source.nim.json +1 -1
  63. data/grammars/source.nr.json +1 -1
  64. data/grammars/source.nushell.json +1 -1
  65. data/grammars/source.objc.json +1 -1
  66. data/grammars/source.odin.json +1 -1
  67. data/grammars/source.openesql.json +1 -1
  68. data/grammars/source.openqasm.json +1 -0
  69. data/grammars/source.overpassql.json +1 -0
  70. data/grammars/source.polar.json +1 -1
  71. data/grammars/source.prisma.json +1 -1
  72. data/grammars/source.purescript.json +1 -1
  73. data/grammars/source.ql.json +1 -1
  74. data/grammars/source.qsharp.json +1 -1
  75. data/grammars/source.rescript.json +1 -1
  76. data/grammars/source.roc.json +1 -1
  77. data/grammars/source.rpgle.json +1 -1
  78. data/grammars/source.rust.json +1 -1
  79. data/grammars/source.sail.json +1 -0
  80. data/grammars/source.scala.json +1 -1
  81. data/grammars/source.scm.json +1 -0
  82. data/grammars/source.slang.json +1 -0
  83. data/grammars/source.slice.json +1 -1
  84. data/grammars/source.slint.json +1 -1
  85. data/grammars/source.smithy.json +1 -1
  86. data/grammars/source.soql.json +1 -1
  87. data/grammars/source.sourcepawn.json +1 -1
  88. data/grammars/source.stan.json +1 -1
  89. data/grammars/source.sway.json +1 -1
  90. data/grammars/source.swift.json +1 -1
  91. data/grammars/source.tact.json +1 -1
  92. data/grammars/source.talon.json +1 -1
  93. data/grammars/source.templ.json +1 -1
  94. data/grammars/source.textgrid.json +1 -1
  95. data/grammars/source.toc.json +1 -1
  96. data/grammars/source.torrc.json +1 -0
  97. data/grammars/source.ts.prismaClientRawSQL.json +1 -1
  98. data/grammars/source.tsp.json +1 -1
  99. data/grammars/source.typst.json +1 -1
  100. data/grammars/source.uplc.json +1 -0
  101. data/grammars/source.vba.json +1 -1
  102. data/grammars/source.vento.json +1 -0
  103. data/grammars/source.vue.json +1 -1
  104. data/grammars/source.wdl.json +1 -1
  105. data/grammars/source.wit.json +1 -1
  106. data/grammars/source.xmake.json +1 -0
  107. data/grammars/source.zmodel.json +1 -0
  108. data/grammars/text.adblock.json +1 -1
  109. data/grammars/text.html.liquid.json +1 -1
  110. data/grammars/text.html.markdown.d2.json +1 -1
  111. data/grammars/text.html.vento.json +1 -0
  112. data/grammars/text.rtf.json +1 -1
  113. data/grammars/text.valve-cfg.json +1 -1
  114. data/grammars/version +1 -1
  115. data/lib/linguist/VERSION +1 -1
  116. data/lib/linguist/generated.rb +24 -2
  117. data/lib/linguist/heuristics.yml +65 -18
  118. data/lib/linguist/languages.json +1 -1
  119. data/lib/linguist/languages.yml +298 -33
  120. data/lib/linguist/samples.json +1 -1
  121. data/lib/linguist/shebang.rb +1 -1
  122. metadata +34 -14
  123. data/grammars/source.apache-config.json +0 -1
  124. data/grammars/source.apache-config.mod_perl.json +0 -1
  125. data/grammars/source.c.platform.json +0 -1
  126. data/grammars/text.html.erlang.yaws.json +0 -1
@@ -1 +1 @@
1
- {"name":"Slice","scopeName":"source.slice","patterns":[{"include":"#slice"}],"repository":{"attribute":{"patterns":[{"include":"#attribute.file"},{"include":"#attribute.local"}]},"attribute.directive":{"begin":"[\\w]+(?:(::)\\w+)*","end":"(?=\\])|$","patterns":[{"include":"#comment"},{"name":"meta.attribute.arguments.slice","begin":"\\(","end":"(?=\\])|$","patterns":[{"include":"#comment"},{"include":"#string-literal"},{"name":"variable.other.constant.attribute.slice","match":"\\b\\w+\\b"},{"name":"punctuation.separator.comma.slice","match":","},{"begin":"\\)","end":"(?=\\])|$","patterns":[{"include":"#comment"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.close.attribute.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.attribute.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"entity.name.function.attribute.slice"},"1":{"name":"punctuation.separator.double-colon.slice"}}},"attribute.file":{"name":"meta.attribute.file.slice","begin":"\\[\\[","end":"(\\]\\])|$","patterns":[{"include":"#comment"},{"include":"#attribute.directive"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.double-bracket.open.attribute.slice"}},"endCaptures":{"1":{"name":"punctuation.double-bracket.close.attribute.slice"}}},"attribute.local":{"name":"meta.attribute.local.slice","begin":"\\[","end":"(\\]|$)","patterns":[{"include":"#comment"},{"include":"#attribute.directive"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.bracket.open.attribute.slice"}},"endCaptures":{"1":{"name":"punctuation.bracket.close.attribute.slice"}}},"class":{"name":"meta.class.slice","begin":"(?\u003c!\\\\)\\bclass\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#id-value"},{"include":"#field-container-inheritance"},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.class.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"comment":{"patterns":[{"include":"#doc-comment.line"},{"include":"#comment.line"},{"include":"#comment.block"}]},"comment.block":{"name":"comment.block.slice","contentName":"text.slice","begin":"\\/\\*","end":"\\*\\/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.slice"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.slice"}}},"comment.line":{"name":"comment.line.double-slash.slice","contentName":"text.slice","begin":"\\/\\/","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.line.double-slash.begin.slice"}}},"compilation-mode":{"name":"meta.mode.slice","begin":"(?\u003c!\\\\)\\bmode\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"=","end":"$","patterns":[{"include":"#standard"},{"begin":"\\\\?(\\w+)","end":"$","patterns":[{"include":"#standard"}],"beginCaptures":{"1":{"patterns":[{"name":"variable.other.constant.mode.slice","match":"Slice1|Slice2"},{"include":"#error"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.mode.slice"}}},"custom-type":{"name":"meta.custom.slice","begin":"(?\u003c!\\\\)\\bcustom\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"$","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.custom.slice"}}},"doc-comment.line":{"name":"comment.line.documentation.slice","begin":"\\/\\/\\/","end":"$","patterns":[{"include":"#documentation.param-tag"},{"include":"#documentation.returns-tag"},{"include":"#documentation.throws-tag"},{"include":"#documentation.see-tag"},{"include":"#documentation.text"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.line.documentation.begin.slice"}}},"documentation.identifier":{"patterns":[{"name":"variable.link.slice","match":"(?:\\b|(::))(?:[a-zA-Z_]\\w*(::)?)+\\b","captures":{"1":{"name":"punctuation.separator.double-colon.slice"},"2":{"name":"punctuation.separator.double-colon.slice"}}},{"include":"#error"}]},"documentation.identifier-with-section":{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#documentation.section"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#documentation.identifier"}]}}},"documentation.inline-tags":{"begin":"{(?=\\s*@)","end":"}","patterns":[{"include":"#documentation.link-tag"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.brace.open.documentation.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.documentation.slice"}}},"documentation.link-tag":{"name":"meta.documentation.link.slice","begin":"(@)link\\b","end":"(?=})","patterns":[{"begin":"(?:\\b|::)(?:\\w+(?:::)?)+\\b","end":"(?=})","patterns":[{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#documentation.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.link.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"documentation.param-tag":{"name":"meta.documentation.param.slice","begin":"(@)param\\b","end":"$","patterns":[{"include":"#documentation.identifier-with-section"},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.param.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"documentation.returns-tag":{"name":"meta.documentation.returns.slice","begin":"(@)returns\\b","end":"$","patterns":[{"include":"#documentation.identifier-with-section"},{"include":"#documentation.section"},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.returns.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"documentation.section":{"begin":":","end":"$","patterns":[{"include":"#documentation.text"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.documentation.slice"}}},"documentation.see-tag":{"name":"meta.documentation.see.slice","begin":"(@)see\\b","end":"$","patterns":[{"begin":"(?:\\b|::)(?:\\w+(?:::)?)+\\b","end":"$","patterns":[{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#documentation.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.see.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"documentation.text":{"begin":"(?=\\S)","end":"$","patterns":[{"include":"#documentation.inline-tags"},{"name":"text.slice","match":"."}]},"documentation.throws-tag":{"name":"meta.documentation.throws.slice","begin":"(@)throws\\b","end":"$","patterns":[{"begin":"(?:\\b|::)(?:\\w+(?:::)?)+\\b","end":"$","patterns":[{"include":"#documentation.section"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#documentation.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.throws.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"enum":{"name":"meta.enum.slice","begin":"(?\u003c!\\\\)\\benum\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":":","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#enumerator-container"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},{"include":"#enumerator-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#enumerator-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.enum.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"enumerator":{"name":"meta.enumerator.slice","begin":"\\\\?\\w+","end":"(?=[,}])|$","patterns":[{"include":"#standard"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#tag"},{"include":"#field"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.slice"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.slice"}}},{"include":"#enumerator-value"}],"beginCaptures":{"0":{"name":"variable.other.constant.enum.slice","patterns":[{"include":"#field.identifier"}]}}},"enumerator-container":{"begin":"{","end":"(?=})","patterns":[{"include":"#enumerator"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.brace.open.slice"}}},"enumerator-value":{"begin":"=","end":"(?=[,}])|$","patterns":[{"include":"#standard"},{"begin":"(?=-|\\b)[\\w-]+\\b","end":"(?=[,}])|$","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#integer-literal"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.slice"}}},"error":{"name":"invalid","match":"\\S"},"exception":{"name":"meta.exception.slice","begin":"(?\u003c!\\\\)\\bexception\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#field-container-inheritance"},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.exception.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"field":{"name":"meta.field.slice","begin":"\\\\?\\w+","end":"(?=[,}\\)])|$","patterns":[{"include":"#standard"},{"begin":":","end":"(?=[,}\\)])|$","patterns":[{"include":"#standard"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"entity.name.variable.slice","patterns":[{"include":"#field.identifier"}]}}},"field-container":{"begin":"{","end":"(?=})","patterns":[{"include":"#tag"},{"include":"#field"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.brace.open.slice"}}},"field-container-inheritance":{"begin":":","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#field-container"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},"field.identifier":{"patterns":[{"match":"(\\\\?)\\b([a-zA-Z_]\\w*)\\b","captures":{"1":{"name":"punctuation.definition.identifier.escape.slice"},"2":{"patterns":[{"include":"#reserved-identifiers"}]}}},{"include":"#error"}]},"id-value":{"begin":"\\(","end":"\\)","patterns":[{"include":"#standard"},{"begin":"[^\\s\\)]+","end":"(?=\\))","patterns":[{"include":"#standard"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#integer-literal"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.slice"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.slice"}}},"integer-literal":{"patterns":[{"name":"constant.numeric.bin.slice","match":"(-)?\\b(0b)(?:[0-1_]+)\\b","captures":{"1":{"name":"punctuation.definition.numeric.negative.slice"},"2":{"name":"punctuation.definition.numeric.bin.slice"}}},{"name":"constant.numeric.dec.slice","match":"(-)?\\b(?:[\\d_]+)\\b","captures":{"1":{"name":"punctuation.definition.numeric.negative.slice"}}},{"name":"constant.numeric.hex.slice","match":"(-)?\\b(0x)(?:[\\da-fA-F_]+)\\b","captures":{"1":{"name":"punctuation.definition.numeric.negative.slice"},"2":{"name":"punctuation.definition.numeric.hex.slice"}}},{"include":"#error"}]},"interface":{"name":"meta.interface.slice","begin":"(?\u003c!\\\\)\\binterface\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":":","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#operation-container"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},{"include":"#operation-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#operation-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.interface.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"modifier-keywords":{"match":"(?\u003c!\\\\)\\b(?:(compact)|(idempotent)|(stream)|(tag\\([-\\w]+\\))|(throws)|(unchecked))(\\b|(?\u003c=\\W))","captures":{"1":{"name":"storage.modifier.compact.slice"},"2":{"name":"storage.modifier.idempotent.slice"},"3":{"name":"storage.modifier.stream.slice"},"4":{"name":"meta.tag.slice","patterns":[{"include":"#tag"}]},"5":{"name":"storage.modifier.throws.slice"},"6":{"name":"storage.modifier.unchecked.slice"}}},"module-declaration":{"name":"meta.module.slice","begin":"(?\u003c!\\\\)\\bmodule\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"(?=\\b|\\\\)[\\\\\\w:]+(?\u003c=\\b|\\W)","end":"$","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.module.slice"}}},"operation-container":{"begin":"{","end":"(?=})","patterns":[{"include":"#tag"},{"name":"storage.modifier.stream.slice","match":"\\bstream\\b"},{"contentName":"meta.exception-list.slice","begin":"\\b(throws)\\b\\s*(\\()","end":"\\)","patterns":[{"include":"#standard"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#storage.identifier"},{"include":"#slice"}],"beginCaptures":{"1":{"name":"storage.modifier.throws.slice"},"2":{"name":"punctuation.parenthesis.open.slice"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.slice"}}},{"name":"storage.modifier.throws.slice","match":"\\bthrows\\b"},{"name":"punctuation.definition.returns.slice","match":"-\u003e"},{"name":"punctuation.separator.comma.slice","match":","},{"name":"meta.parameter-list.slice","begin":"\\(","end":"\\)","patterns":[{"include":"#tag"},{"include":"#parameter"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.slice"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.slice"}}},{"match":"\\\\?\\w+(?=\\s*\\()","captures":{"0":{"name":"entity.name.function.slice","patterns":[{"include":"#field.identifier"}]}}},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.brace.open.slice"}}},"parameter":{"name":"meta.parameter.slice","begin":"\\\\?\\w+","end":"(?=[,\\)])|$","patterns":[{"include":"#standard"},{"begin":":","end":"(?=[,\\)])|$","patterns":[{"include":"#standard"},{"name":"storage.modifier.stream.slice","match":"\\bstream\\b"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"entity.name.variable.slice","patterns":[{"include":"#field.identifier"}]}}},"preprocessor":{"patterns":[{"include":"#preprocessor.define"},{"include":"#preprocessor.undef"},{"include":"#preprocessor.if"},{"include":"#preprocessor.elif"},{"include":"#preprocessor.else"},{"include":"#preprocessor.endif"},{"include":"#preprocessor.unknown"},{"include":"#preprocessor.unknown"}]},"preprocessor.define":{"name":"meta.preprocessor.define.slice","begin":"^\\s*((#)\\s*define)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#preprocessor.single-identifier"},{"include":"#error"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.undef.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.elif":{"name":"meta.preprocessor.elif.slice","begin":"^\\s*((#)\\s*elif)\\b","end":"$","patterns":[{"include":"#preprocessor.expression"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.elif.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.else":{"name":"meta.preprocessor.else.slice","begin":"^\\s*((#)\\s*else)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#error"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.else.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.endif":{"name":"meta.preprocessor.endif.slice","begin":"^\\s*((#)\\s*endif)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#error"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.endif.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.expression":{"patterns":[{"include":"#comment.line"},{"match":"(!)|(\u0026\u0026)|(\\|\\|)|(\\()|(\\))","captures":{"1":{"name":"keyword.operator.logical.not.slice"},"2":{"name":"keyword.operator.logical.and.slice"},"3":{"name":"keyword.operator.logical.or.slice"},"4":{"name":"punctuation.parenthesis.open.slice"},"5":{"name":"punctuation.parenthesis.close.slice"}}},{"include":"#preprocessor.identifier"},{"include":"#error"}]},"preprocessor.identifier":{"patterns":[{"name":"constant.other.symbol.preprocessor.slice","match":"\\b[a-zA-Z_]\\w*\\b"},{"include":"#error"}]},"preprocessor.if":{"name":"meta.preprocessor.if.slice","begin":"^\\s*((#)\\s*if)\\b","end":"$","patterns":[{"include":"#preprocessor.expression"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.if.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.single-identifier":{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}}},"preprocessor.undef":{"name":"meta.preprocessor.undef.slice","begin":"^\\s*((#)\\s*undef)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#preprocessor.single-identifier"},{"include":"#error"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.undef.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.unknown":{"name":"meta.preprocessor.unknown.slice","begin":"^\\s*((#)\\s*\\w*)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#error"}],"beginCaptures":{"1":{"name":"invalid.illegal.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"reserved-identifiers":{"name":"invalid.illegal.identifier.slice","match":"(?\u003c!\\\\)\\b(?:module|struct|exception|class|interface|enum|custom|typealias|Sequence|Dictionary|Result|bool|int8|uint8|int16|uint16|int32|uint32|varint32|varuint32|int64|uint64|varint62|varuint62|float32|float64|string|AnyClass|compact|idempotent|mode|stream|tag|throws|unchecked)\\b"},"slice":{"patterns":[{"include":"#standard"},{"include":"#compilation-mode"},{"include":"#module-declaration"},{"include":"#struct"},{"include":"#class"},{"include":"#exception"},{"include":"#enum"},{"include":"#interface"},{"include":"#custom-type"},{"include":"#type-alias"},{"include":"#modifier-keywords"},{"include":"#type.identifier"}]},"standard":{"patterns":[{"include":"#comment"},{"include":"#preprocessor"},{"include":"#attribute"}]},"storage.identifier":{"patterns":[{"name":"entity.name.class.slice","match":"(?:\\b|(::)|(?=\\\\))(?:(\\\\?)([a-zA-Z_]\\w*)(::)?)+\\b","captures":{"1":{"name":"punctuation.separator.double-colon.slice"},"2":{"name":"punctuation.definition.identifier.escape.slice"},"3":{"patterns":[{"include":"#reserved-identifiers"}]},"4":{"name":"punctuation.separator.double-colon.slice"}}},{"include":"#error"}]},"string-literal":{"name":"string.quoted.double.slice","begin":"\"","end":"(\")|$","patterns":[{"name":"constant.character.escape.slice","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.slice"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.slice"}}},"struct":{"name":"meta.struct.slice","begin":"(?\u003c!\\\\)\\bstruct\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.struct.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"tag":{"begin":"\\b(tag)\\s*(?=\\()","end":"(?\u003c=\\))","patterns":[{"include":"#id-value"}],"beginCaptures":{"1":{"name":"storage.modifier.tag.slice"}}},"type-alias":{"name":"meta.typealias.slice","begin":"(?\u003c!\\\\)\\btypealias\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"=","end":"$","patterns":[{"include":"#standard"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.alias.slice"}}},"type-keywords":{"match":"(?\u003c!\\\\)\\b(?:(bool)|(int8)|(uint8)|(int16)|(uint16)|(int32)|(uint32)|(varint32)|(varuint32)|(int64)|(uint64)|(varint62)|(varuint62)|(float32)|(float64)|(string)|(AnyClass)|(Sequence)|(Dictionary)|(Result))\\b","captures":{"1":{"name":"storage.type.bool.slice"},"10":{"name":"storage.type.int64.slice"},"11":{"name":"storage.type.uint64.slice"},"12":{"name":"storage.type.varint62.slice"},"13":{"name":"storage.type.varuint62.slice"},"14":{"name":"storage.type.float32.slice"},"15":{"name":"storage.type.float64.slice"},"16":{"name":"storage.type.string.slice"},"17":{"name":"storage.type.AnyClass.slice"},"18":{"name":"storage.type.sequence.slice"},"19":{"name":"storage.type.dictionary.slice"},"2":{"name":"storage.type.int8.slice"},"20":{"name":"storage.type.result.slice"},"3":{"name":"storage.type.uint8.slice"},"4":{"name":"storage.type.int16.slice"},"5":{"name":"storage.type.uint16.slice"},"6":{"name":"storage.type.int32.slice"},"7":{"name":"storage.type.uint32.slice"},"8":{"name":"storage.type.varint32.slice"},"9":{"name":"storage.type.varuint32.slice"}}},"type-name":{"patterns":[{"include":"#type-keywords"},{"include":"#storage.identifier"}]},"type.identifier":{"patterns":[{"name":"meta.generic.parameters.slice","begin":"(?=\\b|\\W)([\\\\\\w:]+)\\s*(\\\u003c)","end":"(\\\u003e)\\s*(\\?)?","patterns":[{"include":"#standard"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"1":{"patterns":[{"include":"#type-name"}]},"2":{"name":"punctuation.angle.open.slice"}},"endCaptures":{"1":{"name":"punctuation.angle.close.slice"},"2":{"name":"punctuation.definition.optional.slice"}}},{"match":"(?=\\b|\\W)([\\\\\\w:]+)\\s*(\\?)?(?\u003c=\\b|\\W)","captures":{"1":{"patterns":[{"include":"#type-name"}]},"2":{"name":"punctuation.definition.optional.slice"}}}]}}}
1
+ {"name":"Slice","scopeName":"source.slice","patterns":[{"include":"#slice"}],"repository":{"attribute":{"patterns":[{"include":"#attribute.file"},{"include":"#attribute.local"}]},"attribute.directive":{"begin":"[\\w]+(?:(::)\\w+)*","end":"(?=\\])|$","patterns":[{"include":"#comment"},{"name":"meta.attribute.arguments.slice","begin":"\\(","end":"(?=\\])|$","patterns":[{"include":"#comment"},{"include":"#string-literal"},{"name":"variable.other.constant.attribute.slice","match":"\\b\\w+\\b"},{"name":"punctuation.separator.comma.slice","match":","},{"begin":"\\)","end":"(?=\\])|$","patterns":[{"include":"#comment"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.close.attribute.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.attribute.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"entity.name.function.attribute.slice"},"1":{"name":"punctuation.separator.double-colon.slice"}}},"attribute.file":{"name":"meta.attribute.file.slice","begin":"\\[\\[","end":"(\\]\\])|$","patterns":[{"include":"#comment"},{"include":"#attribute.directive"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.double-bracket.open.attribute.slice"}},"endCaptures":{"1":{"name":"punctuation.double-bracket.close.attribute.slice"}}},"attribute.local":{"name":"meta.attribute.local.slice","begin":"\\[","end":"(\\]|$)","patterns":[{"include":"#comment"},{"include":"#attribute.directive"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.bracket.open.attribute.slice"}},"endCaptures":{"1":{"name":"punctuation.bracket.close.attribute.slice"}}},"class":{"name":"meta.class.slice","begin":"(?\u003c!\\\\)\\bclass\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#id-value"},{"include":"#field-container-inheritance"},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.class.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"comment":{"patterns":[{"include":"#doc-comment.line"},{"include":"#comment.line"},{"include":"#comment.block"}]},"comment.block":{"name":"comment.block.slice","contentName":"text.slice","begin":"\\/\\*","end":"\\*\\/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.slice"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.slice"}}},"comment.line":{"name":"comment.line.double-slash.slice","contentName":"text.slice","begin":"\\/\\/","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.line.double-slash.begin.slice"}}},"compilation-mode":{"name":"meta.mode.slice","begin":"(?\u003c!\\\\)\\bmode\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"=","end":"$","patterns":[{"include":"#standard"},{"begin":"\\\\?(\\w+)","end":"$","patterns":[{"include":"#standard"}],"beginCaptures":{"1":{"patterns":[{"name":"variable.other.constant.mode.slice","match":"Slice1|Slice2"},{"include":"#error"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.mode.slice"}}},"custom-type":{"name":"meta.custom.slice","begin":"(?\u003c!\\\\)\\bcustom\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"$","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.custom.slice"}}},"doc-comment.line":{"name":"comment.line.documentation.slice","begin":"\\/\\/\\/","end":"$","patterns":[{"include":"#documentation.param-tag"},{"include":"#documentation.returns-tag"},{"include":"#documentation.throws-tag"},{"include":"#documentation.see-tag"},{"include":"#documentation.text"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.line.documentation.begin.slice"}}},"documentation.identifier":{"patterns":[{"name":"variable.link.slice","match":"(?:\\b|(::))(?:[a-zA-Z_]\\w*(::)?)+\\b","captures":{"1":{"name":"punctuation.separator.double-colon.slice"},"2":{"name":"punctuation.separator.double-colon.slice"}}},{"include":"#error"}]},"documentation.identifier-with-section":{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#documentation.section"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#documentation.identifier"}]}}},"documentation.inline-tags":{"begin":"{(?=\\s*@)","end":"}","patterns":[{"include":"#documentation.link-tag"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.brace.open.documentation.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.documentation.slice"}}},"documentation.link-tag":{"name":"meta.documentation.link.slice","begin":"(@)link\\b","end":"(?=})","patterns":[{"begin":"(?:\\b|::)(?:\\w+(?:::)?)+\\b","end":"(?=})","patterns":[{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#documentation.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.link.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"documentation.param-tag":{"name":"meta.documentation.param.slice","begin":"(@)param\\b","end":"$","patterns":[{"include":"#documentation.identifier-with-section"},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.param.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"documentation.returns-tag":{"name":"meta.documentation.returns.slice","begin":"(@)returns\\b","end":"$","patterns":[{"include":"#documentation.identifier-with-section"},{"include":"#documentation.section"},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.returns.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"documentation.section":{"begin":":","end":"$","patterns":[{"include":"#documentation.text"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.documentation.slice"}}},"documentation.see-tag":{"name":"meta.documentation.see.slice","begin":"(@)see\\b","end":"$","patterns":[{"begin":"(?:\\b|::)(?:\\w+(?:::)?)+\\b","end":"$","patterns":[{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#documentation.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.see.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"documentation.text":{"begin":"(?=\\S)","end":"$","patterns":[{"include":"#documentation.inline-tags"},{"name":"text.slice","match":"."}]},"documentation.throws-tag":{"name":"meta.documentation.throws.slice","begin":"(@)throws\\b","end":"$","patterns":[{"begin":"(?:\\b|::)(?:\\w+(?:::)?)+\\b","end":"$","patterns":[{"include":"#documentation.section"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#documentation.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.throws.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"enum":{"name":"meta.enum.slice","begin":"(?\u003c!\\\\)\\benum\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":":","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#enumerator-container"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},{"include":"#enumerator-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#enumerator-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.enum.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"enumerator":{"name":"meta.enumerator.slice","begin":"\\\\?\\w+","end":"(?=[,}])|$","patterns":[{"include":"#standard"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#tag"},{"include":"#field"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.slice"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.slice"}}},{"include":"#enumerator-value"}],"beginCaptures":{"0":{"name":"variable.other.constant.enum.slice","patterns":[{"include":"#field.identifier"}]}}},"enumerator-container":{"begin":"{","end":"(?=})","patterns":[{"include":"#enumerator"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.brace.open.slice"}}},"enumerator-value":{"begin":"=","end":"(?=[,}])|$","patterns":[{"include":"#standard"},{"begin":"(?=-|\\b)[\\w-]+\\b","end":"(?=[,}])|$","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#integer-literal"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.slice"}}},"error":{"name":"invalid","match":"\\S"},"exception":{"name":"meta.exception.slice","begin":"(?\u003c!\\\\)\\bexception\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#field-container-inheritance"},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.exception.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"field":{"name":"meta.field.slice","begin":"\\\\?\\w+","end":"(?=[,}\\)])|$","patterns":[{"include":"#standard"},{"begin":":","end":"(?=[,}\\)])|$","patterns":[{"include":"#standard"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"entity.name.variable.slice","patterns":[{"include":"#field.identifier"}]}}},"field-container":{"begin":"{","end":"(?=})","patterns":[{"include":"#tag"},{"include":"#field"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.brace.open.slice"}}},"field-container-inheritance":{"begin":":","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#field-container"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},"field.identifier":{"patterns":[{"match":"(\\\\?)\\b([a-zA-Z_]\\w*)\\b","captures":{"1":{"name":"punctuation.definition.identifier.escape.slice"},"2":{"patterns":[{"include":"#reserved-identifiers"}]}}},{"include":"#error"}]},"id-value":{"begin":"\\(","end":"\\)","patterns":[{"include":"#standard"},{"begin":"[^\\s\\)]+","end":"(?=\\))","patterns":[{"include":"#standard"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#integer-literal"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.slice"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.slice"}}},"integer-literal":{"patterns":[{"name":"constant.numeric.bin.slice","match":"(-)?\\b(0b)(?:[0-1_]+)\\b","captures":{"1":{"name":"punctuation.definition.numeric.negative.slice"},"2":{"name":"punctuation.definition.numeric.bin.slice"}}},{"name":"constant.numeric.dec.slice","match":"(-)?\\b(?:[\\d_]+)\\b","captures":{"1":{"name":"punctuation.definition.numeric.negative.slice"}}},{"name":"constant.numeric.hex.slice","match":"(-)?\\b(0x)(?:[\\da-fA-F_]+)\\b","captures":{"1":{"name":"punctuation.definition.numeric.negative.slice"},"2":{"name":"punctuation.definition.numeric.hex.slice"}}},{"include":"#error"}]},"interface":{"name":"meta.interface.slice","begin":"(?\u003c!\\\\)\\binterface\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":":","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#operation-container"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},{"include":"#operation-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#operation-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.interface.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"modifier-keywords":{"match":"(?\u003c!\\\\)\\b(?:(compact)|(idempotent)|(stream)|(tag\\([-\\w]+\\))|(throws)|(unchecked))(\\b|(?\u003c=\\W))","captures":{"1":{"name":"storage.modifier.compact.slice"},"2":{"name":"storage.modifier.idempotent.slice"},"3":{"name":"storage.modifier.stream.slice"},"4":{"name":"meta.tag.slice","patterns":[{"include":"#tag"}]},"5":{"name":"storage.modifier.throws.slice"},"6":{"name":"storage.modifier.unchecked.slice"}}},"module-declaration":{"name":"meta.module.slice","begin":"(?\u003c!\\\\)\\bmodule\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"(?=\\b|\\\\)[\\\\\\w:]+(?\u003c=\\b|\\W)","end":"$","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.module.slice"}}},"operation":{"patterns":[{"include":"#tag"},{"name":"storage.modifier.stream.slice","match":"\\bstream\\b"},{"contentName":"meta.exception-list.slice","begin":"\\b(throws)\\b\\s*(\\()","end":"\\)","patterns":[{"include":"#standard"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#storage.identifier"},{"include":"#slice"}],"beginCaptures":{"1":{"name":"storage.modifier.throws.slice"},"2":{"name":"punctuation.parenthesis.open.slice"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.slice"}}},{"name":"storage.modifier.throws.slice","match":"\\bthrows\\b"},{"name":"punctuation.definition.returns.slice","match":"-\u003e"},{"name":"punctuation.separator.comma.slice","match":","},{"name":"meta.parameter-list.slice","begin":"\\(","end":"\\)","patterns":[{"include":"#tag"},{"include":"#parameter"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.slice"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.slice"}}},{"match":"\\\\?\\w+(?=\\s*\\()","captures":{"0":{"name":"entity.name.function.slice","patterns":[{"include":"#field.identifier"}]}}}]},"operation-container":{"begin":"{","end":"(?=})","patterns":[{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.brace.open.slice"}}},"parameter":{"name":"meta.parameter.slice","begin":"\\\\?\\w+","end":"(?=[,\\)])|$","patterns":[{"include":"#standard"},{"begin":":","end":"(?=[,\\)])|$","patterns":[{"include":"#standard"},{"name":"storage.modifier.stream.slice","match":"\\bstream\\b"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"entity.name.variable.slice","patterns":[{"include":"#field.identifier"}]}}},"preprocessor":{"patterns":[{"include":"#preprocessor.define"},{"include":"#preprocessor.undef"},{"include":"#preprocessor.if"},{"include":"#preprocessor.elif"},{"include":"#preprocessor.else"},{"include":"#preprocessor.endif"},{"include":"#preprocessor.unknown"},{"include":"#preprocessor.unknown"}]},"preprocessor.define":{"name":"meta.preprocessor.define.slice","begin":"^\\s*((#)\\s*define)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#preprocessor.single-identifier"},{"include":"#error"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.undef.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.elif":{"name":"meta.preprocessor.elif.slice","begin":"^\\s*((#)\\s*elif)\\b","end":"$","patterns":[{"include":"#preprocessor.expression"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.elif.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.else":{"name":"meta.preprocessor.else.slice","begin":"^\\s*((#)\\s*else)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#error"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.else.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.endif":{"name":"meta.preprocessor.endif.slice","begin":"^\\s*((#)\\s*endif)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#error"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.endif.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.expression":{"patterns":[{"include":"#comment.line"},{"match":"(!)|(\u0026\u0026)|(\\|\\|)|(\\()|(\\))","captures":{"1":{"name":"keyword.operator.logical.not.slice"},"2":{"name":"keyword.operator.logical.and.slice"},"3":{"name":"keyword.operator.logical.or.slice"},"4":{"name":"punctuation.parenthesis.open.slice"},"5":{"name":"punctuation.parenthesis.close.slice"}}},{"include":"#preprocessor.identifier"},{"include":"#error"}]},"preprocessor.identifier":{"patterns":[{"name":"constant.other.symbol.preprocessor.slice","match":"\\b[a-zA-Z_]\\w*\\b"},{"include":"#error"}]},"preprocessor.if":{"name":"meta.preprocessor.if.slice","begin":"^\\s*((#)\\s*if)\\b","end":"$","patterns":[{"include":"#preprocessor.expression"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.if.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.single-identifier":{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}}},"preprocessor.undef":{"name":"meta.preprocessor.undef.slice","begin":"^\\s*((#)\\s*undef)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#preprocessor.single-identifier"},{"include":"#error"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.undef.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.unknown":{"name":"meta.preprocessor.unknown.slice","begin":"^\\s*((#)\\s*\\w*)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#error"}],"beginCaptures":{"1":{"name":"invalid.illegal.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"reserved-identifiers":{"name":"invalid.illegal.identifier.slice","match":"(?\u003c!\\\\)\\b(?:module|struct|exception|class|interface|enum|custom|typealias|Sequence|Dictionary|Result|bool|int8|uint8|int16|uint16|int32|uint32|varint32|varuint32|int64|uint64|varint62|varuint62|float32|float64|string|AnyClass|compact|idempotent|mode|stream|tag|throws|unchecked)\\b"},"slice":{"patterns":[{"include":"#standard"},{"include":"#string-literal"},{"include":"#compilation-mode"},{"include":"#module-declaration"},{"include":"#struct"},{"include":"#class"},{"include":"#exception"},{"include":"#enum"},{"include":"#interface"},{"include":"#custom-type"},{"include":"#type-alias"},{"include":"#modifier-keywords"},{"include":"#operation"},{"include":"#type.identifier"}]},"standard":{"patterns":[{"include":"#comment"},{"include":"#preprocessor"},{"include":"#attribute"}]},"storage.identifier":{"patterns":[{"name":"entity.name.class.slice","match":"(?:\\b|(::)|(?=\\\\))(?:(\\\\?)([a-zA-Z_]\\w*)(::)?)+\\b","captures":{"1":{"name":"punctuation.separator.double-colon.slice"},"2":{"name":"punctuation.definition.identifier.escape.slice"},"3":{"patterns":[{"include":"#reserved-identifiers"}]},"4":{"name":"punctuation.separator.double-colon.slice"}}},{"include":"#error"}]},"string-literal":{"name":"string.quoted.double.slice","begin":"\"","end":"(\")|$","patterns":[{"name":"constant.character.escape.slice","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.slice"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.slice"}}},"struct":{"name":"meta.struct.slice","begin":"(?\u003c!\\\\)\\bstruct\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.struct.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"tag":{"begin":"\\b(tag)\\s*(?=\\()","end":"(?\u003c=\\))","patterns":[{"include":"#id-value"}],"beginCaptures":{"1":{"name":"storage.modifier.tag.slice"}}},"type-alias":{"name":"meta.typealias.slice","begin":"(?\u003c!\\\\)\\btypealias\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"=","end":"$","patterns":[{"include":"#standard"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.alias.slice"}}},"type-keywords":{"match":"(?\u003c!\\\\)\\b(?:(bool)|(int8)|(uint8)|(int16)|(uint16)|(int32)|(uint32)|(varint32)|(varuint32)|(int64)|(uint64)|(varint62)|(varuint62)|(float32)|(float64)|(string)|(AnyClass)|(Sequence)|(Dictionary)|(Result))\\b","captures":{"1":{"name":"storage.type.bool.slice"},"10":{"name":"storage.type.int64.slice"},"11":{"name":"storage.type.uint64.slice"},"12":{"name":"storage.type.varint62.slice"},"13":{"name":"storage.type.varuint62.slice"},"14":{"name":"storage.type.float32.slice"},"15":{"name":"storage.type.float64.slice"},"16":{"name":"storage.type.string.slice"},"17":{"name":"storage.type.AnyClass.slice"},"18":{"name":"storage.type.sequence.slice"},"19":{"name":"storage.type.dictionary.slice"},"2":{"name":"storage.type.int8.slice"},"20":{"name":"storage.type.result.slice"},"3":{"name":"storage.type.uint8.slice"},"4":{"name":"storage.type.int16.slice"},"5":{"name":"storage.type.uint16.slice"},"6":{"name":"storage.type.int32.slice"},"7":{"name":"storage.type.uint32.slice"},"8":{"name":"storage.type.varint32.slice"},"9":{"name":"storage.type.varuint32.slice"}}},"type-name":{"patterns":[{"include":"#type-keywords"},{"include":"#storage.identifier"}]},"type.identifier":{"patterns":[{"name":"meta.generic.parameters.slice","begin":"(?=\\b|\\W)([\\\\\\w:]+)\\s*(\\\u003c)","end":"(\\\u003e)\\s*(\\?)?","patterns":[{"include":"#standard"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"1":{"patterns":[{"include":"#type-name"}]},"2":{"name":"punctuation.angle.open.slice"}},"endCaptures":{"1":{"name":"punctuation.angle.close.slice"},"2":{"name":"punctuation.definition.optional.slice"}}},{"match":"(?=\\b|\\W)([\\\\\\w:]+)\\s*(\\?)?(?\u003c=\\b|\\W)","captures":{"1":{"patterns":[{"include":"#type-name"}]},"2":{"name":"punctuation.definition.optional.slice"}}}]}}}
@@ -1 +1 @@
1
- {"name":"slint","scopeName":"source.slint","patterns":[{"include":"#document"}],"repository":{"block-comments":{"patterns":[{"name":"comment.block","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block-comments"}]}]},"document":{"patterns":[{"include":"#general"},{"name":"keyword","match":"(?\u003c!-)\\b(from|export)\\b(?!-)"},{"name":"keyword.other","match":"(?\u003c!-)\\b(animate|states|transitions|private|public|pure|function|in|out|in-out)\\b(?!-)"},{"name":"keyword.control","match":"(?\u003c!-)\\b(if|for|return)\\b(?!-)"},{"name":"variable.language","match":"(?\u003c!-)\\b(root|parent|this|self)\\b(?!-)"},{"match":"(?\u003c!-)\\b(import)\\s*\\{\\s*(([a-zA-Z_][a-zA-Z0-9_-]*)(\\s*,\\s*([a-zA-Z_][a-zA-Z0-9_-]*))*)\\s*\\}","captures":{"1":{"name":"keyword.other"},"3":{"name":"entity.name.type"},"5":{"name":"entity.name.type"}}},{"match":"(?\u003c!-)\\b([a-zA-Z_][a-zA-Z0-9_-]*)\\s*:","captures":{"1":{"name":"variable.parameter"}}},{"match":"(?\u003c!-)\\b([a-zA-Z_][a-zA-Z0-9_-]*)\\s*\\(.*\\)\\s*=\u003e","captures":{"1":{"name":"entity.name.function"}}},{"match":"(?\u003c!-)\\b(callback)\\s+([a-zA-Z_][a-zA-Z0-9_-]*)\\s*","captures":{"1":{"name":"entity.name.function"},"2":{"name":"entity.name.type"}}},{"begin":"(?\u003c!-)\\b(struct)\\s+([a-zA-Z_][a-zA-Z0-9_-]*)\\s*\\{","end":"\\}","patterns":[{"match":"([a-zA-Z_][a-zA-Z0-9_-]*)\\s*:\\s*([a-zA-Z_][a-zA-Z0-9_-]*)\\s*,?","captures":{"1":{"name":"variable.parameter"},"2":{"name":"entity.name.type"}}}],"beginCaptures":{"1":{"name":"storage.type"},"2":{"name":"entity.name.type"}}},{"begin":"(?\u003c!-)\\b(global)\\s+([a-zA-Z_][a-zA-Z0-9_-]*)\\s*\\{","end":"\\}","patterns":[{"include":"#property"}],"beginCaptures":{"1":{"name":"storage.type"},"2":{"name":"entity.name.type"}}},{"begin":"(?\u003c!-)\\b(enum)\\s+([a-zA-Z_][a-zA-Z0-9_-]*)\\s*\\{","end":"\\}","patterns":[{"name":"entity.name.type","match":"([a-zA-Z_][a-zA-Z0-9_-]*)\\s*,?"}],"beginCaptures":{"1":{"name":"storage.type"},"2":{"name":"entity.name.type"}}},{"match":"(?\u003c!-)\\b(component|inherits)\\s+([a-zA-Z_][a-zA-Z0-9_-]*)","captures":{"1":{"name":"storage.type"},"2":{"name":"entity.name.type"}}},{"match":"([a-zA-Z_][a-zA-Z0-9_-])*\\s*(:=)\\s*([a-zA-Z_][a-zA-Z0-9_-]*)","captures":{"1":{"name":"variable.parameter"},"2":{"name":"keyword.operator"},"3":{"name":"entity.name.type"}}},{"name":"support.constant","match":"(?\u003c!-)\\b(blue|red|green|yellow|red|black|linear|ease-in-quad|ease-out-quad|ease-in-out-quad|ease|ease-in|ease-out|ease-in-out|ease-in-quart|ease-out-quart|ease-in-out-quart|ease-in-quint|ease-out-quint|ease-in-out-quint|ease-in-expo|ease-out-expo|ease-in-out-expo|ease-in-sine|ease-out-sine|ease-in-out-sine|ease-in-back|ease-out-back|ease-in-out-back|ease-in-circ|ease-out-circ|ease-in-out-circ|ease-in-elastic|ease-out-elastic|ease-in-out-elastic|ease-in-bounce|ease-out-bounce|ease-in-out-bounce|cubic-bezier)\\b(?!-)"},{"include":"#property"}]},"general":{"patterns":[{"include":"#block-comments"},{"name":"comment.line","match":"//.*$"},{"name":"string.quoted.double","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\(n|\\\\|u\\{\\d+\\}|\\{[^\\}]+\\})"}]},{"name":"constant.other","match":"#([a-fA-F0-9]){3,8}"},{"name":"constant.numeric","match":"\\b\\d+(\\.\\d*)?(%|px|phx|pt|in|mm|cm|ms|s|deg|rad|turn)?\\b"}]},"property":{"patterns":[{"begin":"\\b(property)\\b","end":"(;|:|\u003c=\u003e)","patterns":[{"match":"\u003c([a-zA-Z_][a-zA-Z0-9_-]*)\u003e","captures":{"1":{"name":"entity.name.type"}}},{"name":"variable.parameter","match":"[a-zA-Z_][a-zA-Z0-9_-]*"},{"name":"keyword.operator","match":"\\b(\u003c=\u003e|:)\\b"}],"beginCaptures":{"1":{"name":"keyword.other"}}}]}}}
1
+ {"name":"slint","scopeName":"source.slint","patterns":[{"include":"#comment"},{"include":"#import-list"},{"include":"#export-list"},{"include":"#struct"},{"include":"#enum"},{"include":"#global"},{"include":"#component"},{"name":"keyword.other.export.slint","match":"(?\u003c!-)\\bexport\\b(?!-)"},{"include":"#element-contents"}],"repository":{"animate":{"patterns":[{"begin":"(?\u003c!-)\\b(animate)\\s*([a-zA-Z_][a-zA-Z0-9_-]*)\\s*(\\{)","end":"(\\})","patterns":[{"match":"(?\u003c!-)\\b(delay|duration|iteration-count|easing|direction)\\s*:","captures":{"1":{"name":"keyword.other.animate.setting.slint"}}},{"include":"#expression"},{"match":";"}],"beginCaptures":{"1":{"name":"keyword.other.animate.slint"},"2":{"name":"variable.other.property.slint"},"3":{"name":"punctuation.brackets.curly.slint"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.slint"}}}]},"block-comment":{"patterns":[{"contentName":"comment.block.slint","begin":"(/\\*)","end":"(\\*/)","patterns":[{"include":"#block-comment"}],"beginCaptures":{"1":{"name":"comment.block.slint"}},"endCaptures":{"1":{"name":"comment.block.slint"}}}]},"boolean":{"patterns":[{"name":"constant.language.boolean.slint","match":"(?\u003c!-)\\b(true|false)\\b(?!-)"}]},"callback-setup":{"patterns":[{"match":"(?\u003c!-)([a-zA-Z_][a-zA-Z0-9_-]*)\\s*=\u003e","captures":{"1":{"name":"entity.name.function.slint"}}},{"begin":"(?\u003c!-)([a-zA-Z_][a-zA-Z0-9_-]*)\\s*\\(","end":"\\)\\s*=\u003e","patterns":[{"include":"#expression"},{"match":"\\s*,\\s*"}],"beginCaptures":{"1":{"name":"entity.name.function.slint"}}}]},"code-block":{"patterns":[{"begin":"\\s*(\\{)","end":"(\\})\\s*","patterns":[{"include":"#code-block-contents"}],"beginCaptures":{"1":{"name":"punctuation.brackets.curly.slint"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.slint"}}}]},"code-block-contents":{"patterns":[{"include":"#comment"},{"include":"#expression"},{"name":"keyword.control.code-block.slint","match":"(?\u003c!-)\\b(for|if|else|return)\\b(?!-)"},{"name":"punctuation.other.code-block.slint","match":"(=|;)"},{"include":"#function-call"},{"include":"#code-block"}]},"color":{"patterns":[{"name":"constant.other.color.slint","match":"#([a-fA-F0-9]){3,8}"},{"match":"(?\u003c!-)\\b((Colors)\\.)(aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|transparent|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen)\\b(?!-)","captures":{"2":{"name":"support.class.colors.slint"},"3":{"name":"support.constant.colors.slint"}}}]},"comment":{"patterns":[{"include":"#block-comment"},{"include":"#line-comment"}]},"component":{"patterns":[{"begin":"(?\u003c!-)\\b(component)\\s+([a-zA-Z_][a-zA-Z0-9_-]*)(\\s+(inherits)\\s+([a-zA-Z_][a-zA-Z0-9_-]*))?\\s*(\\{)","end":"(\\})","patterns":[{"include":"#element-contents"}],"beginCaptures":{"1":{"name":"keyword.other.component.slint"},"2":{"name":"entity.name.type.component.slint"},"4":{"name":"keyword.other.inherits.slint"},"5":{"name":"entity.other.inherited-class.component.slint"},"6":{"name":"punctuation.brackets.curly.slint"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.slint"}}}]},"conditional-element":{"begin":"(?\u003c!-)\\b(if)\\s+","end":":","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.conditional-element.slint"}}},"element":{"begin":"(?\u003c!-)(([a-zA-Z_][a-zA-Z0-9_-]*)\\s*(:=)\\s*)?([a-zA-Z_][a-zA-Z0-9_-]*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#element-contents"}],"beginCaptures":{"2":{"name":"entity.name.tag.element-id.slint"},"3":{"name":"punctuation.assignment.element-id.slint"},"4":{"name":"entity.name.type.element.slint"},"5":{"name":"punctuation.brackets.curly.slint"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.slint"}}},"element-contents":{"patterns":[{"include":"#comment"},{"include":"#conditional-element"},{"include":"#repeated-element"},{"include":"#property-def"},{"include":"#animate"},{"include":"#element"},{"include":"#function"},{"include":"#property-set"},{"include":"#code-block"},{"include":"#states"},{"include":"#callback-setup"},{"include":"#expression"},{"name":"keyword.other.extra.slint","match":"(?\u003c!-)\\b(animate|states|transitions|private|public|pure|in|out|in-out|changed)\\b(?!-)"}]},"enum":{"patterns":[{"begin":"(?\u003c!-)\\b(enum)\\s+([a-zA-Z_][a-zA-Z0-9_-]*)\\s*(\\{)","end":"(\\})","patterns":[{"match":"([a-zA-Z_][a-zA-Z0-9_-]*)\\s*,?\\s*","captures":{"1":{"name":"entity.name.type.enum.value.slint"}}},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.declaration.enum.slint"},"2":{"name":"entity.name.type.enum.slint"},"3":{"name":"punctuation.brackets.curly.slint"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.slint"}}}]},"export-list":{"patterns":[{"begin":"(?\u003c!-)\\b(export)\\s*(\\{)","end":"(\\})","patterns":[{"name":"keyword.other.as.slint","match":"(?\u003c!-)\\bas\\b(?!-)"},{"name":"entity.name.type.export-list.slint","match":"[a-zA-Z_][a-zA-Z0-9_-]*"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.other.export.slint"},"2":{"name":"punctuation.brackets.curly.slint"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.slint"}}},{"match":"\\s*(from)\\s*(\"[^\"]*\")\\s*;","captures":{"1":{"name":"keyword.other.from.slint"},"2":{"name":"string.quoted.double.export-path.slint"}}}]},"expression":{"patterns":[{"include":"#value"},{"match":"(?\u003c!-)\\b(root|parent|self)(?!-)","captures":{"1":{"name":"variable.language.special-element.slint"}}}]},"function":{"patterns":[{"match":"(?\u003c!-)\\b((pure)\\s+)?(function|callback)\\s+([a-zA-Z_][a-zA-Z0-9_-]*)\\s*;\\s*","captures":{"2":{"name":"keyword.other.pure.slint"},"3":{"name":"keyword.other.function.slint"},"4":{"name":"entity.name.function.slint"}}},{"begin":"(?\u003c!-)\\b((pure)\\s+)?(function|callback)\\s+([a-zA-Z_][a-zA-Z0-9_-]*)\\s*(\\()","end":"(\\))\\s*((-\u003e)\\s*([a-zA-Z_][a-zA-Z0-9_-]*))?(;|(=\u003e))?","patterns":[{"match":"\\s*(([a-zA-Z_][a-zA-Z0-9_-]*)\\s*:\\s*)?([a-zA-Z_][a-zA-Z0-9_-]*)\\s*,?\\s*","captures":{"2":{"name":"variable.parameter.function-argument.slint"},"3":{"name":"entity.name.type.function-argument.slint"}}}],"beginCaptures":{"2":{"name":"keyword.other.pure.slint"},"3":{"name":"keyword.other.function.slint"},"4":{"name":"entity.name.function.slint"},"5":{"name":"punctuation.brackets.round.slint"}},"endCaptures":{"1":{"name":"punctuation.brackets.round.slint"},"3":{"name":"keyword.operator.arrow.skinny.slint"},"4":{"name":"entity.name.type.return-type.slint"},"6":{"name":"keyword.operator.arrow.fat.slint"}}}]},"function-call":{"patterns":[{"begin":"(?\u003c!-)([a-zA-Z_][a-zA-Z0-9_.-]*)\\s*\\(","end":"\\)","patterns":[{"include":"#expression"},{"match":"\\s,\\s"}],"beginCaptures":{"1":{"name":"entity.name.function.slint"}}}]},"global":{"patterns":[{"begin":"(?\u003c!-)\\b(global)\\s+([a-zA-Z_][a-zA-Z0-9_-]*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#element-contents"}],"beginCaptures":{"1":{"name":"keyword.other.global.slint"},"2":{"name":"entity.name.type.global.slint"},"3":{"name":"punctuation.brackets.curly.slint"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.slint"}}}]},"import-list":{"patterns":[{"match":"(?\u003c!-)\\b(import)\\s*(\"[^\"]*\")\\s*;","captures":{"1":{"name":"keyword.other.import.slint"},"2":{"name":"string.quoted.double.import-file.slint"}}},{"begin":"(?\u003c!-)\\b(import)\\s*(\\{)","end":"(\\})\\s*(from)\\s*(\"[^\"]*\")\\s*;","patterns":[{"name":"keyword.other.as.slint","match":"(?\u003c!-)\\bas\\b(?!-)"},{"name":"entity.name.type.import-list.slint","match":"(?\u003c!-)[a-zA-Z_][a-zA-Z0-9_-]*(?!-)"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.other.import.slint"},"2":{"name":"punctuation.brackets.curly.slint"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.slint"},"2":{"name":"keyword.other.from.slint"},"3":{"name":"string.quoted.double.import-path.slint"}}}]},"line-comment":{"patterns":[{"name":"comment.line.double-slash.slint","match":"//.*$"}]},"number":{"patterns":[{"name":"constant.numeric.slint","match":"(\\+|-)?\\d+(\\.\\d*)?(%|px|phx|pt|in|mm|cm|ms|s|deg|rad|rem|turn)?"}]},"property-def":{"patterns":[{"begin":"(?\u003c!-)\\b((private|in|out|in-out)\\s+)?(property)\\b(?!-)","end":"(;|:|(\u003c=\u003e))","patterns":[{"match":"(\u003c)([a-zA-Z_][a-zA-Z0-9_-]*)(\u003e)","captures":{"1":{"name":"punctuation.brackets.angle.slint"},"2":{"name":"entity.name.type.property.slint"},"3":{"name":"punctuation.brackets.angle.slint"}}},{"match":"(?\u003c!-)\\b([a-zA-Z_][a-zA-Z0-9_-]*)\\b(?!-)","captures":{"1":{"name":"variable.other.property.slint"}}}],"beginCaptures":{"2":{"name":"keyword.other.visibility.slint"},"3":{"name":"keyword.other.property.slint"}},"endCaptures":{"2":{"name":"punctuation.arrow.fat-double.slint"}}}]},"property-set":{"begin":"(?\u003c!-)([a-zA-Z_][a-zA-Z0-9_-]*)\\s*(:)","end":";","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"variable.other.property.slint"}}},"repeated-element":{"begin":"(?\u003c!-)\\b(for)\\s+([a-zA-Z_][a-zA-Z0-9_-]*)(\\s*(\\[)\\s*([a-zA-Z_][a-zA-Z0-9_-]*)\\s*(\\]))?\\s+(in)\\b(?!-)","end":":","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.repeated-element.slint"},"2":{"name":"variable.other.iterator.slint"},"4":{"name":"punctuation.brackets.square.slint"},"5":{"name":"variable.other.index.slint"},"6":{"name":"punctuation.brackets.square.slint"},"7":{"name":"keyword.control.in.slint"}}},"states":{"patterns":[{"begin":"(?\u003c!-)\\b(states)\\s*(\\[)","end":"(\\])","patterns":[{"begin":"(?\u003c!-)([a-zA-Z_][a-zA-Z0-9_-]*)\\s+(when)\\s+","end":":","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.state.slint"},"2":{"name":"keyword.other.when.slint"}},"endCaptures":{"1":{"name":"punctuation.brackets.square.curly.slint"}}},{"begin":"(\\{)","end":"(\\})","patterns":[{"include":"#property-set"},{"begin":"(?\u003c!-)\\b(in|out)\\s+(\\{)","end":"(\\})","patterns":[{"include":"#property-set"},{"include":"#animate"}],"beginCaptures":{"1":{"name":"keyword.other.state-change.slint"},"2":{"name":"punctuation.brackets.square.curly.slint"}},"endCaptures":{"1":{"name":"punctuation.brackets.square.curly.slint"}}}],"beginCaptures":{"1":{"name":"punctuation.brackets.square.curly.slint"}},"endCaptures":{"1":{"name":"punctuation.brackets.square.curly.slint"}}}],"beginCaptures":{"1":{"name":"keyword.other.states.slint"},"2":{"name":"punctuation.brackets.square.slint"}},"endCaptures":{"1":{"name":"punctuation.brackets.square.slint"}}}]},"string":{"patterns":[{"name":"string.quoted.double.slint","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.untitled.slint","match":"\\\\(n|\\\\|u\\{\\d+\\}|\\{[^\\}]+\\})"}]}]},"struct":{"patterns":[{"begin":"(?\u003c!-)\\b(struct)\\s+([a-zA-Z_][a-zA-Z0-9_-]*)\\s*(\\{)","end":"(\\})","patterns":[{"match":"\\s*([a-zA-Z_][a-zA-Z0-9_-]*)\\s*:\\s*([a-zA-Z_][a-zA-Z0-9_-]*)(\\s*,)?\\s*","captures":{"1":{"name":"variable.other.struct.field.slint"},"2":{"name":"entity.name.type.struct.field.slint"}}},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.declaration.struct.slint"},"2":{"name":"entity.name.type.struct.slint"},"3":{"name":"punctuation.brackets.curly.slint"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.slint"}}}]},"value":{"patterns":[{"include":"#string"},{"include":"#color"},{"include":"#number"},{"include":"#boolean"},{"begin":"(@(tr|linear-gradient|radial-gradient|image-url))\\s*(\\()","end":"(\\))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"support.function.macro.slint"},"3":{"name":"punctuation.brackets.round.slint"}},"endCaptures":{"1":{"name":"support.function.macro.slint"},"2":{"name":"punctuation.brackets.round.slint"}}}]}}}
@@ -1 +1 @@
1
- {"name":"Smithy","scopeName":"source.smithy","patterns":[{"include":"#comment"},{"name":"meta.keyword.statement.control.smithy","begin":"^(\\$)([A-Z-a-z_][A-Z-a-z0-9_]*)(:)\\s*","end":"\\n","patterns":[{"include":"#value"},{"name":"invalid.illegal.control.smithy","match":"[^\\n]"}],"beginCaptures":{"1":{"name":"keyword.statement.control.smithy"},"2":{"name":"support.type.property-name.smithy"},"3":{"name":"punctuation.separator.dictionary.pair.smithy"}}},{"name":"meta.keyword.statement.metadata.smithy","begin":"^(metadata)\\s+(.+)\\s*(=)\\s*","end":"\\n","patterns":[{"include":"#value"}],"beginCaptures":{"1":{"name":"keyword.statement.smithy"},"2":{"name":"variable.other.smithy"},"3":{"name":"keyword.operator.smithy"}}},{"name":"meta.keyword.statement.namespace.smithy","begin":"^(namespace)\\s+","end":"\\n","patterns":[{"name":"entity.name.type.smithy","match":"[A-Z-a-z_][A-Z-a-z0-9_]*(\\.[A-Z-a-z_][A-Z-a-z0-9_]*)*"},{"name":"invalid.illegal.namespace.smithy","match":"[^\\n]"}],"beginCaptures":{"1":{"name":"keyword.statement.smithy"}}},{"name":"meta.keyword.statement.use.smithy","begin":"^(use)\\s+","end":"\\n","patterns":[{"name":"entity.name.type.smithy","match":"[A-Z-a-z_][A-Z-a-z0-9_]*(\\.[A-Z-a-z_][A-Z-a-z0-9_]*)*#[A-Z-a-z_][A-Z-a-z0-9_]*(\\.[A-Z-a-z_][A-Z-a-z0-9_]*)*"},{"name":"invalid.illegal.use.smithy","match":"[^\\n]"}],"beginCaptures":{"1":{"name":"keyword.statement.smithy"}}},{"include":"#trait"},{"name":"meta.keyword.statement.shape.smithy","begin":"^(byte|short|integer|long|float|double|bigInteger|bigDecimal|boolean|blob|string|timestamp|document|list|set|map|union|service|operation|resource|enum|intEnum)\\s+([A-Z-a-z_][A-Z-a-z0-9_]*)\\s+(with)\\s+(\\[)","end":"\\]","patterns":[{"name":"entity.name.type.smithy","include":"#identifier"},{"include":"#comment"},{"name":"punctuation.separator.array.smithy","match":","}],"beginCaptures":{"1":{"name":"keyword.statement.smithy"},"2":{"name":"entity.name.type.smithy"},"3":{"name":"keyword.statement.with.smithy"},"4":{"name":"punctuation.definition.array.begin.smithy"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.smithy"}}},{"name":"meta.keyword.statement.shape.smithy","match":"^(byte|short|integer|long|float|double|bigInteger|bigDecimal|boolean|blob|string|timestamp|document|list|set|map|union|service|operation|resource|enum|intEnum)\\s+([A-Z-a-z_][A-Z-a-z0-9_]*)","captures":{"1":{"name":"keyword.statement.smithy"},"2":{"name":"entity.name.type.smithy"}}},{"name":"meta.keyword.statement.shape.smithy","begin":"^(structure)\\s+([A-Z-a-z_][A-Z-a-z0-9_]*)(?:\\s+(for)\\s+([0-9a-zA-Z\\.#-]+))?\\s+(with)\\s+(\\[)","end":"\\]","patterns":[{"name":"entity.name.type.smithy","include":"#identifier"},{"include":"#comment"},{"name":"punctuation.separator.array.smithy","match":","}],"beginCaptures":{"1":{"name":"keyword.statement.smithy"},"2":{"name":"entity.name.type.smithy"},"3":{"name":"keyword.statement.for-resource.smithy"},"4":{"name":"entity.name.type.smithy"},"5":{"name":"keyword.statement.with.smithy"},"6":{"name":"punctuation.definition.array.begin.smithy"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.smithy"}}},{"name":"meta.keyword.statement.shape.smithy","match":"^(structure)\\s+([A-Z-a-z_][A-Z-a-z0-9_]*)(?:\\s+(for)\\s+([0-9a-zA-Z\\.#-]+))?","captures":{"1":{"name":"keyword.statement.smithy"},"2":{"name":"entity.name.type.smithy"},"3":{"name":"keyword.statement.for-resource.smithy"},"4":{"name":"entity.name.type.smithy"}}},{"begin":"\\{","end":"\\}","patterns":[{"include":"#shape_inner"}],"beginCaptures":{"0":{"name":"punctuation.definition.dictionary.begin.smithy"}},"endCaptures":{"0":{"name":"punctuation.definition.dictionary.end.smithy"}}},{"name":"meta.keyword.statement.apply.smithy","begin":"^(apply)\\s+","end":"\\n","patterns":[{"include":"#trait"},{"include":"#shapeid"},{"name":"invalid.illegal.apply.smithy","match":"[^\\n]"}],"beginCaptures":{"1":{"name":"keyword.statement.smithy"}}}],"repository":{"array":{"name":"meta.structure.array.smithy","begin":"\\[","end":"\\]","patterns":[{"include":"#value"},{"name":"punctuation.separator.array.smithy","match":","},{"name":"invalid.illegal.array.smithy","match":"[^\\s\\]]"}],"beginCaptures":{"0":{"name":"punctuation.definition.array.begin.smithy"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.smithy"}}},"comment":{"patterns":[{"include":"#doc_comment"},{"include":"#line_comment"}]},"doc_comment":{"name":"comment.block.documentation.smithy","match":"(///.*)"},"dquote":{"name":"string.quoted.double.smithy","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.smithy","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.smithy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.smithy"}}},"dquote_key":{"name":"support.type.property-name.smithy","match":"\".*\"(?=\\s*:)"},"elided_target":{"match":"(\\$)([A-Z-a-z0-9_\\.#$]+)","captures":{"1":{"name":"keyword.statement.elision.smithy"},"2":{"name":"support.type.property-name.smithy"}}},"identifier":{"name":"entity.name.type.smithy","match":"[A-Z-a-z_][A-Z-a-z0-9_]*"},"identifier_key":{"name":"support.type.property-name.smithy","match":"[A-Z-a-z0-9_\\.#$]+(?=\\s*:)"},"keywords":{"name":"constant.language.smithy","match":"\\b(?:true|false|null)\\b"},"line_comment":{"name":"comment.line.double-slash.smithy","match":"(//.*)"},"number":{"name":"constant.numeric.smithy","match":"(?x: # turn on extended mode\n -? # an optional minus\n (?:\n 0 # a zero\n | # ...or...\n [1-9] # a 1-9 character\n \\d* # followed by zero or more digits\n )\n (?:\n (?:\n \\. # a period\n \\d+ # followed by one or more digits\n )?\n (?:\n [eE] # an e character\n [+-]? # followed by an option +/-\n \\d+ # followed by one or more digits\n )? # make exponent optional\n )? # make decimal portion optional\n )"},"object":{"name":"meta.structure.dictionary.smithy","begin":"\\{","end":"\\}","patterns":[{"include":"#object_inner"}],"beginCaptures":{"0":{"name":"punctuation.definition.dictionary.begin.smithy"}},"endCaptures":{"0":{"name":"punctuation.definition.dictionary.end.smithy"}}},"object_inner":{"patterns":[{"include":"#comment"},{"include":"#string_key"},{"name":"punctuation.separator.dictionary.key-value.smithy","match":":"},{"name":"keyword.operator.smithy","match":"="},{"name":"meta.structure.dictionary.value.smithy","include":"#value"},{"name":"punctuation.separator.dictionary.pair.smithy","match":","}]},"shape_inner":{"patterns":[{"include":"#trait"},{"name":"punctuation.separator.dictionary.inline-struct.smithy","match":":="},{"include":"#with_statement"},{"include":"#elided_target"},{"include":"#object_inner"}]},"shapeid":{"name":"entity.name.type.smithy","match":"[A-Z-a-z_][A-Z-a-z0-9_\\.#$]*"},"string":{"patterns":[{"include":"#textblock"},{"include":"#dquote"},{"include":"#shapeid"}]},"string_key":{"patterns":[{"include":"#identifier_key"},{"include":"#dquote_key"}]},"textblock":{"name":"string.quoted.double.smithy","begin":"\"\"\"","end":"\"\"\"","patterns":[{"name":"constant.character.escape.smithy","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.smithy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.smithy"}}},"trait":{"patterns":[{"name":"meta.keyword.statement.trait.smithy","begin":"(@)([0-9a-zA-Z\\.#-]+)(\\()","end":"\\)","patterns":[{"include":"#object_inner"},{"include":"#value"}],"beginCaptures":{"1":{"name":"punctuation.definition.annotation.smithy"},"2":{"name":"storage.type.annotation.smithy"},"3":{"name":"punctuation.definition.dictionary.begin.smithy"}},"endCaptures":{"0":{"name":"punctuation.definition.dictionary.end.smithy"}}},{"name":"meta.keyword.statement.trait.smithy","match":"(@)([0-9a-zA-Z\\.#-]+)","captures":{"1":{"name":"punctuation.definition.annotation.smithy"},"2":{"name":"storage.type.annotation.smithy"}}}]},"value":{"patterns":[{"include":"#comment"},{"include":"#keywords"},{"include":"#number"},{"include":"#string"},{"include":"#array"},{"include":"#object"}]},"with_statement":{"begin":"(with)\\s+(\\[)","end":"\\]","patterns":[{"name":"punctuation.separator.array.smithy","match":","},{"include":"#identifier"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.statement.with.smithy"},"2":{"name":"punctuation.definition.array.begin.smithy"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.smithy"}}}}}
1
+ {"name":"Smithy","scopeName":"source.smithy","patterns":[{"include":"#comment"},{"name":"meta.keyword.statement.control.smithy","begin":"^(\\$)([A-Z-a-z_][A-Z-a-z0-9_]*)(:)\\s*","end":"\\n","patterns":[{"include":"#value"},{"name":"invalid.illegal.control.smithy","match":"[^\\n]"}],"beginCaptures":{"1":{"name":"keyword.statement.control.smithy"},"2":{"name":"support.type.property-name.smithy"},"3":{"name":"punctuation.separator.dictionary.pair.smithy"}}},{"name":"meta.keyword.statement.metadata.smithy","begin":"^(metadata)\\s+(.+)\\s*(=)\\s*","end":"\\n","patterns":[{"include":"#value"}],"beginCaptures":{"1":{"name":"keyword.statement.smithy"},"2":{"name":"variable.other.smithy"},"3":{"name":"keyword.operator.smithy"}}},{"name":"meta.keyword.statement.namespace.smithy","begin":"^(namespace)\\s+","end":"\\n","patterns":[{"name":"entity.name.type.smithy","match":"[A-Z-a-z_][A-Z-a-z0-9_]*(\\.[A-Z-a-z_][A-Z-a-z0-9_]*)*"},{"name":"invalid.illegal.namespace.smithy","match":"[^\\n]"}],"beginCaptures":{"1":{"name":"keyword.statement.smithy"}}},{"name":"meta.keyword.statement.use.smithy","begin":"^(use)\\s+","end":"\\n","patterns":[{"name":"entity.name.type.smithy","match":"[A-Z-a-z_][A-Z-a-z0-9_]*(\\.[A-Z-a-z_][A-Z-a-z0-9_]*)*#[A-Z-a-z_][A-Z-a-z0-9_]*(\\.[A-Z-a-z_][A-Z-a-z0-9_]*)*"},{"name":"invalid.illegal.use.smithy","match":"[^\\n]"}],"beginCaptures":{"1":{"name":"keyword.statement.smithy"}}},{"include":"#trait"},{"name":"meta.keyword.statement.shape.smithy","begin":"^(byte|short|integer|long|float|double|bigInteger|bigDecimal|boolean|blob|string|timestamp|document|list|set|map|union|service|operation|resource|enum|intEnum)\\s+([A-Z-a-z_][A-Z-a-z0-9_]*)\\s+(with)\\s+(\\[)","end":"\\]","patterns":[{"name":"entity.name.type.smithy","include":"#identifier"},{"include":"#comment"},{"name":"punctuation.separator.array.smithy","match":","}],"beginCaptures":{"1":{"name":"keyword.statement.smithy"},"2":{"name":"entity.name.type.smithy"},"3":{"name":"keyword.statement.with.smithy"},"4":{"name":"punctuation.definition.array.begin.smithy"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.smithy"}}},{"name":"meta.keyword.statement.shape.smithy","match":"^(byte|short|integer|long|float|double|bigInteger|bigDecimal|boolean|blob|string|timestamp|document|list|set|map|union|service|operation|resource|enum|intEnum)\\s+([A-Z-a-z_][A-Z-a-z0-9_]*)","captures":{"1":{"name":"keyword.statement.smithy"},"2":{"name":"entity.name.type.smithy"}}},{"name":"meta.keyword.statement.shape.smithy","begin":"^(structure)\\s+([A-Z-a-z_][A-Z-a-z0-9_]*)(?:\\s+(for)\\s+([0-9a-zA-Z\\.#-]+))?\\s+(with)\\s+(\\[)","end":"\\]","patterns":[{"name":"entity.name.type.smithy","include":"#identifier"},{"include":"#comment"},{"name":"punctuation.separator.array.smithy","match":","}],"beginCaptures":{"1":{"name":"keyword.statement.smithy"},"2":{"name":"entity.name.type.smithy"},"3":{"name":"keyword.statement.for-resource.smithy"},"4":{"name":"entity.name.type.smithy"},"5":{"name":"keyword.statement.with.smithy"},"6":{"name":"punctuation.definition.array.begin.smithy"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.smithy"}}},{"name":"meta.keyword.statement.shape.smithy","match":"^(structure)\\s+([A-Z-a-z_][A-Z-a-z0-9_]*)(?:\\s+(for)\\s+([0-9a-zA-Z\\.#-]+))?","captures":{"1":{"name":"keyword.statement.smithy"},"2":{"name":"entity.name.type.smithy"},"3":{"name":"keyword.statement.for-resource.smithy"},"4":{"name":"entity.name.type.smithy"}}},{"begin":"\\{","end":"\\}","patterns":[{"include":"#shape_inner"}],"beginCaptures":{"0":{"name":"punctuation.definition.dictionary.begin.smithy"}},"endCaptures":{"0":{"name":"punctuation.definition.dictionary.end.smithy"}}},{"name":"meta.keyword.statement.apply.smithy","begin":"^(apply)\\s+","end":"\\n","patterns":[{"include":"#trait"},{"include":"#shapeid"},{"name":"invalid.illegal.apply.smithy","match":"[^\\n]"}],"beginCaptures":{"1":{"name":"keyword.statement.smithy"}}},{"name":"meta.keyword.statement.member.smithy","begin":"^([A-Z-a-z_][A-Z-a-z0-9_]*)(:)\\s*","end":"\\n","patterns":[{"include":"#shapeid"}],"beginCaptures":{"1":{"name":"support.type.property-name.smithy"},"2":{"name":"punctuation.separator.dictionary.pair.smithy"}}}],"repository":{"array":{"name":"meta.structure.array.smithy","begin":"\\[","end":"\\]","patterns":[{"include":"#value"},{"name":"punctuation.separator.array.smithy","match":","},{"name":"invalid.illegal.array.smithy","match":"[^\\s\\]]"}],"beginCaptures":{"0":{"name":"punctuation.definition.array.begin.smithy"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.smithy"}}},"comment":{"patterns":[{"include":"#doc_comment"},{"include":"#line_comment"}]},"doc_comment":{"name":"comment.block.documentation.smithy","match":"(///.*)"},"dquote":{"name":"string.quoted.double.smithy","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.smithy","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.smithy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.smithy"}}},"dquote_key":{"name":"support.type.property-name.smithy","match":"\".*\"(?=\\s*:)"},"elided_target":{"match":"(\\$)([A-Z-a-z0-9_\\.#$]+)","captures":{"1":{"name":"keyword.statement.elision.smithy"},"2":{"name":"support.type.property-name.smithy"}}},"identifier":{"name":"entity.name.type.smithy","match":"[A-Z-a-z_][A-Z-a-z0-9_]*"},"identifier_key":{"name":"support.type.property-name.smithy","match":"[A-Z-a-z0-9_\\.#$]+(?=\\s*:)"},"keywords":{"name":"constant.language.smithy","match":"\\b(?:true|false|null)\\b"},"line_comment":{"name":"comment.line.double-slash.smithy","match":"(//.*)"},"number":{"name":"constant.numeric.smithy","match":"(?x: # turn on extended mode\n -? # an optional minus\n (?:\n 0 # a zero\n | # ...or...\n [1-9] # a 1-9 character\n \\d* # followed by zero or more digits\n )\n (?:\n (?:\n \\. # a period\n \\d+ # followed by one or more digits\n )?\n (?:\n [eE] # an e character\n [+-]? # followed by an option +/-\n \\d+ # followed by one or more digits\n )? # make exponent optional\n )? # make decimal portion optional\n )"},"object":{"name":"meta.structure.dictionary.smithy","begin":"\\{","end":"\\}","patterns":[{"include":"#object_inner"}],"beginCaptures":{"0":{"name":"punctuation.definition.dictionary.begin.smithy"}},"endCaptures":{"0":{"name":"punctuation.definition.dictionary.end.smithy"}}},"object_inner":{"patterns":[{"include":"#comment"},{"include":"#string_key"},{"name":"punctuation.separator.dictionary.key-value.smithy","match":":"},{"name":"keyword.operator.smithy","match":"="},{"name":"meta.structure.dictionary.value.smithy","include":"#value"},{"name":"punctuation.separator.dictionary.pair.smithy","match":","}]},"shape_inner":{"patterns":[{"include":"#trait"},{"name":"punctuation.separator.dictionary.inline-struct.smithy","match":":="},{"include":"#with_statement"},{"include":"#elided_target"},{"include":"#object_inner"}]},"shapeid":{"name":"entity.name.type.smithy","match":"[A-Z-a-z_][A-Z-a-z0-9_\\.#$]*"},"string":{"patterns":[{"include":"#textblock"},{"include":"#dquote"},{"include":"#shapeid"}]},"string_key":{"patterns":[{"include":"#identifier_key"},{"include":"#dquote_key"}]},"textblock":{"name":"string.quoted.double.smithy","begin":"\"\"\"","end":"\"\"\"","patterns":[{"name":"constant.character.escape.smithy","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.smithy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.smithy"}}},"trait":{"patterns":[{"name":"meta.keyword.statement.trait.smithy","begin":"(@)([0-9a-zA-Z\\.#-]+)(\\()","end":"\\)","patterns":[{"include":"#object_inner"},{"include":"#value"}],"beginCaptures":{"1":{"name":"punctuation.definition.annotation.smithy"},"2":{"name":"storage.type.annotation.smithy"},"3":{"name":"punctuation.definition.dictionary.begin.smithy"}},"endCaptures":{"0":{"name":"punctuation.definition.dictionary.end.smithy"}}},{"name":"meta.keyword.statement.trait.smithy","match":"(@)([0-9a-zA-Z\\.#-]+)","captures":{"1":{"name":"punctuation.definition.annotation.smithy"},"2":{"name":"storage.type.annotation.smithy"}}}]},"value":{"patterns":[{"include":"#comment"},{"include":"#keywords"},{"include":"#number"},{"include":"#string"},{"include":"#array"},{"include":"#object"}]},"with_statement":{"begin":"(with)\\s+(\\[)","end":"\\]","patterns":[{"name":"punctuation.separator.array.smithy","match":","},{"include":"#identifier"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.statement.with.smithy"},"2":{"name":"punctuation.definition.array.begin.smithy"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.smithy"}}}}}