github-linguist 9.6.0 → 9.7.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 (105) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/gno.mod.json +1 -0
  3. data/grammars/source.abl.json +1 -1
  4. data/grammars/source.aleo.json +1 -0
  5. data/grammars/source.astro.json +1 -1
  6. data/grammars/source.baml.json +1 -1
  7. data/grammars/source.bird2.json +1 -0
  8. data/grammars/source.blueprint.json +1 -0
  9. data/grammars/source.bnd.json +1 -1
  10. data/grammars/source.bsl.json +1 -1
  11. data/grammars/source.carbon.json +1 -0
  12. data/grammars/source.cl.json +1 -1
  13. data/grammars/source.clar.json +1 -1
  14. data/grammars/source.clarion.json +1 -1
  15. data/grammars/source.cmd.json +1 -1
  16. data/grammars/source.comment-string.wesl.json +1 -1
  17. data/grammars/source.comment-string.wgsl.json +1 -1
  18. data/grammars/source.cs.json +1 -1
  19. data/grammars/source.csswg.json +1 -1
  20. data/grammars/source.curlrc.json +1 -1
  21. data/grammars/source.dart.json +1 -1
  22. data/grammars/source.dds.dspf.json +1 -1
  23. data/grammars/source.dds.icff.json +1 -1
  24. data/grammars/source.dds.lf.json +1 -1
  25. data/grammars/source.dds.pf.json +1 -1
  26. data/grammars/source.dds.prtf.json +1 -1
  27. data/grammars/source.deq.json +1 -0
  28. data/grammars/source.fift.json +1 -0
  29. data/grammars/source.flix.json +1 -1
  30. data/grammars/source.fpp.json +1 -0
  31. data/grammars/source.func.json +1 -0
  32. data/grammars/source.gdscript.json +1 -1
  33. data/grammars/source.gedcom.json +1 -1
  34. data/grammars/source.gitconfig.json +1 -1
  35. data/grammars/source.gno.json +1 -0
  36. data/grammars/source.graphql.json +1 -1
  37. data/grammars/source.hack.json +1 -1
  38. data/grammars/source.hx.json +1 -1
  39. data/grammars/source.hxml.json +1 -1
  40. data/grammars/source.ink.json +1 -1
  41. data/grammars/source.jac.json +1 -1
  42. data/grammars/source.jass.json +1 -0
  43. data/grammars/source.julia.json +1 -1
  44. data/grammars/source.kcl.json +1 -1
  45. data/grammars/source.koka.json +1 -1
  46. data/grammars/source.leo.json +1 -1
  47. data/grammars/source.lobster.json +1 -0
  48. data/grammars/source.logos.json +1 -1
  49. data/grammars/source.luau.json +1 -1
  50. data/grammars/source.m2.json +1 -1
  51. data/grammars/source.mi.json +1 -1
  52. data/grammars/source.mojo.json +1 -1
  53. data/grammars/source.ms.json +1 -0
  54. data/grammars/source.nim.json +1 -1
  55. data/grammars/source.openqasm.json +1 -1
  56. data/grammars/source.opy.json +1 -1
  57. data/grammars/source.paperspecs.json +1 -0
  58. data/grammars/source.pl.json +1 -0
  59. data/grammars/source.pnlgrp.json +1 -1
  60. data/grammars/source.qsharp.json +1 -1
  61. data/grammars/source.rarlist.json +1 -0
  62. data/grammars/source.rascal.json +1 -1
  63. data/grammars/source.rego.json +1 -1
  64. data/grammars/source.rhai.json +1 -0
  65. data/grammars/source.rpg.json +1 -1
  66. data/grammars/source.rpgle.json +1 -1
  67. data/grammars/source.rust.json +1 -1
  68. data/grammars/source.scala.json +1 -1
  69. data/grammars/source.smithy.json +1 -1
  70. data/grammars/source.spicedb.json +1 -1
  71. data/grammars/source.stim.json +1 -0
  72. data/grammars/source.surrealql.json +1 -1
  73. data/grammars/source.swift.json +1 -1
  74. data/grammars/source.tasm.json +1 -0
  75. data/grammars/source.tlb.json +1 -0
  76. data/grammars/source.tolk.json +1 -0
  77. data/grammars/source.ucode-template.json +1 -0
  78. data/grammars/source.ucode.json +1 -0
  79. data/grammars/source.vento.json +1 -1
  80. data/grammars/source.verse.json +1 -0
  81. data/grammars/source.vespaSchema.json +1 -0
  82. data/grammars/source.vhs.json +1 -0
  83. data/grammars/source.wgsl.json +1 -1
  84. data/grammars/source.yaml.salt.json +1 -1
  85. data/grammars/text.bbcode.json +1 -0
  86. data/grammars/text.html.handlebars.json +1 -1
  87. data/grammars/text.recfile.json +1 -0
  88. data/grammars/text.roff.json +1 -1
  89. data/grammars/version +1 -1
  90. data/lib/linguist/VERSION +1 -1
  91. data/lib/linguist/blob_helper.rb +19 -0
  92. data/lib/linguist/generated.rb +24 -0
  93. data/lib/linguist/generic.yml +1 -0
  94. data/lib/linguist/heuristics.yml +80 -5
  95. data/lib/linguist/language.rb +5 -9
  96. data/lib/linguist/languages.yml +231 -27
  97. data/lib/linguist/languages_data.rb +7663 -0
  98. data/lib/linguist/lazy_blob.rb +6 -1
  99. data/lib/linguist/samples.rb +4 -10
  100. data/lib/linguist/samples_data.rb +196100 -0
  101. metadata +31 -19
  102. data/grammars/markdown.bicep.codeblock.json +0 -1
  103. data/grammars/source.baml-jinja.json +0 -1
  104. data/lib/linguist/languages.json +0 -1
  105. data/lib/linguist/samples.json +0 -1
@@ -1 +1 @@
1
- {"name":"Scala","scopeName":"source.scala","patterns":[{"include":"#code"}],"repository":{"backQuotedVariable":{"match":"`[^`]+`"},"block-comments":{"patterns":[{"name":"comment.block.empty.scala","match":"/\\*\\*/","captures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.documentation.scala","begin":"^\\s*(/\\*\\*)(?!/)","end":"\\*/","patterns":[{"match":"(@param)\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"variable.parameter.scala"}}},{"match":"(@(?:tparam|throws))\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"entity.name.class"}}},{"name":"keyword.other.documentation.scaladoc.scala","match":"@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc|groupname|groupprio|groupdesc|group|contentDiagram|documentable|syntax)\\b"},{"match":"(\\[\\[)([^\\]]+)(\\]\\])","captures":{"1":{"name":"punctuation.definition.documentation.link.scala"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.documentation.link.scala"}}},{"include":"#block-comments"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.scala","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block-comments"}],"captures":{"0":{"name":"punctuation.definition.comment.scala"}}}]},"char-literal":{"patterns":[{"name":"string.quoted.other constant.character.literal.scala","match":"(')'(')","captures":{"1":{"name":"punctuation.definition.character.begin.scala"},"2":{"name":"punctuation.definition.character.end.scala"}}},{"name":"string.quoted.other constant.character.literal.scala","begin":"'","end":"'|$","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-character-escape.scala","match":"\\\\."},{"name":"invalid.illegal.character-literal-too-long","match":"[^']{2,}"},{"name":"invalid.illegal.character-literal-too-long","match":"(?\u003c!')[^']"}],"beginCaptures":{"0":{"name":"punctuation.definition.character.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.character.end.scala"}}}]},"code":{"patterns":[{"include":"#using-directive"},{"include":"#script-header"},{"include":"#storage-modifiers"},{"include":"#declarations"},{"include":"#inheritance"},{"include":"#extension"},{"include":"#imports"},{"include":"#exports"},{"include":"#comments"},{"include":"#strings"},{"include":"#initialization"},{"include":"#xml-literal"},{"include":"#namedBounds"},{"include":"#keywords"},{"include":"#using"},{"include":"#constants"},{"include":"#singleton-type"},{"include":"#inline"},{"include":"#scala-quoted-or-symbol"},{"include":"#char-literal"},{"include":"#empty-parentheses"},{"include":"#parameter-list"},{"include":"#qualifiedClassName"},{"include":"#backQuotedVariable"},{"include":"#curly-braces"},{"include":"#meta-brackets"},{"include":"#meta-bounds"},{"include":"#meta-colons"}]},"comments":{"patterns":[{"include":"#block-comments"},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.scala","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.scala"}}}]},"constants":{"patterns":[{"name":"constant.language.scala","match":"\\b(false|null|true)\\b"},{"name":"constant.numeric.scala","match":"\\b(0[xX][0-9a-fA-F_]*)\\b"},{"name":"constant.numeric.scala","match":"\\b(([0-9][0-9_]*(\\.[0-9][0-9_]*)?)([eE](\\+|-)?[0-9][0-9_]*)?|[0-9][0-9_]*)[LlFfDd]?\\b"},{"name":"constant.numeric.scala","match":"(\\.[0-9][0-9_]*)([eE](\\+|-)?[0-9][0-9_]*)?[LlFfDd]?\\b"},{"name":"constant.numeric.scala","match":"\\b0[bB][01]([01_]*[01])?[Ll]?\\b"},{"name":"variable.language.scala","match":"\\b(this|super)\\b"}]},"curly-braces":{"begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.scala"}}},"declarations":{"patterns":[{"match":"\\b(def)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.function.declaration"}}},{"match":"\\b(trait)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class.declaration"}}},{"match":"\\b(?:(case)\\s+)?(class|object|enum)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"match":"(?\u003c!\\.)\\b(type)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.type.declaration"}}},{"match":"\\b(?:(val)|(var))\\b\\s*(?!//|/\\*)(?=(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)?\\()","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"}}},{"match":"\\b(val)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?(?!\")","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"variable.stable.declaration.scala"}}},{"match":"\\b(var)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?(?!\")","captures":{"1":{"name":"keyword.declaration.volatile.scala"},"2":{"name":"variable.volatile.declaration.scala"}}},{"match":"\\b(package)\\s+(object)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.other.package.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"name":"meta.package.scala","begin":"\\b(package)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"entity.name.package.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.package","match":"\\."}],"beginCaptures":{"1":{"name":"keyword.other.package.scala"}}},{"match":"\\b(given)\\b\\s*([_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`)?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.given.declaration"}}}]},"empty-parentheses":{"name":"meta.parentheses.scala","match":"(\\(\\))","captures":{"1":{"name":"meta.bracket.scala"}}},"exports":{"name":"meta.export.scala","begin":"\\b(export)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"keyword.other.export.given.scala","match":"\\b(given)\\b"},{"name":"entity.name.class.export.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?"},{"name":"entity.name.export.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.export","match":"\\."},{"name":"meta.export.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=\u003e)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*","captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.renamed-from.scala"},"3":{"name":"entity.name.export.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.export.renamed-to.scala"},"6":{"name":"entity.name.export.renamed-to.scala"}}},{"name":"keyword.other.export.given.scala","match":"\\b(given)\\b"},{"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))","captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.scala"},"3":{"name":"entity.name.export.scala"}}}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.export.scala"}}},"extension":{"patterns":[{"match":"^\\s*(extension)\\s+(?=[\\[\\(])","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"imports":{"name":"meta.import.scala","begin":"\\b(import)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"name":"keyword.other.import.as.scala","match":"\\s(as)\\s"},{"name":"entity.name.class.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?"},{"name":"entity.name.import.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.import","match":"\\."},{"name":"meta.import.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=\u003e)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.renamed-from.scala"},"3":{"name":"entity.name.import.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.import.renamed-to.scala"},"6":{"name":"entity.name.import.renamed-to.scala"}}},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.scala"},"3":{"name":"entity.name.import.scala"}}}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.import.scala"}}},"inheritance":{"patterns":[{"match":"\\b(extends|with|derives)\\b\\s*([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?=\\([^\\)]+=\u003e)|(?=(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))|(?=\"))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class"}}}]},"initialization":{"match":"\\b(new)\\b","captures":{"1":{"name":"keyword.declaration.scala"}}},"inline":{"patterns":[{"name":"storage.modifier.other","match":"\\b(inline)(?=\\s+((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)\\s*:)"},{"name":"keyword.control.flow.scala","match":"\\b(inline)\\b(?=(?:.(?!\\b(?:val|def|given)\\b))*\\b(if|match)\\b)"}]},"keywords":{"patterns":[{"name":"keyword.control.flow.jump.scala","match":"\\b(return|throw)\\b"},{"name":"support.function.type-of.scala","match":"\\b(classOf|isInstanceOf|asInstanceOf)\\b"},{"name":"keyword.control.flow.scala","match":"\\b(else|if|then|do|while|for|yield|match|case)\\b"},{"name":"keyword.control.flow.end.scala","match":"^\\s*(end)\\s+(if|while|for|match)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.stable.end.scala","match":"^\\s*(end)\\s+(val)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.volatile.end.scala","match":"^\\s*(end)\\s+(var)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(?:(new|extension)|([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"keyword.declaration.end.scala"},"3":{"name":"entity.name.type.declaration"}}},{"name":"keyword.control.exception.scala","match":"\\b(catch|finally|try)\\b"},{"name":"keyword.control.exception.end.scala","match":"^\\s*(end)\\s+(try)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))?(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"entity.name.declaration"}}},{"name":"keyword.operator.scala","match":"([!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]|[\\\\]){3,}"},{"match":"((?:[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]|[\\\\]){2,}|_\\*)","captures":{"1":{"patterns":[{"name":"keyword.operator.logical.scala","match":"(\\|\\||\u0026\u0026)"},{"name":"keyword.operator.comparison.scala","match":"(\\!=|==|\\\u003c=|\u003e=)"},{"name":"keyword.operator.scala","match":".."}]}}},{"match":"(?\u003c!_)([!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]|\\\\)","captures":{"1":{"patterns":[{"name":"keyword.operator.logical.scala","match":"(\\!)"},{"name":"keyword.operator.arithmetic.scala","match":"(\\*|-|\\+|/|%|~)"},{"name":"keyword.operator.comparison.scala","match":"(=|\\\u003c|\u003e)"},{"name":"keyword.operator.scala","match":"."}]}}}]},"meta-bounds":{"name":"meta.bounds.scala","match":"\u003c%|=:=|\u003c:\u003c|\u003c%\u003c|\u003e:|\u003c:"},"meta-brackets":{"patterns":[{"name":"punctuation.section.block.begin.scala","match":"\\{"},{"name":"punctuation.section.block.end.scala","match":"\\}"},{"name":"meta.bracket.scala","match":"{|}|\\(|\\)|\\[|\\]"}]},"meta-colons":{"patterns":[{"name":"meta.colon.scala","match":"(?\u003c!:):(?!:)"}]},"namedBounds":{"patterns":[{"match":"\\s+(as)\\s+([_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)\\b","captures":{"1":{"name":"keyword.other.import.as.scala"},"2":{"name":"variable.stable.declaration.scala"}}}]},"parameter-list":{"patterns":[{"match":"(?\u003c=[^\\._$a-zA-Z0-9])(`[^`]+`|[_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)\\s*(:)\\s+","captures":{"1":{"name":"variable.parameter.scala"},"2":{"name":"meta.colon.scala"}}}]},"qualifiedClassName":{"match":"(\\b([A-Z][\\w]*)(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)","captures":{"1":{"name":"entity.name.class"}}},"scala-quoted-or-symbol":{"patterns":[{"match":"(')((?\u003e(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))(?!')","captures":{"1":{"name":"keyword.control.flow.staging.scala constant.other.symbol.scala"},"2":{"name":"constant.other.symbol.scala"}}},{"name":"keyword.control.flow.staging.scala","match":"'(?=\\s*\\{(?!'))"},{"name":"keyword.control.flow.staging.scala","match":"'(?=\\s*\\[(?!'))"},{"name":"keyword.control.flow.staging.scala","match":"\\$(?=\\s*\\{)"}]},"script-header":{"name":"comment.block.shebang.scala","match":"^#!(.*)$","captures":{"1":{"name":"string.unquoted.shebang.scala"}}},"singleton-type":{"match":"\\.(type)(?![A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[0-9])","captures":{"1":{"name":"keyword.type.scala"}}},"storage-modifiers":{"patterns":[{"name":"storage.modifier.access","match":"\\b(private\\[\\S+\\]|protected\\[\\S+\\]|private|protected)\\b"},{"name":"storage.modifier.other","match":"\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\b"},{"name":"storage.modifier.other","match":"(?\u003c=^|\\s)\\b(transparent|opaque|infix|open|inline)\\b(?=[a-z\\s]*\\b(def|val|var|given|type|class|trait|object|enum)\\b)"}]},"string-interpolation":{"patterns":[{"name":"constant.character.escape.interpolation.scala","match":"\\$\\$"},{"name":"meta.template.expression.scala","match":"(\\$)([A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\p{Lo}\\p{Nl}\\p{Ll}0-9]*)","captures":{"1":{"name":"punctuation.definition.template-expression.begin.scala"}}},{"name":"meta.template.expression.scala","contentName":"meta.embedded.line.scala","begin":"\\$\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.scala"}}}]},"strings":{"patterns":[{"name":"string.quoted.triple.scala","begin":"\"\"\"","end":"\"\"\"(?!\")","patterns":[{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"name":"string.quoted.double.scala","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}}]},"using":{"patterns":[{"match":"(?\u003c=\\()\\s*(using)\\s","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"using-directive":{"name":"comment.line.shebang.scala","begin":"^\\s*(//\u003e)\\s*(using)[^\\S\\n]+(?:(\\S+))?","end":"\\n","patterns":[{"include":"#constants"},{"include":"#strings"},{"name":"string.quoted.double.scala","match":"[^\\s,]+"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"},"2":{"name":"keyword.other.import.scala"},"3":{"patterns":[{"name":"entity.name.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)"},{"name":"punctuation.definition.import","match":"\\."}]}}},"xml-doublequotedString":{"name":"string.quoted.double.xml","begin":"\"","end":"\"","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}},"xml-embedded-content":{"patterns":[{"name":"meta.source.embedded.scala","begin":"{","end":"}","patterns":[{"include":"#code"}],"captures":{"0":{"name":"meta.bracket.scala"}}},{"match":" (?:([-_a-zA-Z0-9]+)((:)))?([_a-zA-Z-]+)=","captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}}},{"include":"#xml-doublequotedString"},{"include":"#xml-singlequotedString"}]},"xml-entity":{"name":"constant.character.entity.xml","match":"(\u0026)([:a-zA-Z_][:a-zA-Z0-9_.-]*|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}}},"xml-literal":{"patterns":[{"name":"meta.tag.no-content.xml","begin":"(\u003c)((?:([_a-zA-Z0-9][_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*))(?=(\\s[^\u003e]*)?\u003e\u003c/\\2\u003e)","end":"(\u003e(\u003c))/(?:([-_a-zA-Z0-9]+)((:)))?([-_a-zA-Z0-9:]*[_a-zA-Z0-9])(\u003e)","patterns":[{"include":"#xml-embedded-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"meta.scope.between-tag-pair.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}}},{"name":"meta.tag.xml","begin":"(\u003c/?)(?:([_a-zA-Z0-9][-_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*)(?=[^\u003e]*?\u003e)","end":"(/?\u003e)","patterns":[{"include":"#xml-embedded-content"}],"captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}}},{"include":"#xml-entity"}]},"xml-singlequotedString":{"name":"string.quoted.single.xml","begin":"'","end":"'","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}}}}
1
+ {"name":"Scala","scopeName":"source.scala","patterns":[{"include":"#code"}],"repository":{"backQuotedVariable":{"match":"`[^`]+`"},"block-comments":{"patterns":[{"name":"comment.block.empty.scala","match":"/\\*\\*/","captures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.documentation.scala","begin":"^\\s*(/\\*\\*)(?!/)","end":"\\*/","patterns":[{"match":"(@param)\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"variable.parameter.scala"}}},{"match":"(@(?:tparam|throws))\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"entity.name.class"}}},{"name":"keyword.other.documentation.scaladoc.scala","match":"@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc|groupname|groupprio|groupdesc|group|contentDiagram|documentable|syntax)\\b"},{"match":"(\\[\\[)([^\\]]+)(\\]\\])","captures":{"1":{"name":"punctuation.definition.documentation.link.scala"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.documentation.link.scala"}}},{"include":"#block-comments"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.scala","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block-comments"}],"captures":{"0":{"name":"punctuation.definition.comment.scala"}}}]},"char-literal":{"patterns":[{"name":"string.quoted.other constant.character.literal.scala","match":"(')'(')","captures":{"1":{"name":"punctuation.definition.character.begin.scala"},"2":{"name":"punctuation.definition.character.end.scala"}}},{"name":"string.quoted.other constant.character.literal.scala","begin":"'","end":"'|$","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-character-escape.scala","match":"\\\\."},{"name":"invalid.illegal.character-literal-too-long","match":"[^']{2,}"},{"name":"invalid.illegal.character-literal-too-long","match":"(?\u003c!')[^']"}],"beginCaptures":{"0":{"name":"punctuation.definition.character.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.character.end.scala"}}}]},"code":{"patterns":[{"include":"#using-directive"},{"include":"#script-header"},{"include":"#storage-modifiers"},{"include":"#declarations"},{"include":"#inheritance"},{"include":"#extension"},{"include":"#imports"},{"include":"#exports"},{"include":"#comments"},{"include":"#strings"},{"include":"#initialization"},{"include":"#xml-literal"},{"include":"#namedBounds"},{"include":"#keywords"},{"include":"#using"},{"include":"#constants"},{"include":"#singleton-type"},{"include":"#inline"},{"include":"#scala-quoted-or-symbol"},{"include":"#char-literal"},{"include":"#empty-parentheses"},{"include":"#parameter-list"},{"include":"#qualifiedClassName"},{"include":"#backQuotedVariable"},{"include":"#curly-braces"},{"include":"#meta-brackets"},{"include":"#meta-bounds"},{"include":"#meta-colons"}]},"comments":{"patterns":[{"include":"#block-comments"},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.scala","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.scala"}}}]},"constants":{"patterns":[{"name":"constant.language.scala","match":"\\b(false|null|true)\\b"},{"name":"constant.numeric.scala","match":"\\b(0[xX][0-9a-fA-F_]*)\\b"},{"name":"constant.numeric.scala","match":"\\b(([0-9][0-9_]*(\\.[0-9][0-9_]*)?)([eE](\\+|-)?[0-9][0-9_]*)?|[0-9][0-9_]*)[LlFfDd]?\\b"},{"name":"constant.numeric.scala","match":"(\\.[0-9][0-9_]*)([eE](\\+|-)?[0-9][0-9_]*)?[LlFfDd]?\\b"},{"name":"constant.numeric.scala","match":"\\b0[bB][01]([01_]*[01])?[Ll]?\\b"},{"name":"variable.language.scala","match":"\\b(this|super)\\b"}]},"curly-braces":{"begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.scala"}}},"declarations":{"patterns":[{"match":"\\b(def)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.function.declaration"}}},{"match":"\\b(trait)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class.declaration"}}},{"match":"\\b(?:(case)\\s+)?(class|object|enum)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"match":"(?\u003c!\\.)\\b(type)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.type.declaration"}}},{"match":"\\b(?:(val)|(var))\\b\\s*(?!//|/\\*)(?=(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)?\\()","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"}}},{"match":"\\b(val)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?(?!\")","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"variable.stable.declaration.scala"}}},{"match":"\\b(var)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?(?!\")","captures":{"1":{"name":"keyword.declaration.volatile.scala"},"2":{"name":"variable.volatile.declaration.scala"}}},{"match":"\\b(package)\\s+(object)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.other.package.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"name":"meta.package.scala","begin":"\\b(package)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"entity.name.package.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.package","match":"\\."}],"beginCaptures":{"1":{"name":"keyword.other.package.scala"}}},{"match":"\\b(given)\\b\\s*([_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`)?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.given.declaration"}}}]},"empty-parentheses":{"name":"meta.parentheses.scala","match":"(\\(\\))","captures":{"1":{"name":"meta.bracket.scala"}}},"exports":{"name":"meta.export.scala","begin":"\\b(export)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"keyword.other.export.given.scala","match":"\\b(given)\\b"},{"name":"entity.name.class.export.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?"},{"name":"entity.name.export.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.export","match":"\\."},{"name":"meta.export.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=\u003e)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*","captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.renamed-from.scala"},"3":{"name":"entity.name.export.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.export.renamed-to.scala"},"6":{"name":"entity.name.export.renamed-to.scala"}}},{"name":"keyword.other.export.given.scala","match":"\\b(given)\\b"},{"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))","captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.scala"},"3":{"name":"entity.name.export.scala"}}}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.export.scala"}}},"extension":{"patterns":[{"match":"^\\s*(extension)\\s+(?=[\\[\\(])","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"imports":{"name":"meta.import.scala","begin":"\\b(import)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"name":"keyword.other.import.as.scala","match":"\\s(as)\\s"},{"name":"entity.name.class.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?"},{"name":"entity.name.import.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.import","match":"\\."},{"name":"meta.import.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=\u003e)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.renamed-from.scala"},"3":{"name":"entity.name.import.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.import.renamed-to.scala"},"6":{"name":"entity.name.import.renamed-to.scala"}}},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.scala"},"3":{"name":"entity.name.import.scala"}}}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.import.scala"}}},"inheritance":{"patterns":[{"match":"\\b(extends|with|derives)\\b\\s*([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?=\\([^\\)]+=\u003e)|(?=(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))|(?=\"))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class"}}}]},"initialization":{"match":"\\b(new)\\b","captures":{"1":{"name":"keyword.declaration.scala"}}},"inline":{"patterns":[{"name":"storage.modifier.other","match":"\\b(inline)(?=\\s+((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)\\s*:)"},{"name":"keyword.control.flow.scala","match":"\\b(inline)\\b(?=(?:.(?!\\b(?:val|def|given)\\b))*\\b(if|match)\\b)"}]},"keywords":{"patterns":[{"name":"keyword.control.flow.jump.scala","match":"\\b(return|throw)\\b"},{"name":"support.function.type-of.scala","match":"\\b(classOf|isInstanceOf|asInstanceOf)\\b"},{"name":"keyword.control.flow.scala","match":"\\b(else|if|then|do|while|for|yield|match|case)\\b"},{"name":"keyword.control.flow.end.scala","match":"^\\s*(end)\\s+(if|while|for|match)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.stable.end.scala","match":"^\\s*(end)\\s+(val)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.volatile.end.scala","match":"^\\s*(end)\\s+(var)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(?:(new|extension)|([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"keyword.declaration.end.scala"},"3":{"name":"entity.name.type.declaration"}}},{"name":"keyword.control.exception.scala","match":"\\b(catch|finally|try)\\b"},{"name":"keyword.control.exception.end.scala","match":"^\\s*(end)\\s+(try)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))?(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"entity.name.declaration"}}},{"name":"keyword.operator.scala","match":"([!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]|[\\\\]){3,}"},{"match":"((?:[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]|[\\\\]){2,}|_\\*)","captures":{"1":{"patterns":[{"name":"keyword.operator.logical.scala","match":"(\\|\\||\u0026\u0026)"},{"name":"keyword.operator.comparison.scala","match":"(\\!=|==|\\\u003c=|\u003e=)"},{"name":"keyword.operator.scala","match":".."}]}}},{"match":"(?\u003c!_)([!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]|\\\\)","captures":{"1":{"patterns":[{"name":"keyword.operator.logical.scala","match":"(\\!)"},{"name":"keyword.operator.arithmetic.scala","match":"(\\*|-|\\+|/|%|~)"},{"name":"keyword.operator.comparison.scala","match":"(=|\\\u003c|\u003e)"},{"name":"keyword.operator.scala","match":"."}]}}}]},"meta-bounds":{"name":"meta.bounds.scala","match":"\u003c%|=:=|\u003c:\u003c|\u003c%\u003c|\u003e:|\u003c:"},"meta-brackets":{"patterns":[{"name":"punctuation.section.block.begin.scala","match":"\\{"},{"name":"punctuation.section.block.end.scala","match":"\\}"},{"name":"meta.bracket.scala","match":"{|}|\\(|\\)|\\[|\\]"}]},"meta-colons":{"patterns":[{"name":"meta.colon.scala","match":"(?\u003c!:):(?!:)"}]},"namedBounds":{"patterns":[{"match":"\\s+(as)\\s+([_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)\\b","captures":{"1":{"name":"keyword.other.import.as.scala"},"2":{"name":"variable.stable.declaration.scala"}}}]},"parameter-list":{"patterns":[{"match":"(?\u003c=[^\\._$a-zA-Z0-9])(`[^`]+`|[_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)\\s*(:)\\s+","captures":{"1":{"name":"variable.parameter.scala"},"2":{"name":"meta.colon.scala"}}}]},"qualifiedClassName":{"match":"(\\b([A-Z][\\w]*)(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)","captures":{"1":{"name":"entity.name.class"}}},"scala-quoted-or-symbol":{"patterns":[{"match":"(')((?\u003e(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))(?!')","captures":{"1":{"name":"keyword.control.flow.staging.scala constant.other.symbol.scala"},"2":{"name":"constant.other.symbol.scala"}}},{"name":"keyword.control.flow.staging.scala","match":"'(?=\\s*\\{(?!'))"},{"name":"keyword.control.flow.staging.scala","match":"'(?=\\s*\\[(?!'))"},{"name":"keyword.control.flow.staging.scala","match":"\\$(?=\\s*\\{)"}]},"script-header":{"name":"comment.block.shebang.scala","match":"^#!(.*)$","captures":{"1":{"name":"string.unquoted.shebang.scala"}}},"singleton-type":{"match":"\\.(type)(?![A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[0-9])","captures":{"1":{"name":"keyword.type.scala"}}},"storage-modifiers":{"patterns":[{"name":"storage.modifier.access","match":"\\b(private\\[\\S+\\]|protected\\[\\S+\\]|private|protected)\\b"},{"name":"storage.modifier.other","match":"\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\b"},{"name":"storage.modifier.other","match":"(?\u003c=^|\\s)\\b(transparent|opaque|infix|open|inline|into)\\b(?=[a-z\\s]*\\b(def|val|var|given|type|class|trait|object|enum)\\b)"}]},"string-interpolation":{"patterns":[{"name":"constant.character.escape.interpolation.scala","match":"\\$\\$"},{"name":"meta.template.expression.scala","match":"(\\$)([A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\p{Lo}\\p{Nl}\\p{Ll}0-9]*)","captures":{"1":{"name":"punctuation.definition.template-expression.begin.scala"}}},{"name":"meta.template.expression.scala","contentName":"meta.embedded.line.scala","begin":"\\$\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.scala"}}}]},"strings":{"patterns":[{"name":"string.quoted.triple.scala","begin":"\"\"\"","end":"\"\"\"(?!\")","patterns":[{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"name":"string.quoted.double.scala","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}}]},"using":{"patterns":[{"match":"(?\u003c=\\()\\s*(using)\\s","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"using-directive":{"name":"comment.line.shebang.scala","begin":"^\\s*(//\u003e)\\s*(using)[^\\S\\n]+(?:(\\S+))?","end":"\\n","patterns":[{"include":"#constants"},{"include":"#strings"},{"name":"string.quoted.double.scala","match":"[^\\s,]+"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"},"2":{"name":"keyword.other.import.scala"},"3":{"patterns":[{"name":"entity.name.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)"},{"name":"punctuation.definition.import","match":"\\."}]}}},"xml-doublequotedString":{"name":"string.quoted.double.xml","begin":"\"","end":"\"","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}},"xml-embedded-content":{"patterns":[{"name":"meta.source.embedded.scala","begin":"{","end":"}","patterns":[{"include":"#code"}],"captures":{"0":{"name":"meta.bracket.scala"}}},{"match":" (?:([-_a-zA-Z0-9]+)((:)))?([_a-zA-Z-]+)=","captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}}},{"include":"#xml-doublequotedString"},{"include":"#xml-singlequotedString"}]},"xml-entity":{"name":"constant.character.entity.xml","match":"(\u0026)([:a-zA-Z_][:a-zA-Z0-9_.-]*|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}}},"xml-literal":{"patterns":[{"name":"meta.tag.no-content.xml","begin":"(\u003c)((?:([_a-zA-Z0-9][_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*))(?=(\\s[^\u003e]*)?\u003e\u003c/\\2\u003e)","end":"(\u003e(\u003c))/(?:([-_a-zA-Z0-9]+)((:)))?([-_a-zA-Z0-9:]*[_a-zA-Z0-9])(\u003e)","patterns":[{"include":"#xml-embedded-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"meta.scope.between-tag-pair.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}}},{"name":"meta.tag.xml","begin":"(\u003c/?)(?:([_a-zA-Z0-9][-_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*)(?=[^\u003e]*?\u003e)","end":"(/?\u003e)","patterns":[{"include":"#xml-embedded-content"}],"captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}}},{"include":"#xml-entity"}]},"xml-singlequotedString":{"name":"string.quoted.single.xml","begin":"'","end":"'","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}}}}
@@ -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"}}},{"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"}}}}}
1
+ {"name":"Smithy","scopeName":"source.smithy","patterns":[{"include":"#comment"},{"name":"meta.keyword.statement.control.smithy","begin":"^(\\$)([A-Za-z_][A-Za-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+(\"(?:[^\"\\\\]|\\\\.)*\"|[A-Za-z_][A-Za-z0-9_]*)\\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-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*"},{"include":"#comment"},{"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-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*#[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*"},{"include":"#comment"},{"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-Za-z_][A-Za-z0-9_]*)\\s+(with)\\s+(\\[)","end":"\\]","patterns":[{"name":"entity.name.type.smithy","include":"#shapeid"},{"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-Za-z_][A-Za-z0-9_]*)","captures":{"1":{"name":"keyword.statement.smithy"},"2":{"name":"entity.name.type.smithy"}}},{"name":"meta.keyword.statement.shape.smithy","begin":"^(structure)\\s+([A-Za-z_][A-Za-z0-9_]*)(?:\\s+(for)\\s+([0-9a-zA-Z_\\.#]+))?\\s+(with)\\s+(\\[)","end":"\\]","patterns":[{"name":"entity.name.type.smithy","include":"#shapeid"},{"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-Za-z_][A-Za-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+([A-Za-z_][A-Za-z0-9_\\.#$]*)\\s*(\\{)","end":"\\}","patterns":[{"include":"#trait"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.statement.smithy"},"2":{"name":"entity.name.type.smithy"},"3":{"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"},{"include":"#comment"},{"name":"invalid.illegal.apply.smithy","match":"[^\\n]"}],"beginCaptures":{"1":{"name":"keyword.statement.smithy"}}},{"name":"meta.keyword.statement.member.smithy","begin":"^([A-Za-z_][A-Za-z0-9_]*)(:)\\s*","end":"\\n","patterns":[{"include":"#shapeid"},{"include":"#comment"}],"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-Za-z0-9_\\.#$]+)","captures":{"1":{"name":"keyword.statement.elision.smithy"},"2":{"name":"support.type.property-name.smithy"}}},"identifier":{"name":"entity.name.type.smithy","match":"[A-Za-z_][A-Za-z0-9_]*"},"identifier_key":{"name":"support.type.property-name.smithy","match":"[A-Za-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-Za-z_][A-Za-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":"#shapeid"},{"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 +1 @@
1
- {"name":"SpiceDB Schema","scopeName":"source.spicedb","patterns":[{"include":"#comment"},{"include":"#use"},{"include":"#import"},{"include":"#partial"},{"include":"#definition"},{"include":"#caveat"},{"include":"#relation"},{"include":"#permission"}],"repository":{"arrow":{"match":"\\s*([a-zA-Z_]\\w*)(-\u003e)([a-zA-Z_]\\w*)\\s*","captures":{"1":{"name":"entity.name.variable"},"2":{"name":"keyword.operator.arrow markup.bold.authzed"},"3":{"name":"entity.name.variable"}}},"arrow_alternative":{"match":"\\s*([a-zA-Z_]\\w*)(\\.any)\\(([a-zA-Z_]\\w*)\\)\\s*","captures":{"1":{"name":"entity.name.variable"},"2":{"name":"keyword.operator.arrow markup.bold.authzed"},"3":{"name":"entity.name.variable"}}},"arrow_intersection":{"match":"\\s*([a-zA-Z_]\\w*)(\\.all)\\(([a-zA-Z_]\\w*)\\)\\s*","captures":{"1":{"name":"entity.name.variable"},"2":{"name":"keyword.operator.arrow markup.bold.authzed"},"3":{"name":"entity.name.variable"}}},"caveat":{"name":"meta.embedded.block.cel","begin":"(\\bcaveat\\b)\\s+(([a-z][\\w]{1,62}[a-z0-9]\\/)*[a-z][\\w]{1,62}[a-z0-9])\\s*\\(([^\\)]*)\\)\\s*(\\{)","end":"(?\u003c=\\})$","patterns":[{"include":"source.cel"}],"beginCaptures":{"1":{"name":"keyword.function.definition"},"2":{"name":"entity.name.function"},"4":{"patterns":[{"include":"#caveatParameter"},{"include":"#caveatTypeName"},{"include":"#comma"}]},"5":{"name":"punctuation.definition.brace"}},"endCaptures":{"0":{"name":"punctuation.end.brace"}}},"caveatParameter":{"match":"([a-zA-Z_]\\w*)\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"entity.name.variable"},"2":{"name":"entity.name.class"}}},"caveatTypeName":{"match":"\\s*([a-zA-Z_]\\w*)\\s*","captures":{"1":{"name":"entity.name.class"}}},"comma":{"name":"punctuation.definition.comma","match":"\\s*,\\s*"},"comment":{"patterns":[{"include":"#lineComment"},{"include":"#blockComment"}],"repository":{"blockComment":{"name":"comment.block.spicedb","begin":"\\/\\*","end":"\\*\\/"},"lineComment":{"patterns":[{"include":"#doubleSlashLineComment"}],"repository":{"doubleSlashLineComment":{"name":"comment.line.double-slash.spicedb","match":"\\/\\/.*"}}}}},"definition":{"begin":"(\\bdefinition\\b)\\s+(([a-z][\\w]{1,62}[a-z0-9]\\/)*[a-z][\\w]{1,62}[a-z0-9])\\s*(\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#relation"},{"include":"#permission"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.class.definition"},"2":{"name":"entity.name.class"},"4":{"name":"punctuation.definition.brace"}},"endCaptures":{"0":{"name":"punctuation.end.brace"}}},"directRelationType":{"match":"([a-zA-Z_]\\w*)","captures":{"1":{"name":"entity.name.class"}}},"import":{"match":"\\s*(import)\\s*([\"a-zA-Z_]\\w*)\\s*","captures":{"1":{"name":"keyword.class.definition"},"2":{"name":"entity.name.function"}}},"indirectRelationType":{"match":"([a-zA-Z_]\\w*)(#)([a-zA-Z_]\\w*)","captures":{"1":{"name":"entity.name.class"},"2":{"name":"punctuation.definition.hash"},"3":{"name":"entity.name.variable"}}},"nil":{"match":"nil","captures":{"1":{"name":"keyword.operator.nil"}}},"partial":{"match":"\\s*(partial)\\s*([\"a-zA-Z_]\\w*)\\s*","captures":{"1":{"name":"keyword.class.definition"},"2":{"name":"entity.name.function"}}},"permission":{"begin":"(\\bpermission\\b)\\s+([a-zA-Z_]\\w*)\\s*(=)\\s*","end":"(?\u003c=;|\\n)","patterns":[{"include":"#comment"},{"include":"#arrow_alternative"},{"include":"#arrow_intersection"},{"include":"#arrow"},{"include":"#nil"},{"include":"#relationRef"},{"include":"#permissionOperator"}],"beginCaptures":{"1":{"name":"keyword.function.relation"},"2":{"name":"entity.name.function"},"3":{"name":"punctuation.definition.equal"}}},"permissionOperator":{"match":"\\s*(\\+|-|\u0026)\\s*","captures":{"1":{"name":"keyword.operator.logical"}}},"pipe":{"name":"punctuation.definition.pipe","match":"\\|"},"relation":{"begin":"(\\brelation\\b)\\s+([a-zA-Z_]\\w*)\\s*(:)","end":"(?\u003c=;|\\n)","patterns":[{"include":"#wildcardRelationType"},{"include":"#indirectRelationType"},{"include":"#directRelationType"},{"include":"#pipe"},{"include":"#with_expiration"},{"include":"#with_caveat"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.variable.relation"},"2":{"name":"entity.name.variable"},"3":{"name":"punctuation.definition.colon"}}},"relationRef":{"match":"([a-zA-Z_]\\w*)\\b(?!-\u003e|\\.(?:any|all)\\()","captures":{"1":{"name":"entity.name.variable"}}},"use":{"match":"\\s*(use)\\s*([a-zA-Z_]\\w*)\\s*","captures":{"1":{"name":"keyword.class.definition"},"2":{"name":"keyword.class.definition"}}},"wildcardRelationType":{"match":"([a-zA-Z_]\\w*)(:)(\\*)","captures":{"1":{"name":"entity.name.class"},"2":{"name":"punctuation.definition.colon"},"3":{"name":"keyword.operator.wildcard markup.bold.authzed"}}},"with_caveat":{"match":"\\s*(with)\\s*(([a-z][\\w]{1,62}[a-z0-9]\\/)*[a-z][\\w]{1,62}[a-z0-9])\\s*","captures":{"1":{"name":"keyword.class.definition"},"2":{"name":"entity.name.function"}}},"with_expiration":{"match":"\\s*(with)\\s*(expiration)\\s*","captures":{"1":{"name":"keyword.class.definition"},"2":{"name":"keyword.class.definition"}}}}}
1
+ {"name":"SpiceDB Schema","scopeName":"source.spicedb","patterns":[{"include":"#comment"},{"include":"#use"},{"include":"#import"},{"include":"#partial"},{"include":"#definition"},{"include":"#caveat"},{"include":"#relation"},{"include":"#permission"}],"repository":{"arrow":{"match":"\\s*([a-zA-Z_]\\w*)(-\u003e)([a-zA-Z_]\\w*)\\s*","captures":{"1":{"name":"variable.other.member.spicedb"},"2":{"name":"keyword.operator.arrow.spicedb"},"3":{"name":"variable.other.member.spicedb"}}},"arrow_alternative":{"match":"\\s*([a-zA-Z_]\\w*)(\\.any)\\(([a-zA-Z_]\\w*)\\)\\s*","captures":{"1":{"name":"variable.other.member.spicedb"},"2":{"name":"keyword.operator.arrow.spicedb"},"3":{"name":"variable.other.member.spicedb"}}},"arrow_intersection":{"match":"\\s*([a-zA-Z_]\\w*)(\\.all)\\(([a-zA-Z_]\\w*)\\)\\s*","captures":{"1":{"name":"variable.other.member.spicedb"},"2":{"name":"keyword.operator.arrow.spicedb"},"3":{"name":"variable.other.member.spicedb"}}},"caveat":{"name":"meta.embedded.block.cel","begin":"(\\bcaveat\\b)\\s+(([a-z][\\w]{1,62}[a-z0-9]\\/)*[a-z][\\w]{1,62}[a-z0-9])\\s*\\(([^\\)]*)\\)\\s*(\\{)","end":"(?\u003c=\\})$","patterns":[{"include":"source.cel"}],"beginCaptures":{"1":{"name":"keyword.function.definition"},"2":{"name":"entity.name.function"},"4":{"patterns":[{"include":"#caveatParameter"},{"include":"#caveatTypeName"},{"include":"#comma"}]},"5":{"name":"punctuation.definition.brace"}},"endCaptures":{"0":{"name":"punctuation.end.brace"}}},"caveatParameter":{"match":"([a-zA-Z_]\\w*)\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"entity.name.variable"},"2":{"name":"entity.name.class"}}},"caveatTypeName":{"match":"\\s*([a-zA-Z_]\\w*)\\s*","captures":{"1":{"name":"entity.name.class"}}},"comma":{"name":"punctuation.definition.comma","match":"\\s*,\\s*"},"comment":{"patterns":[{"include":"#lineComment"},{"include":"#blockComment"}],"repository":{"blockComment":{"name":"comment.block.spicedb","begin":"\\/\\*","end":"\\*\\/"},"lineComment":{"patterns":[{"include":"#doubleSlashLineComment"}],"repository":{"doubleSlashLineComment":{"name":"comment.line.double-slash.spicedb","match":"\\/\\/.*"}}}}},"definition":{"begin":"(\\bdefinition\\b)\\s+(([a-z][\\w]{1,62}[a-z0-9]\\/)*[a-z][\\w]{1,62}[a-z0-9])\\s*(\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#relation"},{"include":"#permission"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.class.definition"},"2":{"name":"entity.name.class"},"4":{"name":"punctuation.definition.brace"}},"endCaptures":{"0":{"name":"punctuation.end.brace"}}},"directRelationType":{"match":"([a-zA-Z_]\\w*)","captures":{"1":{"name":"entity.name.class"}}},"import":{"match":"\\s*(import)\\s*([\"a-zA-Z_]\\w*)\\s*","captures":{"1":{"name":"keyword.class.definition"},"2":{"name":"entity.name.function"}}},"indirectRelationType":{"match":"([a-zA-Z_]\\w*)(#)([a-zA-Z_]\\w*)","captures":{"1":{"name":"entity.name.class"},"2":{"name":"punctuation.definition.hash"},"3":{"name":"variable.other.member.spicedb"}}},"nil":{"match":"\\b(nil)\\b","captures":{"1":{"name":"constant.language.nil.spicedb"}}},"partial":{"match":"\\s*(partial)\\s*([\"a-zA-Z_]\\w*)\\s*","captures":{"1":{"name":"keyword.class.definition"},"2":{"name":"entity.name.function"}}},"permission":{"begin":"(\\bpermission\\b)\\s+([a-zA-Z_]\\w*)\\s*(=)\\s*","end":"(?\u003c=;|\\n)","patterns":[{"include":"#comment"},{"include":"#arrow_alternative"},{"include":"#arrow_intersection"},{"include":"#arrow"},{"include":"#nil"},{"include":"#relationRef"},{"include":"#permissionOperator"}],"beginCaptures":{"1":{"name":"keyword.function.relation"},"2":{"name":"entity.name.function"},"3":{"name":"punctuation.definition.equal"}}},"permissionOperator":{"match":"\\s*(\\+|-|\u0026)\\s*","captures":{"1":{"name":"keyword.operator.logical"}}},"pipe":{"name":"punctuation.definition.pipe","match":"\\|"},"relation":{"begin":"(\\brelation\\b)\\s+([a-zA-Z_]\\w*)\\s*(:)","end":"(?\u003c=;|\\n)","patterns":[{"include":"#wildcardRelationType"},{"include":"#indirectRelationType"},{"include":"#directRelationType"},{"include":"#pipe"},{"include":"#with_expiration"},{"include":"#with_caveat"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.variable.relation"},"2":{"name":"entity.name.variable"},"3":{"name":"punctuation.definition.colon"}}},"relationRef":{"match":"([a-zA-Z_]\\w*)\\b(?!-\u003e|\\.(?:any|all)\\()","captures":{"1":{"name":"variable.other.member.spicedb"}}},"use":{"match":"\\s*(use)\\s*([a-zA-Z_]\\w*)\\s*","captures":{"1":{"name":"keyword.class.definition"},"2":{"name":"keyword.class.definition"}}},"wildcardRelationType":{"match":"([a-zA-Z_]\\w*)(:)(\\*)","captures":{"1":{"name":"entity.name.class"},"2":{"name":"punctuation.definition.colon"},"3":{"name":"constant.language.wildcard.spicedb"}}},"with_caveat":{"match":"\\s*(with)\\s*(([a-z][\\w]{1,62}[a-z0-9]\\/)*[a-z][\\w]{1,62}[a-z0-9])\\s*","captures":{"1":{"name":"keyword.class.definition"},"2":{"name":"entity.name.function"}}},"with_expiration":{"match":"\\s*(with)\\s*(expiration)\\s*","captures":{"1":{"name":"keyword.class.definition"},"2":{"name":"support.type.expiration.spicedb"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"Stim","scopeName":"source.stim","patterns":[{"include":"#comment"},{"include":"#control-flow"},{"include":"#annotation"},{"include":"#noise-channel"},{"include":"#measurement"},{"include":"#gate"},{"include":"#tag"},{"include":"#measurement-record"},{"include":"#sweep-bit"},{"include":"#negation"},{"include":"#pauli-target"},{"include":"#combiner"},{"include":"#number"},{"include":"#bracket"}],"repository":{"annotation":{"name":"keyword.other.annotation.stim","match":"\\b(DETECTOR|MPAD|OBSERVABLE_INCLUDE|QUBIT_COORDS|SHIFT_COORDS|TICK)\\b"},"bracket":{"name":"punctuation.section.brackets.stim","match":"[(){}]"},"combiner":{"name":"keyword.operator.combiner.stim","match":"\\*"},"comment":{"name":"comment.line.number-sign.stim","match":"#.*$"},"control-flow":{"name":"keyword.control.stim","match":"\\b(REPEAT|SELECT|REQUIRE|NOTLEAKED)\\b"},"gate":{"name":"keyword.other.gate.stim","match":"\\b(C_NXYZ|C_NZYX|C_XNYZ|C_XYNZ|C_XYZ|C_ZNYX|C_ZYNX|C_ZYX|CXSWAP|CX|CNOT|ZCX|CY|ZCY|CZSWAP|CZ|ZCZ|SWAPCZ|SWAPCX|SWAP|H_XZ|H_NXY|H_NXZ|H_NYZ|H_XY|H_YZ|H|SQRT_X_DAG|SQRT_X|SQRT_Y_DAG|SQRT_Y|SQRT_Z_DAG|SQRT_Z|SQRT_XX_DAG|SQRT_XX|SQRT_YY_DAG|SQRT_YY|SQRT_ZZ_DAG|SQRT_ZZ|S_DAG|S|ISWAP_DAG|ISWAP|II|XCX|XCY|XCZ|YCX|YCY|YCZ|MPP|SPP_DAG|SPP|I|X|Y|Z)\\b"},"measurement":{"name":"keyword.other.measurement.stim","match":"\\b(MRX|MRY|MRZ|MR|MXX|MYY|MZZ|MX|MY|MZ|M|RX|RY|RZ|R)\\b"},"measurement-record":{"match":"\\b(rec)(\\[)(-?\\d+)(\\])","captures":{"1":{"name":"support.function.record.stim"},"2":{"name":"punctuation.section.brackets.stim"},"3":{"name":"constant.numeric.stim"},"4":{"name":"punctuation.section.brackets.stim"}}},"negation":{"name":"keyword.operator.negation.stim","match":"!"},"noise-channel":{"name":"keyword.other.noise.stim","match":"\\b(CORRELATED_ERROR|ELSE_CORRELATED_ERROR|DEPOLARIZE1|DEPOLARIZE2|HERALDED_ERASE|HERALDED_PAULI_CHANNEL_1|II_ERROR|I_ERROR|PAULI_CHANNEL_1|PAULI_CHANNEL_2|X_ERROR|Y_ERROR|Z_ERROR|LOSS_ERROR|E)\\b"},"number":{"name":"constant.numeric.stim","match":"[+-]?\\b\\d+(\\.\\d+)?([eE][+-]?\\d+)?\\b"},"pauli-target":{"match":"([XYZL])(\\d+)","captures":{"1":{"name":"support.class.pauli.stim"},"2":{"name":"constant.numeric.stim"}}},"sweep-bit":{"match":"\\b(sweep)(\\[)(\\d+)(\\])","captures":{"1":{"name":"support.function.sweep.stim"},"2":{"name":"punctuation.section.brackets.stim"},"3":{"name":"constant.numeric.stim"},"4":{"name":"punctuation.section.brackets.stim"}}},"tag":{"name":"string.other.tag.stim","match":"\\[[^\\]]*\\]"}}}
@@ -1 +1 @@
1
- {"name":"SurrealQL","scopeName":"source.surrealql","patterns":[{"include":"#comment"},{"include":"#keywords"},{"include":"#operators"},{"include":"#js-function"},{"include":"#function"},{"include":"#value"}],"repository":{"analyzer-tokenizer":{"name":"support.constant.analyzer-tokenizer.surrealql","match":"(?i)\\b(blank|camel|class|punct)\\b"},"array":{"begin":"\\[","end":"\\]","patterns":[{"include":"#array-content"}]},"array-content":{"patterns":[{"include":"$self"},{"name":"punctuation.separator.array","match":","}]},"block":{"name":"surrealql.block","begin":"\\{","end":"\\}","patterns":[{"include":"#block-content"}]},"block-content":{"patterns":[{"include":"#string"},{"include":"#object-key"},{"include":"$self"}]},"boolean":{"name":"constant.language.bool","match":"\\b(true|TRUE|false|FALSE|True|False)\\b"},"comment":{"patterns":[{"include":"#comment.line.dash"},{"include":"#comment.line.slash"},{"include":"#comment.line.hash"},{"include":"#comment.block"}]},"comment.block":{"name":"comment.block.surrealql","begin":"/\\*","end":"\\*/"},"comment.line.dash":{"name":"comment.line.double-dash","begin":"--","end":"\\n"},"comment.line.hash":{"name":"comment.line.number-sign","begin":"#","end":"\\n"},"comment.line.slash":{"name":"comment.line.double-slash","begin":"//","end":"\\n"},"distance-name":{"name":"support.constant.distance.surrealql","match":"(?i)\\b(chebyshev|euclidean|manhattan|minkowski|hamming|jaccard|pearson|cosine)\\b"},"duration":{"name":"constant.other","match":"(\\d+(ns|µs|ms|s|m|h|d|w|y))+"},"filter-name":{"name":"support.constant.filter.surrealql","match":"(?i)\\b(edgengram|uppercase|snowball|ascii|ngram)\\b"},"function":{"begin":"(?=((?:\\b\\w+(?:::\\b\\w+)+)|count|rand)\\s*\\()","end":"(?\u003c=\\))","patterns":[{"include":"#comment"},{"name":"meta.function.arguments","begin":"\\(","end":"\\)","patterns":[{"include":"#value"}]}],"beginCaptures":{"1":{"name":"support.function"}}},"ident":{"patterns":[{"name":"support.type.property-name","begin":"`","end":"(?\u003c!\\\\)`"},{"name":"support.type.property-name","begin":"⟨","end":"(?\u003c!\\\\)⟩"}]},"identifier":{"name":"variable.other.surrealql","match":"\\b[a-zA-Z_][a-zA-Z0-9_]*\\b"},"index-type":{"name":"constant.language.index-type.surrealql","match":"(?i)\\b(f32|f64|i16|i32|i64)\\b"},"js-function":{"begin":"(?=(\\bfunction\\b))","end":"(?\u003c=})","patterns":[{"include":"#comment"},{"name":"meta.function.arguments","begin":"\\(","end":"\\)","patterns":[{"include":"#value"}]},{"name":"meta.embedded.block.javascript","begin":"{","end":"}","patterns":[{"include":"source.js"}]}],"beginCaptures":{"1":{"name":"support.function.js"}}},"keywords":{"patterns":[{"name":"keyword.control keyword.control.surrealql","match":"(?i)\\b(keep_pruned_connections|doc_lengths_cache|doc_lengths_order|extend_candidates|postings_cache|postings_order|doc_ids_cache|doc_ids_order|authenticate|concurrently|mtree_cache|permissions|terms_cache|terms_order|transaction|changefeed|highlights|middleware|schemafull|schemaless|tokenizers|algorithm|dimension|duplicate|functions|namespace|overwrite|reference|structure|tempfiles|analyzer|capacity|computed|continue|database)\\b"},{"name":"keyword.control keyword.control.surrealql","match":"(?i)\\b(duration|enforced|flexible|function|parallel|passhash|password|readonly|relation|backend|cascade|changes|collate|columns|comment|content|default|exclude|explain|expunge|filters|graphql|include|noindex|numeric|rebuild|replace|session|timeout|version|access|always|assert|bucket|cancel)\\b"},{"name":"keyword.control keyword.control.surrealql","match":"(?i)\\b(commit|config|create|define|delete|exists|fields|ignore|insert|issuer|normal|option|record|reject|relate|remove|return|search|select|signin|signup|tables|unique|update|upsert|values|alter|async|begin|break|defer|event|fetch|field|group)\\b"},{"name":"keyword.control keyword.control.surrealql","match":"(?i)\\b(index|limit|merge|mtree|order|param|patch|roles|scope|since|sleep|split|start|table|throw|token|trace|unset|value|where|auto|bm25|desc|dist|drop|else|from|hnsw|info|into|kill|live|omit|only|root)\\b"},{"name":"keyword.control keyword.control.surrealql","match":"(?i)\\b(show|then|type|user|when|with|all|any|api|asc|efc|end|for|get|jwt|key|let|not|out|put|set|url|use|as|at|by|db|if|in|lm|m0|ns|on|sc|tb)\\b"},{"name":"keyword.control keyword.control.surrealql","match":"(?i)\\b(to|m)\\b"}]},"literal-keyword":{"name":"constant.language.literal.surrealql","match":"(?i)\\b(diff|full)\\b"},"number":{"patterns":[{"name":"constant.numeric.decimal","match":"\\b\\d+\\.\\d+(?:f|dec)?\\b"},{"name":"constant.numeric.int","match":"\\b\\d+(?:f|dec)?\\b"}]},"object-key":{"patterns":[{"match":"(?:^|{|,)[ \t]*(\"[^(?:\\\")]+\")(?=:(?!:))","captures":{"1":{"name":"string.quoted.double"}}},{"match":"(?:^|{|,)[ \t]*('[^(?:\\')]+')(?=:(?!:))","captures":{"1":{"name":"string.quoted.single"}}},{"match":"(^|\\{|\\,)[ \t]*([a-zA-Z_0-9]+)(?=:(?!:))","captures":{"2":{"name":"meta.object-literal.key"}}}]},"operators":{"patterns":[{"name":"keyword.operator.arrow.surrealql","match":"\u003c-\u003e|-\u003e|\u003c-|\u003c~"},{"include":"#regex-literal"},{"name":"keyword.operator.range.surrealql","match":"\\.\\.(?=\\=)"},{"name":"keyword.operator.range.surrealql","match":"\\.\\.(?!\\.)"},{"name":"keyword.operator.word.surrealql","match":"(?i)\\b(containsnone|containsnot|containsall|containsany|noneinside|intersects|notinside|allinside|anyinside|contains|outside|inside|and|or)\\b"},{"name":"keyword.operator.logical-and.surrealql","match":"\u0026\u0026"},{"name":"keyword.operator.logical-or.surrealql","match":"\\|\\|"},{"name":"keyword.operator.is-not.surrealql","match":"\\b(IS NOT|is not)\\b|!="},{"name":"keyword.operator.is.surrealql","match":"\\b(IS|is)\\b|="},{"name":"keyword.operator.containssome.surrealql","match":"\\b(CONTAINSSOME|containssome)\\b"},{"name":"keyword.operator.contains.surrealql","match":"∋"},{"name":"keyword.operator.containsall.surrealql","match":"⊇"},{"name":"keyword.operator.containsany.surrealql","match":"⊃"},{"name":"keyword.operator.containsnone.surrealql","match":"⊅"},{"name":"keyword.operator.containsnot.surrealql","match":"∌"},{"name":"keyword.operator.allinside.surrealql","match":"⊆"},{"name":"keyword.operator.anyinside.surrealql","match":"⊂"},{"name":"keyword.operator.noneinside.surrealql","match":"⊄"},{"name":"keyword.operator.notinside.surrealql","match":"∉"},{"name":"keyword.operator.inside.surrealql","match":"∈"},{"name":"keyword.operator.equal.surrealql","match":"=="},{"name":"keyword.operator.all-equal.surrealql","match":"\\*="},{"name":"keyword.operator.any-equal.surrealql","match":"\\?="},{"name":"keyword.operator.fuzzy-inequal.surrealql","match":"!~"},{"name":"keyword.operator.fuzzy-all-equal.surrealql","match":"\\*~"},{"name":"keyword.operator.fuzzy-any-equal.surrealql","match":"\\?~"},{"name":"keyword.operator.fuzzy-equal.surrealql","match":"~"},{"name":"keyword.operator.less-or-equal.surrealql","match":"\u003c="},{"name":"keyword.operator.less.surrealql","match":"\u003c(?!-|[a-z]+[^:])"},{"name":"keyword.operator.more-or-equal.surrealql","match":"\u003e="},{"name":"keyword.operator.more.surrealql","match":"(?\u003c!-)\u003e"},{"name":"keyword.operator.add.surrealql","match":"\\+"},{"name":"keyword.operator.subtract.surrealql","match":"-"},{"name":"keyword.operator.multiply.surrealql","match":"\\*|×|∙"},{"name":"keyword.operator.devide.surrealql","match":"\\/|÷"},{"name":"keyword.operator.matches.surrealql","match":"@([0-9]+)?@","captures":{"1":{"name":"constant.numeric.int"}}},{"name":"keyword.operator.either.surrealql","match":"\\?:"},{"name":"keyword.operator.truthy.surrealql","match":"\\?\\?"},{"name":"keyword.operator.knn.surrealql","match":"\\\u003c\\|([a-zA-Z|\\d|,])+\\|\\\u003e"}]},"positional":{"name":"constant.language.positional","match":"\\b(AFTER|after|BEFORE|before)\\b"},"query":{"patterns":[{"include":"$self"}]},"record":{"patterns":[{"match":"(\\b\\w+\\b):⟨([^⟩]+)⟩","captures":{"1":{"name":"entity.name.class"},"2":{"name":"entity.name.class"}}},{"match":"(\\b\\w+\\b):`([^`]+)`","captures":{"1":{"name":"entity.name.class"},"2":{"name":"entity.name.class"}}},{"begin":"(\\b\\w+\\b):(?=(\\b[\\w:]+\\b)\\s*\\()","end":"(?\u003c=\\))","patterns":[{"include":"#comment"},{"name":"meta.function.arguments","begin":"\\(","end":"\\)","patterns":[{"include":"#value"}]}],"beginCaptures":{"1":{"name":"entity.name.class"},"2":{"name":"support.function"}}},{"match":"(\\b\\w+\\b):(\\b\\w+\\b)","captures":{"1":{"name":"entity.name.class"},"2":{"name":"entity.name.class"}}},{"begin":"(\\b\\w+\\b):\\[","end":"\\]","patterns":[{"include":"#array-content"}],"captures":{"1":{"name":"entity.name.class"}}},{"begin":"(\\b\\w+\\b):(?=\\{)","end":"\\}","patterns":[{"include":"#block-content"}],"captures":{"1":{"name":"entity.name.class"}}}]},"regex-literal":{"name":"string.regexp.surrealql","match":"(?\u003c![A-Za-z0-9])(\\/)(?:[^\\\\/]|\\\\.|\\[(?:[^\\]\\\\]|\\\\.)*\\])*(\\/)([a-z]*)"},"string":{"patterns":[{"name":"string.quoted.double","begin":"[a-z]?\"","end":"(?\u003c!\\\\)\""},{"name":"string.quoted.single","begin":"[a-z]?'","end":"(?\u003c!\\\\)'"}]},"subquery":{"begin":"\\(","end":"\\)","patterns":[{"include":"#query"},{"include":"#value"}]},"token-type":{"name":"support.constant.token-type.surrealql","match":"(?i)\\b(eddsa|es256|es384|es512|ps256|ps384|ps512|rs256|rs384|rs512|jwks)\\b"},"type":{"name":"meta.type.annotation.surrealql","match":"[a-z]*\u003c[a-zA-Z][a-zA-Z0-9\u003c\u003e|, _]+[a-zA-Z0-9\u003e]+\u003e","captures":{"0":{"patterns":[{"name":"entity.name.type.surrealql","match":"\u003c|\u003e"},{"include":"#number"},{"include":"#void-type"}]}}},"value":{"patterns":[{"include":"#comment"},{"include":"#js-function"},{"include":"#function"},{"include":"#block"},{"include":"#array"},{"include":"#var-name"},{"include":"#boolean"},{"include":"#string"},{"include":"#ident"},{"include":"#void-type"},{"include":"#positional"},{"include":"#number"},{"include":"#duration"},{"include":"#record"},{"include":"#subquery"},{"include":"#type"},{"include":"#index-type"},{"include":"#token-type"},{"include":"#distance-name"},{"include":"#filter-name"},{"include":"#analyzer-tokenizer"},{"include":"#literal-keyword"},{"include":"#regex-literal"},{"include":"#identifier"}]},"var-name":{"patterns":[{"name":"variable.name","match":"\\$\\w+"},{"name":"variable.name","match":"\\$`\\w+`"},{"name":"variable.name","match":"\\$⟨\\w+⟩"}]},"void-type":{"name":"constant.language.void","match":"\\b(null|NULL|none|NONE)\\b"}}}
1
+ {"name":"SurrealQL","scopeName":"source.surrealql","patterns":[{"include":"#comment"},{"include":"#type-clause"},{"include":"#keywords"},{"include":"#operators"},{"include":"#js-function"},{"include":"#function"},{"include":"#value"}],"repository":{"analyzer-tokenizer":{"name":"support.constant.analyzer-tokenizer.surrealql","match":"(?i)\\b(blank|camel|class|punct)\\b"},"array":{"begin":"\\[","end":"\\]","patterns":[{"include":"#array-content"}]},"array-content":{"patterns":[{"include":"$self"},{"name":"punctuation.separator.array","match":","}]},"block":{"name":"surrealql.block","begin":"\\{","end":"\\}","patterns":[{"include":"#block-content"}]},"block-content":{"patterns":[{"include":"#string"},{"include":"#object-key"},{"include":"$self"}]},"boolean":{"name":"constant.language.bool","match":"\\b(true|TRUE|false|FALSE|True|False)\\b"},"comment":{"patterns":[{"include":"#comment.line.dash"},{"include":"#comment.line.slash"},{"include":"#comment.line.hash"},{"include":"#comment.block"}]},"comment.block":{"name":"comment.block.surrealql","begin":"/\\*","end":"\\*/"},"comment.line.dash":{"name":"comment.line.double-dash","begin":"--","end":"\\n"},"comment.line.hash":{"name":"comment.line.number-sign","begin":"#","end":"\\n"},"comment.line.slash":{"name":"comment.line.double-slash","begin":"//","end":"\\n"},"distance-name":{"name":"support.constant.distance.surrealql","match":"(?i)\\b(chebyshev|euclidean|manhattan|minkowski|hamming|jaccard|pearson|cosine)\\b"},"duration":{"name":"constant.other","match":"(\\d+(?:_\\d+)* *(?:ns|µs|ms|s|m|h|d|w|y)(?![A-Za-z_]))+"},"filter-name":{"name":"support.constant.filter.surrealql","match":"(?i)\\b(edgengram|uppercase|snowball|ascii|ngram)\\b"},"function":{"begin":"(?=((?:\\b\\w+(?:::\\b\\w+)+)|count|rand)\\s*\\()","end":"(?\u003c=\\))","patterns":[{"include":"#comment"},{"name":"meta.function.arguments","begin":"\\(","end":"\\)","patterns":[{"include":"#value"}]}],"beginCaptures":{"1":{"name":"support.function"}}},"ident":{"patterns":[{"name":"support.type.property-name","begin":"`","end":"(?\u003c!\\\\)`"},{"name":"support.type.property-name","begin":"⟨","end":"(?\u003c!\\\\)⟩"}]},"identifier":{"name":"variable.other.surrealql","match":"\\b[a-zA-Z_][a-zA-Z0-9_]*\\b"},"index-type":{"name":"constant.language.index-type.surrealql","match":"(?i)\\b(f32|f64|i16|i32|i64)\\b"},"js-function":{"begin":"(?=(\\bfunction\\b))","end":"(?\u003c=})","patterns":[{"include":"#comment"},{"name":"meta.function.arguments","begin":"\\(","end":"\\)","patterns":[{"include":"#value"}]},{"name":"meta.embedded.block.javascript","begin":"{","end":"}","patterns":[{"include":"source.js"}]}],"beginCaptures":{"1":{"name":"support.function.js"}}},"keywords":{"patterns":[{"name":"keyword.control keyword.control.surrealql","match":"(?i)\\b(keep_pruned_connections|doc_lengths_cache|doc_lengths_order|extend_candidates|postings_cache|postings_order|doc_ids_cache|doc_ids_order|authenticate|concurrently|mtree_cache|permissions|terms_cache|terms_order|transaction|changefeed|highlights|middleware|schemafull|schemaless|tokenizers|algorithm|dimension|duplicate|functions|namespace|overwrite|reference|structure|tempfiles|analyzer|capacity|computed|continue|database)\\b"},{"name":"keyword.control keyword.control.surrealql","match":"(?i)\\b(duration|enforced|flexible|function|parallel|passhash|password|readonly|relation|backend|cascade|changes|collate|columns|comment|content|default|exclude|explain|expunge|filters|graphql|include|noindex|numeric|rebuild|replace|session|timeout|version|access|always|assert|bucket|cancel)\\b"},{"name":"keyword.control keyword.control.surrealql","match":"(?i)\\b(commit|config|create|define|delete|exists|fields|ignore|insert|issuer|normal|option|record|reject|relate|remove|return|search|select|signin|signup|strict|tables|unique|update|upsert|values|alter|async|begin|break|defer|event|fetch|field)\\b"},{"name":"keyword.control keyword.control.surrealql","match":"(?i)\\b(group|index|limit|merge|mtree|order|param|patch|roles|scope|since|sleep|split|start|table|throw|token|trace|unset|value|where|auto|bm25|desc|dist|drop|else|from|hnsw|info|into|kill|live|omit|only)\\b"},{"name":"keyword.control keyword.control.surrealql","match":"(?i)\\b(root|show|then|type|user|when|with|all|any|api|asc|efc|end|for|get|jwt|key|let|not|out|put|set|url|use|as|at|by|db|if|in|lm|m0|ns|on|sc)\\b"},{"name":"keyword.control keyword.control.surrealql","match":"(?i)\\b(tb|to|m)\\b"}]},"literal-keyword":{"name":"constant.language.literal.surrealql","match":"(?i)\\b(diff|full)\\b"},"number":{"patterns":[{"name":"constant.numeric.decimal","match":"\\b\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?dec\\b"},{"name":"constant.numeric.decimal","match":"\\b(?:\\d+(?:_\\d+)*f|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*(?:[eE][+-]?\\d+(?:_\\d+)*)?|[eE][+-]?\\d+(?:_\\d+)*)(?:f)?)\\b"},{"name":"constant.numeric.int","match":"\\b\\d+(?:_\\d+)*\\b"}]},"object-key":{"patterns":[{"match":"(?:^|{|,)[ \t]*(\"[^(?:\\\")]+\")(?=:(?!:))","captures":{"1":{"name":"string.quoted.double"}}},{"match":"(?:^|{|,)[ \t]*('[^(?:\\')]+')(?=:(?!:))","captures":{"1":{"name":"string.quoted.single"}}},{"match":"(^|\\{|\\,)[ \t]*([a-zA-Z_0-9]+)(?=:(?!:))","captures":{"2":{"name":"meta.object-literal.key"}}}]},"operators":{"patterns":[{"name":"keyword.operator.arrow.surrealql","match":"\u003c-\u003e|-\u003e|\u003c-|\u003c~"},{"include":"#regex-literal"},{"name":"keyword.operator.range.surrealql","match":"\\.\\.(?=\\=)"},{"name":"keyword.operator.range.surrealql","match":"\\.\\.(?!\\.)"},{"name":"keyword.operator.word.surrealql","match":"(?i)\\b(containsnone|containsnot|containsall|containsany|noneinside|intersects|notinside|allinside|anyinside|contains|outside|inside|and|or)\\b"},{"name":"keyword.operator.logical-and.surrealql","match":"\u0026\u0026"},{"name":"keyword.operator.logical-or.surrealql","match":"\\|\\|"},{"name":"keyword.operator.is-not.surrealql","match":"\\b(IS NOT|is not)\\b|!="},{"name":"keyword.operator.is.surrealql","match":"\\b(IS|is)\\b|="},{"name":"keyword.operator.containssome.surrealql","match":"\\b(CONTAINSSOME|containssome)\\b"},{"name":"keyword.operator.contains.surrealql","match":"∋"},{"name":"keyword.operator.containsall.surrealql","match":"⊇"},{"name":"keyword.operator.containsany.surrealql","match":"⊃"},{"name":"keyword.operator.containsnone.surrealql","match":"⊅"},{"name":"keyword.operator.containsnot.surrealql","match":"∌"},{"name":"keyword.operator.allinside.surrealql","match":"⊆"},{"name":"keyword.operator.anyinside.surrealql","match":"⊂"},{"name":"keyword.operator.noneinside.surrealql","match":"⊄"},{"name":"keyword.operator.notinside.surrealql","match":"∉"},{"name":"keyword.operator.inside.surrealql","match":"∈"},{"name":"keyword.operator.equal.surrealql","match":"=="},{"name":"keyword.operator.all-equal.surrealql","match":"\\*="},{"name":"keyword.operator.any-equal.surrealql","match":"\\?="},{"name":"keyword.operator.fuzzy-inequal.surrealql","match":"!~"},{"name":"keyword.operator.fuzzy-all-equal.surrealql","match":"\\*~"},{"name":"keyword.operator.fuzzy-any-equal.surrealql","match":"\\?~"},{"name":"keyword.operator.fuzzy-equal.surrealql","match":"~"},{"name":"keyword.operator.less-or-equal.surrealql","match":"\u003c="},{"name":"keyword.operator.less.surrealql","match":"\u003c(?!-|[a-z]+[^:])"},{"name":"keyword.operator.more-or-equal.surrealql","match":"\u003e="},{"name":"keyword.operator.more.surrealql","match":"(?\u003c!-)\u003e"},{"name":"keyword.operator.add.surrealql","match":"\\+"},{"name":"keyword.operator.subtract.surrealql","match":"-"},{"name":"keyword.operator.multiply.surrealql","match":"\\*|×|∙"},{"name":"keyword.operator.devide.surrealql","match":"\\/|÷"},{"name":"keyword.operator.matches.surrealql","match":"@([0-9]+)?@","captures":{"1":{"name":"constant.numeric.int"}}},{"name":"keyword.operator.optional.surrealql","match":"\\.\\?"},{"name":"keyword.operator.either.surrealql","match":"\\?:"},{"name":"keyword.operator.truthy.surrealql","match":"\\?\\?"},{"name":"keyword.operator.knn.surrealql","match":"\\\u003c\\|([a-zA-Z|\\d|,])+\\|\\\u003e"}]},"positional":{"name":"constant.language.positional","match":"\\b(AFTER|after|BEFORE|before)\\b"},"query":{"patterns":[{"include":"$self"}]},"record":{"patterns":[{"match":"(\\b\\w+\\b):⟨([^⟩]+)⟩","captures":{"1":{"name":"entity.name.class"},"2":{"name":"entity.name.class"}}},{"match":"(\\b\\w+\\b):`([^`]+)`","captures":{"1":{"name":"entity.name.class"},"2":{"name":"entity.name.class"}}},{"begin":"(\\b\\w+\\b):(?=(\\b[\\w:]+\\b)\\s*\\()","end":"(?\u003c=\\))","patterns":[{"include":"#comment"},{"name":"meta.function.arguments","begin":"\\(","end":"\\)","patterns":[{"include":"#value"}]}],"beginCaptures":{"1":{"name":"entity.name.class"},"2":{"name":"support.function"}}},{"match":"(\\b\\w+\\b):(\\b\\w+\\b)","captures":{"1":{"name":"entity.name.class"},"2":{"name":"entity.name.class"}}},{"begin":"(\\b\\w+\\b):\\[","end":"\\]","patterns":[{"include":"#array-content"}],"captures":{"1":{"name":"entity.name.class"}}},{"begin":"(\\b\\w+\\b):(?=\\{)","end":"\\}","patterns":[{"include":"#block-content"}],"captures":{"1":{"name":"entity.name.class"}}}]},"regex-literal":{"name":"string.regexp.surrealql","match":"(?\u003c![A-Za-z0-9])(\\/)(?:[^\\\\/]|\\\\.|\\[(?:[^\\]\\\\]|\\\\.)*\\])*(\\/)([a-z]*)"},"string":{"patterns":[{"name":"string.quoted.double","begin":"[a-z]?\"","end":"(?\u003c!\\\\)\""},{"name":"string.quoted.single","begin":"[a-z]?'","end":"(?\u003c!\\\\)'"}]},"subquery":{"begin":"\\(","end":"\\)","patterns":[{"include":"#query"},{"include":"#value"}]},"token-type":{"name":"support.constant.token-type.surrealql","match":"(?i)\\b(eddsa|es256|es384|es512|ps256|ps384|ps512|rs256|rs384|rs512|jwks)\\b"},"type":{"name":"meta.type.annotation.surrealql","match":"[a-z]*\u003c[a-zA-Z][a-zA-Z0-9\u003c\u003e|, _]+[a-zA-Z0-9\u003e]+\u003e","captures":{"0":{"patterns":[{"name":"entity.name.type.surrealql","match":"\u003c|\u003e"},{"include":"#number"},{"include":"#void-type"}]}}},"type-clause":{"name":"meta.type.annotation.surrealql","begin":"(?i)\\b(TYPE)\\b","end":"(?=\\b(DEFAULT|ASSERT|VALUE|COMMENT|PERMISSIONS|REFERENCE|READONLY|FLEXIBLE|COMPUTED|DIST|DIMENSION|EFC|M|LM|M0)\\b|;|$)","patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#number"},{"include":"#void-type"},{"name":"keyword.operator.union.surrealql","match":"\\|"},{"name":"punctuation.definition.type.surrealql","match":"[\\[\\]\u003c\u003e]"},{"name":"punctuation.separator.type.surrealql","match":","},{"include":"#index-type"},{"name":"entity.name.type.surrealql","match":"\\b[a-zA-Z_][a-zA-Z0-9_]*\\b"}],"beginCaptures":{"1":{"name":"keyword.control.surrealql"}}},"value":{"patterns":[{"include":"#comment"},{"include":"#js-function"},{"include":"#function"},{"include":"#block"},{"include":"#array"},{"include":"#var-name"},{"include":"#boolean"},{"include":"#string"},{"include":"#ident"},{"include":"#void-type"},{"include":"#positional"},{"include":"#duration"},{"include":"#number"},{"include":"#record"},{"include":"#subquery"},{"include":"#type"},{"include":"#index-type"},{"include":"#token-type"},{"include":"#distance-name"},{"include":"#filter-name"},{"include":"#analyzer-tokenizer"},{"include":"#literal-keyword"},{"include":"#regex-literal"},{"include":"#identifier"}]},"var-name":{"patterns":[{"name":"variable.name","match":"\\$\\w+"},{"name":"variable.name","match":"\\$`\\w+`"},{"name":"variable.name","match":"\\$⟨\\w+⟩"}]},"void-type":{"name":"constant.language.void","match":"\\b(null|NULL|none|NONE)\\b"}}}