github-linguist 9.4.0 → 9.6.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 (113) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/etc.json +1 -1
  3. data/grammars/markdown.mojo.codeblock.json +1 -0
  4. data/grammars/markdown.move.codeblock.json +1 -1
  5. data/grammars/source.4dm.json +1 -1
  6. data/grammars/source.abl.json +1 -1
  7. data/grammars/source.apex.json +1 -1
  8. data/grammars/source.astro.json +1 -1
  9. data/grammars/source.baml-jinja.json +1 -0
  10. data/grammars/source.baml.json +1 -0
  11. data/grammars/source.bb.json +1 -1
  12. data/grammars/source.brs.embedded.xml.json +1 -0
  13. data/grammars/source.bsl.json +1 -1
  14. data/grammars/source.c++.json +1 -1
  15. data/grammars/source.c.json +1 -1
  16. data/grammars/source.c3.json +1 -1
  17. data/grammars/source.cel.json +1 -0
  18. data/grammars/source.clarion.json +1 -1
  19. data/grammars/source.cmake.json +1 -1
  20. data/grammars/source.cmakecache.json +1 -1
  21. data/grammars/source.cpan-mirror.json +1 -0
  22. data/grammars/source.cpan-skiplist.json +1 -0
  23. data/grammars/source.cs.json +1 -1
  24. data/grammars/source.csv.json +1 -1
  25. data/grammars/source.curlrc.json +1 -1
  26. data/grammars/source.dart.json +1 -1
  27. data/grammars/source.daslang.json +1 -1
  28. data/grammars/source.data-weave.json +1 -1
  29. data/grammars/source.emacs.lisp.json +1 -1
  30. data/grammars/source.firrtl.json +1 -1
  31. data/grammars/source.flatbuffers.json +1 -0
  32. data/grammars/source.gdscript.json +1 -1
  33. data/grammars/source.gimprc.json +1 -0
  34. data/grammars/source.gimpres.json +1 -0
  35. data/grammars/source.graphql.json +1 -1
  36. data/grammars/source.gtkrc.json +1 -0
  37. data/grammars/source.hack.json +1 -1
  38. data/grammars/source.hosts.json +1 -1
  39. data/grammars/source.il.json +1 -0
  40. data/grammars/source.ilecobol.json +1 -1
  41. data/grammars/source.ink.json +1 -1
  42. data/grammars/source.interp.json +1 -0
  43. data/grammars/source.jac.json +1 -1
  44. data/grammars/source.jactoml.json +1 -0
  45. data/grammars/source.jai.json +1 -1
  46. data/grammars/source.julia.json +1 -1
  47. data/grammars/source.just.json +1 -1
  48. data/grammars/source.lean4.markdown.json +1 -1
  49. data/grammars/source.liquidsoap.json +1 -0
  50. data/grammars/source.llvm.json +1 -1
  51. data/grammars/source.luau.json +1 -1
  52. data/grammars/source.m2.json +1 -1
  53. data/grammars/source.m3u.json +1 -1
  54. data/grammars/source.matlab.json +1 -1
  55. data/grammars/source.mc.json +1 -1
  56. data/grammars/source.mdx.astro.json +1 -1
  57. data/grammars/source.mermaid.json +1 -1
  58. data/grammars/source.metta.json +1 -0
  59. data/grammars/source.mo.json +1 -1
  60. data/grammars/source.mojo.json +1 -1
  61. data/grammars/source.moonbit.config.json +1 -0
  62. data/grammars/source.moonbit.json +1 -1
  63. data/grammars/source.move.json +1 -1
  64. data/grammars/source.opy.json +1 -0
  65. data/grammars/source.pic.json +1 -1
  66. data/grammars/source.pkgconf.json +1 -0
  67. data/grammars/source.powerquery.json +1 -0
  68. data/grammars/source.powershell.json +1 -1
  69. data/grammars/source.prisma.json +1 -1
  70. data/grammars/source.quint.json +1 -0
  71. data/grammars/source.rascal.json +1 -1
  72. data/grammars/source.rascript.json +1 -1
  73. data/grammars/source.record-jar.json +1 -1
  74. data/grammars/source.redscript.json +1 -0
  75. data/grammars/source.rego.json +1 -1
  76. data/grammars/source.ron.json +1 -1
  77. data/grammars/source.rpgle.json +1 -1
  78. data/grammars/source.slang.json +1 -1
  79. data/grammars/source.slint.json +1 -1
  80. data/grammars/source.soql.json +1 -1
  81. data/grammars/source.spicedb-yaml.json +1 -0
  82. data/grammars/source.spicedb.json +1 -0
  83. data/grammars/source.stan.json +1 -1
  84. data/grammars/source.surrealql.json +1 -1
  85. data/grammars/source.swift.json +1 -1
  86. data/grammars/source.tsp.json +1 -1
  87. data/grammars/source.uri-list.json +1 -0
  88. data/grammars/source.v.json +1 -1
  89. data/grammars/source.vento.json +1 -1
  90. data/grammars/source.wgsl.json +1 -1
  91. data/grammars/spicedb-yaml.injection.json +1 -0
  92. data/grammars/text.cachedir.json +1 -0
  93. data/grammars/text.cookie-jar.json +1 -0
  94. data/grammars/text.html.vue.json +1 -1
  95. data/grammars/text.mac-tts.json +1 -0
  96. data/grammars/text.roff.json +1 -1
  97. data/grammars/text.srt.json +1 -1
  98. data/grammars/version +1 -1
  99. data/lib/linguist/VERSION +1 -1
  100. data/lib/linguist/classifier.rb +2 -1
  101. data/lib/linguist/generated.rb +16 -0
  102. data/lib/linguist/generic.yml +2 -0
  103. data/lib/linguist/heuristics.yml +17 -0
  104. data/lib/linguist/language.rb +8 -0
  105. data/lib/linguist/languages.json +1 -1
  106. data/lib/linguist/languages.yml +173 -12
  107. data/lib/linguist/lazy_blob.rb +19 -1
  108. data/lib/linguist/samples.json +1 -1
  109. data/lib/linguist/source/rugged.rb +16 -1
  110. data/lib/linguist/vendor.yml +3 -0
  111. metadata +30 -3
  112. data/grammars/source.vscode.c3.json +0 -1
  113. data/grammars/text.html.vento.json +0 -1
@@ -1 +1 @@
1
- {"name":"TypeSpec","scopeName":"source.tsp","patterns":[{"include":"#statement"}],"repository":{"alias-id":{"name":"meta.alias-id.typespec","begin":"(=)\\s*","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.tsp"}}},"alias-statement":{"name":"meta.alias-statement.typespec","begin":"\\b(alias)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)\\s*","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#alias-id"},{"include":"#type-parameters"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"entity.name.type.tsp"}}},"augment-decorator-statement":{"name":"meta.augment-decorator-statement.typespec","begin":"((@@)\\b[_$[:alpha:]](?:[_$[:alnum:]]|\\.[_$[:alpha:]])*\\b)","end":"(?=([_$[:alpha:]]|`))|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#parenthesized-expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.tsp"},"2":{"name":"entity.name.tag.tsp"}}},"block-comment":{"name":"comment.block.tsp","begin":"/\\*","end":"\\*/"},"boolean-literal":{"name":"constant.language.tsp","match":"\\b(true|false)\\b"},"callExpression":{"name":"meta.callExpression.typespec","begin":"(\\b[_$[:alpha:]](?:[_$[:alnum:]]|\\.[_$[:alpha:]])*\\b)\\s*(\\()","end":"\\)","patterns":[{"include":"#token"},{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"entity.name.function.tsp"},"2":{"name":"punctuation.parenthesis.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.tsp"}}},"const-statement":{"name":"meta.const-statement.typespec","begin":"\\b(const)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#type-annotation"},{"include":"#operator-assignment"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"variable.name.tsp"}}},"decorator":{"name":"meta.decorator.typespec","begin":"((@)\\b[_$[:alpha:]](?:[_$[:alnum:]]|\\.[_$[:alpha:]])*\\b)","end":"(?=([_$[:alpha:]]|`))|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#parenthesized-expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.tsp"},"2":{"name":"entity.name.tag.tsp"}}},"decorator-declaration-statement":{"name":"meta.decorator-declaration-statement.typespec","begin":"(?:(extern)\\s+)?\\b(dec)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#operation-parameters"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"entity.name.function.tsp"}}},"directive":{"name":"meta.directive.typespec","begin":"\\s*(#)(\\b[_$[:alpha:]][_$[:alnum:]]*\\b)","end":"$|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#string-literal"},{"include":"#identifier-expression"}],"beginCaptures":{"1":{"name":"keyword.directive.name.tsp"},"2":{"name":"keyword.directive.name.tsp"}}},"doc-comment":{"name":"comment.block.tsp","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#doc-comment-block"}],"beginCaptures":{"0":{"name":"comment.block.tsp"}},"endCaptures":{"0":{"name":"comment.block.tsp"}}},"doc-comment-block":{"patterns":[{"include":"#doc-comment-param"},{"include":"#doc-comment-return-tag"},{"include":"#doc-comment-unknown-tag"}]},"doc-comment-param":{"name":"comment.block.tsp","match":"(?x)((@)(?:param|template|prop))\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)\\b","captures":{"1":{"name":"keyword.tag.tspdoc"},"2":{"name":"keyword.tag.tspdoc"},"3":{"name":"variable.name.tsp"}}},"doc-comment-return-tag":{"name":"comment.block.tsp","match":"(?x)((@)(?:returns))\\b","captures":{"1":{"name":"keyword.tag.tspdoc"},"2":{"name":"keyword.tag.tspdoc"}}},"doc-comment-unknown-tag":{"name":"comment.block.tsp","match":"(?x)((@)(?:\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`))\\b","captures":{"1":{"name":"entity.name.tag.tsp"},"2":{"name":"entity.name.tag.tsp"}}},"enum-body":{"name":"meta.enum-body.typespec","begin":"\\{","end":"\\}","patterns":[{"include":"#enum-member"},{"include":"#token"},{"include":"#directive"},{"include":"#decorator"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}}},"enum-member":{"name":"meta.enum-member.typespec","begin":"(?:(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)\\s*(:?))","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#type-annotation"}],"beginCaptures":{"1":{"name":"variable.name.tsp"},"2":{"name":"keyword.operator.type.annotation.tsp"}}},"enum-statement":{"name":"meta.enum-statement.typespec","begin":"\\b(enum)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?\u003c=\\})|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#enum-body"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"entity.name.type.tsp"}}},"escape-character":{"name":"constant.character.escape.tsp","match":"\\\\."},"expression":{"patterns":[{"include":"#token"},{"include":"#directive"},{"include":"#parenthesized-expression"},{"include":"#valueof"},{"include":"#typeof"},{"include":"#type-arguments"},{"include":"#object-literal"},{"include":"#tuple-literal"},{"include":"#tuple-expression"},{"include":"#model-expression"},{"include":"#callExpression"},{"include":"#identifier-expression"}]},"function-declaration-statement":{"name":"meta.function-declaration-statement.typespec","begin":"(?:(extern)\\s+)?\\b(fn)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#operation-parameters"},{"include":"#type-annotation"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"entity.name.function.tsp"}}},"identifier-expression":{"name":"entity.name.type.tsp","match":"\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`"},"import-statement":{"name":"meta.import-statement.typespec","begin":"\\b(import)\\b","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"interface-body":{"name":"meta.interface-body.typespec","begin":"\\{","end":"\\}","patterns":[{"include":"#token"},{"include":"#directive"},{"include":"#decorator"},{"include":"#interface-member"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}}},"interface-heritage":{"name":"meta.interface-heritage.typespec","begin":"\\b(extends)\\b","end":"((?=\\{)|(?=;|@|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"interface-member":{"name":"meta.interface-member.typespec","begin":"(?:\\b(op)\\b\\s+)?(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#operation-signature"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"entity.name.function.tsp"}}},"interface-statement":{"name":"meta.interface-statement.typespec","begin":"\\b(interface)\\b","end":"(?\u003c=\\})|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#type-parameters"},{"include":"#interface-heritage"},{"include":"#interface-body"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"line-comment":{"name":"comment.line.double-slash.tsp","match":"//.*$"},"model-expression":{"name":"meta.model-expression.typespec","begin":"\\{","end":"\\}","patterns":[{"include":"#model-property"},{"include":"#token"},{"include":"#directive"},{"include":"#decorator"},{"include":"#spread-operator"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}}},"model-heritage":{"name":"meta.model-heritage.typespec","begin":"\\b(extends|is)\\b","end":"((?=\\{)|(?=;|@|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"model-property":{"name":"meta.model-property.typespec","begin":"(?:(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)|(\\\"(?:[^\\\"\\\\]|\\\\.)*\\\"))","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#type-annotation"},{"include":"#operator-assignment"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"variable.name.tsp"},"2":{"name":"string.quoted.double.tsp"}}},"model-statement":{"name":"meta.model-statement.typespec","begin":"\\b(model)\\b","end":"(?\u003c=\\})|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#type-parameters"},{"include":"#model-heritage"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"namespace-body":{"name":"meta.namespace-body.typespec","begin":"\\{","end":"\\}","patterns":[{"include":"#statement"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}}},"namespace-name":{"name":"meta.namespace-name.typespec","begin":"(?=([_$[:alpha:]]|`))","end":"((?=\\{)|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))","patterns":[{"include":"#identifier-expression"},{"include":"#punctuation-accessor"}]},"namespace-statement":{"name":"meta.namespace-statement.typespec","begin":"\\b(namespace)\\b","end":"((?\u003c=\\})|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))","patterns":[{"include":"#token"},{"include":"#namespace-name"},{"include":"#namespace-body"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"numeric-literal":{"name":"constant.numeric.tsp","match":"(?:\\b(?\u003c!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$)|\\b(?\u003c!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$)|(?\u003c!\\$)(?:(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)|(?:\\b[0-9][0-9_]*(\\.)[eE][+-]?[0-9][0-9_]*(n)?\\b)|(?:\\B(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)|(?:\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)|(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b)|(?:\\b[0-9][0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)[0-9][0-9_]*(n)?\\b)|(?:\\b[0-9][0-9_]*(n)?\\b(?!\\.)))(?!\\$))"},"object-literal":{"name":"meta.object-literal.typespec","begin":"#\\{","end":"\\}","patterns":[{"include":"#token"},{"include":"#object-literal-property"},{"include":"#directive"},{"include":"#spread-operator"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.hashcurlybrace.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}}},"object-literal-property":{"name":"meta.object-literal-property.typespec","begin":"(?:(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)\\s*(:))","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"variable.name.tsp"},"2":{"name":"keyword.operator.type.annotation.tsp"}}},"operation-heritage":{"name":"meta.operation-heritage.typespec","begin":"\\b(is)\\b","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"operation-parameters":{"name":"meta.operation-parameters.typespec","begin":"\\(","end":"\\)","patterns":[{"include":"#token"},{"include":"#decorator"},{"include":"#model-property"},{"include":"#spread-operator"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.tsp"}}},"operation-signature":{"patterns":[{"include":"#type-parameters"},{"include":"#operation-heritage"},{"include":"#operation-parameters"},{"include":"#type-annotation"}]},"operation-statement":{"name":"meta.operation-statement.typespec","begin":"\\b(op)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#operation-signature"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"entity.name.function.tsp"}}},"operator-assignment":{"name":"keyword.operator.assignment.tsp","match":"="},"parenthesized-expression":{"name":"meta.parenthesized-expression.typespec","begin":"\\(","end":"\\)","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.tsp"}}},"punctuation-accessor":{"name":"punctuation.accessor.tsp","match":"\\."},"punctuation-comma":{"name":"punctuation.comma.tsp","match":","},"punctuation-semicolon":{"name":"punctuation.terminator.statement.tsp","match":";"},"scalar-body":{"name":"meta.scalar-body.typespec","begin":"\\{","end":"\\}","patterns":[{"include":"#token"},{"include":"#directive"},{"include":"#scalar-constructor"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}}},"scalar-constructor":{"name":"meta.scalar-constructor.typespec","begin":"\\b(init)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#operation-parameters"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"entity.name.function.tsp"}}},"scalar-extends":{"name":"meta.scalar-extends.typespec","begin":"\\b(extends)\\b","end":"(?=;|@|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"scalar-statement":{"name":"meta.scalar-statement.typespec","begin":"\\b(scalar)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?\u003c=\\})|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#type-parameters"},{"include":"#scalar-extends"},{"include":"#scalar-body"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"entity.name.type.tsp"}}},"spread-operator":{"name":"meta.spread-operator.typespec","begin":"\\.\\.\\.","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.spread.tsp"}}},"statement":{"patterns":[{"include":"#token"},{"include":"#directive"},{"include":"#augment-decorator-statement"},{"include":"#decorator"},{"include":"#model-statement"},{"include":"#scalar-statement"},{"include":"#union-statement"},{"include":"#interface-statement"},{"include":"#enum-statement"},{"include":"#alias-statement"},{"include":"#const-statement"},{"include":"#namespace-statement"},{"include":"#operation-statement"},{"include":"#import-statement"},{"include":"#using-statement"},{"include":"#decorator-declaration-statement"},{"include":"#function-declaration-statement"},{"include":"#punctuation-semicolon"}]},"string-literal":{"name":"string.quoted.double.tsp","begin":"\"","end":"\"|$","patterns":[{"include":"#template-expression"},{"include":"#escape-character"}]},"template-expression":{"name":"meta.template-expression.typespec","begin":"\\$\\{","end":"\\}","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.tsp"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.tsp"}}},"token":{"patterns":[{"include":"#doc-comment"},{"include":"#line-comment"},{"include":"#block-comment"},{"include":"#triple-quoted-string-literal"},{"include":"#string-literal"},{"include":"#boolean-literal"},{"include":"#numeric-literal"}]},"triple-quoted-string-literal":{"name":"string.quoted.triple.tsp","begin":"\"\"\"","end":"\"\"\"","patterns":[{"include":"#template-expression"},{"include":"#escape-character"}]},"tuple-expression":{"name":"meta.tuple-expression.typespec","begin":"\\[","end":"\\]","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.squarebracket.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.squarebracket.close.tsp"}}},"tuple-literal":{"name":"meta.tuple-literal.typespec","begin":"#\\[","end":"\\]","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.hashsquarebracket.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.squarebracket.close.tsp"}}},"type-annotation":{"name":"meta.type-annotation.typespec","begin":"\\s*(\\??)\\s*(:)","end":"(?=,|;|@|\\)|\\}|=|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.optional.tsp"},"2":{"name":"keyword.operator.type.annotation.tsp"}}},"type-argument":{"name":"meta.type-argument.typespec","begin":"(?:(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)\\s*(=))","end":"(?=\u003e)|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"entity.name.type.tsp"},"2":{"name":"keyword.operator.assignment.tsp"}},"endCaptures":{"0":{"name":"keyword.operator.assignment.tsp"}}},"type-arguments":{"name":"meta.type-arguments.typespec","begin":"\u003c","end":"\u003e","patterns":[{"include":"#type-argument"},{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.tsp"}},"endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.tsp"}}},"type-parameter":{"name":"meta.type-parameter.typespec","begin":"(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?=\u003e)|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#type-parameter-constraint"},{"include":"#type-parameter-default"}],"beginCaptures":{"1":{"name":"entity.name.type.tsp"}}},"type-parameter-constraint":{"name":"meta.type-parameter-constraint.typespec","begin":"extends","end":"(?=\u003e)|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.other.tsp"}}},"type-parameter-default":{"name":"meta.type-parameter-default.typespec","begin":"=","end":"(?=\u003e)|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.tsp"}}},"type-parameters":{"name":"meta.type-parameters.typespec","begin":"\u003c","end":"\u003e","patterns":[{"include":"#type-parameter"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.tsp"}},"endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.tsp"}}},"typeof":{"name":"meta.typeof.typespec","begin":"\\b(typeof)","end":"(?=\u003e)|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"union-body":{"name":"meta.union-body.typespec","begin":"\\{","end":"\\}","patterns":[{"include":"#union-variant"},{"include":"#token"},{"include":"#directive"},{"include":"#decorator"},{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}}},"union-statement":{"name":"meta.union-statement.typespec","begin":"\\b(union)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?\u003c=\\})|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#union-body"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"entity.name.type.tsp"}}},"union-variant":{"name":"meta.union-variant.typespec","begin":"(?:(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)\\s*(:))","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"variable.name.tsp"},"2":{"name":"keyword.operator.type.annotation.tsp"}}},"using-statement":{"name":"meta.using-statement.typespec","begin":"\\b(using)\\b","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#identifier-expression"},{"include":"#punctuation-accessor"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"valueof":{"name":"meta.valueof.typespec","begin":"\\b(valueof)","end":"(?=\u003e)|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}}}}
1
+ {"name":"TypeSpec","scopeName":"source.tsp","patterns":[{"include":"#statement"}],"repository":{"alias-id":{"name":"meta.alias-id.typespec","begin":"(=)\\s*","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.tsp"}}},"alias-statement":{"name":"meta.alias-statement.typespec","begin":"(?:(internal)\\s+)?\\b(alias)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)\\s*","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#alias-id"},{"include":"#type-parameters"}],"beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"entity.name.type.tsp"}}},"augment-decorator-statement":{"name":"meta.augment-decorator-statement.typespec","begin":"((@@)\\b[_$[:alpha:]](?:[_$[:alnum:]]|\\.[_$[:alpha:]])*\\b)","end":"(?=([_$[:alpha:]]|`))|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#parenthesized-expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.tsp"},"2":{"name":"entity.name.tag.tsp"}}},"block-comment":{"name":"comment.block.tsp","begin":"/\\*","end":"\\*/"},"boolean-literal":{"name":"constant.language.tsp","match":"\\b(true|false)\\b"},"callExpression":{"name":"meta.callExpression.typespec","begin":"(\\b[_$[:alpha:]](?:[_$[:alnum:]]|\\.[_$[:alpha:]])*\\b)\\s*(\\()","end":"\\)","patterns":[{"include":"#token"},{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"entity.name.function.tsp"},"2":{"name":"punctuation.parenthesis.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.tsp"}}},"const-statement":{"name":"meta.const-statement.typespec","begin":"(?:(internal)\\s+)?\\b(const)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#type-annotation"},{"include":"#operator-assignment"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"variable.name.tsp"}}},"decorator":{"name":"meta.decorator.typespec","begin":"((@)\\b[_$[:alpha:]](?:[_$[:alnum:]]|\\.[_$[:alpha:]])*\\b)","end":"(?=([_$[:alpha:]]|`))|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#parenthesized-expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.tsp"},"2":{"name":"entity.name.tag.tsp"}}},"decorator-declaration-statement":{"name":"meta.decorator-declaration-statement.typespec","begin":"(?:(internal)\\s+)?(?:(extern)\\s+)?\\b(dec)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#operation-parameters"}],"beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"keyword.other.tsp"},"4":{"name":"entity.name.function.tsp"}}},"directive":{"name":"meta.directive.typespec","begin":"\\s*(#)(\\b[_$[:alpha:]][_$[:alnum:]]*\\b)","end":"$|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#string-literal"},{"include":"#identifier-expression"}],"beginCaptures":{"1":{"name":"keyword.directive.name.tsp"},"2":{"name":"keyword.directive.name.tsp"}}},"doc-comment":{"name":"comment.block.tsp","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#doc-comment-block"}],"beginCaptures":{"0":{"name":"comment.block.tsp"}},"endCaptures":{"0":{"name":"comment.block.tsp"}}},"doc-comment-block":{"patterns":[{"include":"#doc-comment-param"},{"include":"#doc-comment-return-tag"},{"include":"#doc-comment-unknown-tag"}]},"doc-comment-param":{"name":"comment.block.tsp","match":"(?x)((@)(?:param|template|prop))\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)\\b","captures":{"1":{"name":"keyword.tag.tspdoc"},"2":{"name":"keyword.tag.tspdoc"},"3":{"name":"variable.name.tsp"}}},"doc-comment-return-tag":{"name":"comment.block.tsp","match":"(?x)((@)(?:returns))\\b","captures":{"1":{"name":"keyword.tag.tspdoc"},"2":{"name":"keyword.tag.tspdoc"}}},"doc-comment-unknown-tag":{"name":"comment.block.tsp","match":"(?x)((@)(?:\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`))\\b","captures":{"1":{"name":"entity.name.tag.tsp"},"2":{"name":"entity.name.tag.tsp"}}},"enum-body":{"name":"meta.enum-body.typespec","begin":"\\{","end":"\\}","patterns":[{"include":"#enum-member"},{"include":"#token"},{"include":"#directive"},{"include":"#decorator"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}}},"enum-member":{"name":"meta.enum-member.typespec","begin":"(?:(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)\\s*(:?))","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#type-annotation"}],"beginCaptures":{"1":{"name":"variable.name.tsp"},"2":{"name":"keyword.operator.type.annotation.tsp"}}},"enum-statement":{"name":"meta.enum-statement.typespec","begin":"(?:(internal)\\s+)?\\b(enum)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?\u003c=\\})|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#enum-body"}],"beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"entity.name.type.tsp"}}},"escape-character":{"name":"constant.character.escape.tsp","match":"\\\\."},"expression":{"patterns":[{"include":"#token"},{"include":"#directive"},{"include":"#parenthesized-expression"},{"include":"#valueof"},{"include":"#typeof"},{"include":"#type-arguments"},{"include":"#object-literal"},{"include":"#tuple-literal"},{"include":"#tuple-expression"},{"include":"#model-expression"},{"include":"#callExpression"},{"include":"#identifier-expression"}]},"function-declaration-statement":{"name":"meta.function-declaration-statement.typespec","begin":"(?:(internal)\\s+)?(?:(extern)\\s+)?\\b(fn)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#operation-parameters"},{"include":"#type-annotation"}],"beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"keyword.other.tsp"},"4":{"name":"entity.name.function.tsp"}}},"identifier-expression":{"name":"entity.name.type.tsp","match":"\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`"},"import-statement":{"name":"meta.import-statement.typespec","begin":"\\b(import)\\b","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"interface-body":{"name":"meta.interface-body.typespec","begin":"\\{","end":"\\}","patterns":[{"include":"#token"},{"include":"#directive"},{"include":"#decorator"},{"include":"#interface-member"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}}},"interface-heritage":{"name":"meta.interface-heritage.typespec","begin":"\\b(extends)\\b","end":"((?=\\{)|(?=;|@|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"interface-member":{"name":"meta.interface-member.typespec","begin":"(?:\\b(op)\\b\\s+)?(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#operation-signature"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"entity.name.function.tsp"}}},"interface-statement":{"name":"meta.interface-statement.typespec","begin":"(?:(internal)\\s+)?\\b(interface)\\b","end":"(?\u003c=\\})|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#type-parameters"},{"include":"#interface-heritage"},{"include":"#interface-body"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"}}},"line-comment":{"name":"comment.line.double-slash.tsp","match":"//.*$"},"model-expression":{"name":"meta.model-expression.typespec","begin":"\\{","end":"\\}","patterns":[{"include":"#model-property"},{"include":"#token"},{"include":"#directive"},{"include":"#decorator"},{"include":"#spread-operator"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}}},"model-heritage":{"name":"meta.model-heritage.typespec","begin":"\\b(extends|is)\\b","end":"((?=\\{)|(?=;|@|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"model-property":{"name":"meta.model-property.typespec","begin":"(?:(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)|(\\\"(?:[^\\\"\\\\]|\\\\.)*\\\"))","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#type-annotation"},{"include":"#operator-assignment"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"variable.name.tsp"},"2":{"name":"string.quoted.double.tsp"}}},"model-statement":{"name":"meta.model-statement.typespec","begin":"(?:(internal)\\s+)?\\b(model)\\b","end":"(?\u003c=\\})|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#type-parameters"},{"include":"#model-heritage"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"}}},"namespace-body":{"name":"meta.namespace-body.typespec","begin":"\\{","end":"\\}","patterns":[{"include":"#statement"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}}},"namespace-name":{"name":"meta.namespace-name.typespec","begin":"(?=([_$[:alpha:]]|`))","end":"((?=\\{)|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))","patterns":[{"include":"#identifier-expression"},{"include":"#punctuation-accessor"}]},"namespace-statement":{"name":"meta.namespace-statement.typespec","begin":"\\b(namespace)\\b","end":"((?\u003c=\\})|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))","patterns":[{"include":"#token"},{"include":"#namespace-name"},{"include":"#namespace-body"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"numeric-literal":{"name":"constant.numeric.tsp","match":"(?:\\b(?\u003c!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$)|\\b(?\u003c!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$)|(?\u003c!\\$)(?:(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)|(?:\\b[0-9][0-9_]*(\\.)[eE][+-]?[0-9][0-9_]*(n)?\\b)|(?:\\B(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)|(?:\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)|(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b)|(?:\\b[0-9][0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)[0-9][0-9_]*(n)?\\b)|(?:\\b[0-9][0-9_]*(n)?\\b(?!\\.)))(?!\\$))"},"object-literal":{"name":"meta.object-literal.typespec","begin":"#\\{","end":"\\}","patterns":[{"include":"#token"},{"include":"#object-literal-property"},{"include":"#directive"},{"include":"#spread-operator"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.hashcurlybrace.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}}},"object-literal-property":{"name":"meta.object-literal-property.typespec","begin":"(?:(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)\\s*(:))","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"variable.name.tsp"},"2":{"name":"keyword.operator.type.annotation.tsp"}}},"operation-heritage":{"name":"meta.operation-heritage.typespec","begin":"\\b(is)\\b","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"operation-parameters":{"name":"meta.operation-parameters.typespec","begin":"\\(","end":"\\)","patterns":[{"include":"#token"},{"include":"#decorator"},{"include":"#model-property"},{"include":"#spread-operator"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.tsp"}}},"operation-signature":{"patterns":[{"include":"#type-parameters"},{"include":"#operation-heritage"},{"include":"#operation-parameters"},{"include":"#type-annotation"}]},"operation-statement":{"name":"meta.operation-statement.typespec","begin":"(?:(internal)\\s+)?\\b(op)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#operation-signature"}],"beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"entity.name.function.tsp"}}},"operator-assignment":{"name":"keyword.operator.assignment.tsp","match":"="},"parenthesized-expression":{"name":"meta.parenthesized-expression.typespec","begin":"\\(","end":"\\)","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.tsp"}}},"punctuation-accessor":{"name":"punctuation.accessor.tsp","match":"\\."},"punctuation-comma":{"name":"punctuation.comma.tsp","match":","},"punctuation-semicolon":{"name":"punctuation.terminator.statement.tsp","match":";"},"scalar-body":{"name":"meta.scalar-body.typespec","begin":"\\{","end":"\\}","patterns":[{"include":"#token"},{"include":"#directive"},{"include":"#scalar-constructor"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}}},"scalar-constructor":{"name":"meta.scalar-constructor.typespec","begin":"\\b(init)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#operation-parameters"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"entity.name.function.tsp"}}},"scalar-extends":{"name":"meta.scalar-extends.typespec","begin":"\\b(extends)\\b","end":"(?=;|@|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"scalar-statement":{"name":"meta.scalar-statement.typespec","begin":"(?:(internal)\\s+)?\\b(scalar)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?\u003c=\\})|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#type-parameters"},{"include":"#scalar-extends"},{"include":"#scalar-body"}],"beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"entity.name.type.tsp"}}},"spread-operator":{"name":"meta.spread-operator.typespec","begin":"\\.\\.\\.","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.spread.tsp"}}},"statement":{"patterns":[{"include":"#token"},{"include":"#directive"},{"include":"#augment-decorator-statement"},{"include":"#decorator"},{"include":"#model-statement"},{"include":"#scalar-statement"},{"include":"#union-statement"},{"include":"#interface-statement"},{"include":"#enum-statement"},{"include":"#alias-statement"},{"include":"#const-statement"},{"include":"#namespace-statement"},{"include":"#operation-statement"},{"include":"#import-statement"},{"include":"#using-statement"},{"include":"#decorator-declaration-statement"},{"include":"#function-declaration-statement"},{"include":"#punctuation-semicolon"}]},"string-literal":{"name":"string.quoted.double.tsp","begin":"\"","end":"\"|$","patterns":[{"include":"#template-expression"},{"include":"#escape-character"}]},"template-expression":{"name":"meta.template-expression.typespec","begin":"\\$\\{","end":"\\}","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.tsp"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.tsp"}}},"token":{"patterns":[{"include":"#doc-comment"},{"include":"#line-comment"},{"include":"#block-comment"},{"include":"#triple-quoted-string-literal"},{"include":"#string-literal"},{"include":"#boolean-literal"},{"include":"#numeric-literal"}]},"triple-quoted-string-literal":{"name":"string.quoted.triple.tsp","begin":"\"\"\"","end":"\"\"\"","patterns":[{"include":"#template-expression"},{"include":"#escape-character"}]},"tuple-expression":{"name":"meta.tuple-expression.typespec","begin":"\\[","end":"\\]","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.squarebracket.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.squarebracket.close.tsp"}}},"tuple-literal":{"name":"meta.tuple-literal.typespec","begin":"#\\[","end":"\\]","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.hashsquarebracket.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.squarebracket.close.tsp"}}},"type-annotation":{"name":"meta.type-annotation.typespec","begin":"\\s*(\\??)\\s*(:)","end":"(?=,|;|@|\\)|\\}|=|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.optional.tsp"},"2":{"name":"keyword.operator.type.annotation.tsp"}}},"type-argument":{"name":"meta.type-argument.typespec","begin":"(?:(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)\\s*(=))","end":"(?=\u003e)|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"entity.name.type.tsp"},"2":{"name":"keyword.operator.assignment.tsp"}},"endCaptures":{"0":{"name":"keyword.operator.assignment.tsp"}}},"type-arguments":{"name":"meta.type-arguments.typespec","begin":"\u003c","end":"\u003e","patterns":[{"include":"#type-argument"},{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.tsp"}},"endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.tsp"}}},"type-parameter":{"name":"meta.type-parameter.typespec","begin":"(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?=\u003e)|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#type-parameter-constraint"},{"include":"#type-parameter-default"}],"beginCaptures":{"1":{"name":"entity.name.type.tsp"}}},"type-parameter-constraint":{"name":"meta.type-parameter-constraint.typespec","begin":"extends","end":"(?=\u003e)|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.other.tsp"}}},"type-parameter-default":{"name":"meta.type-parameter-default.typespec","begin":"=","end":"(?=\u003e)|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.tsp"}}},"type-parameters":{"name":"meta.type-parameters.typespec","begin":"\u003c","end":"\u003e","patterns":[{"include":"#type-parameter"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.tsp"}},"endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.tsp"}}},"typeof":{"name":"meta.typeof.typespec","begin":"\\b(typeof)","end":"(?=\u003e)|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"union-body":{"name":"meta.union-body.typespec","begin":"\\{","end":"\\}","patterns":[{"include":"#union-variant"},{"include":"#token"},{"include":"#directive"},{"include":"#decorator"},{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}}},"union-statement":{"name":"meta.union-statement.typespec","begin":"(?:(internal)\\s+)?\\b(union)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?\u003c=\\})|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#union-body"}],"beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"entity.name.type.tsp"}}},"union-variant":{"name":"meta.union-variant.typespec","begin":"(?:(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)\\s*(:))","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"variable.name.tsp"},"2":{"name":"keyword.operator.type.annotation.tsp"}}},"using-statement":{"name":"meta.using-statement.typespec","begin":"\\b(using)\\b","end":"(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#token"},{"include":"#identifier-expression"},{"include":"#punctuation-accessor"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"valueof":{"name":"meta.valueof.typespec","begin":"\\b(valueof)","end":"(?=\u003e)|(?=,|;|@|#[a-z]|\\)|\\}|\\b(?:extern|internal)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"URI List","scopeName":"source.uri-list","patterns":[{"include":"#main"}],"repository":{"comment":{"name":"comment.line.number-sign.uri-list","begin":"^#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.uri-list"}}},"main":{"patterns":[{"include":"#comment"},{"include":"etc#url"},{"include":"#uri"}]},"uri":{"name":"constant.other.reference.link.underline.${1:/downcase}.url","begin":"([A-Za-z][-A-Za-z+.]*)(:)","end":"(?=\\s*$)","beginCaptures":{"2":{"name":"punctuation.separator.delimiter.scheme.url"}}}}}
@@ -1 +1 @@
1
- {"name":"V","scopeName":"source.v","patterns":[{"include":"#comments"},{"include":"#function-decl"},{"include":"#as-is"},{"include":"#attributes"},{"include":"#assignment"},{"include":"#module-decl"},{"include":"#import-decl"},{"include":"#hash-decl"},{"include":"#brackets"},{"include":"#builtin-fix"},{"include":"#escaped-fix"},{"include":"#operators"},{"include":"#function-limited-overload-decl"},{"include":"#function-extend-decl"},{"include":"#function-exist"},{"include":"#generic"},{"include":"#constants"},{"include":"#type"},{"include":"#enum"},{"include":"#interface"},{"include":"#struct"},{"include":"#keywords"},{"include":"#storage"},{"include":"#numbers"},{"include":"#strings"},{"include":"#types"},{"include":"#punctuations"},{"include":"#variable-assign"},{"include":"#function-decl"}],"repository":{"as-is":{"begin":"\\s+(as|is)\\s+","end":"([\\w.]*)","beginCaptures":{"1":{"name":"keyword.$1.v"}},"endCaptures":{"1":{"name":"entity.name.alias.v"}}},"assignment":{"name":"meta.definition.variable.v","match":"\\s+((?:\\:|\\+|\\-|\\*|/|\\%|\\\u0026|\\||\\^)?=)\\s+","captures":{"1":{"patterns":[{"include":"#operators"}]}}},"attributes":{"name":"meta.definition.attribute.v","match":"^\\s*((\\[)(deprecated|unsafe|console|heap|manualfree|typedef|live|inline|flag|ref_only|direct_array_access|callconv)(\\]))","captures":{"1":{"name":"meta.function.attribute.v"},"2":{"name":"punctuation.definition.begin.bracket.square.v"},"3":{"name":"storage.modifier.attribute.v"},"4":{"name":"punctuation.definition.end.bracket.square.v"}}},"brackets":{"patterns":[{"begin":"{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.curly.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.end.v"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.round.end.v"}}},{"begin":"\\[","end":"\\]","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.square.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.square.end.v"}}}]},"builtin-fix":{"patterns":[{"patterns":[{"name":"storage.modifier.v","match":"(const)(?=\\s*\\()"},{"name":"keyword.$1.v","match":"\\b(fn|type|enum|struct|union|interface|map|assert|sizeof|typeof|__offsetof)\\b(?=\\s*\\()"}]},{"patterns":[{"name":"keyword.control.v","match":"(\\$if|\\$else)(?=\\s*\\()"},{"name":"keyword.control.v","match":"\\b(as|in|is|or|break|continue|default|unsafe|match|if|else|for|go|spawn|goto|defer|return|shared|select|rlock|lock|atomic|asm)\\b(?=\\s*\\()"}]},{"patterns":[{"name":"meta.expr.numeric.cast.v","match":"(?\u003c!.)(i?(?:8|16|nt|64|128)|u?(?:16|32|64|128)|f?(?:32|64))(?=\\s*\\()","captures":{"1":{"name":"storage.type.numeric.v"}}},{"name":"meta.expr.bool.cast.v","match":"(bool|byte|byteptr|charptr|voidptr|string|rune|size_t|[ui]size)(?=\\s*\\()","captures":{"1":{"name":"storage.type.$1.v"}}}]}]},"comments":{"patterns":[{"name":"comment.block.documentation.v","begin":"/\\*","end":"\\*/","patterns":[{"include":"#comments"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.v"}}},{"name":"comment.line.double-slash.v","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.v"}}}]},"constants":{"name":"constant.language.v","match":"\\b(true|false|none)\\b"},"enum":{"name":"meta.definition.enum.v","match":"^\\s*(?:(pub)?\\s+)?(enum)\\s+(?:\\w+\\.)?(\\w*)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.enum.v"},"3":{"name":"entity.name.enum.v"}}},"function-decl":{"name":"meta.definition.function.v","match":"^(\\bpub\\b\\s+)?(\\bfn\\b)\\s+(?:\\([^\\)]+\\)\\s+)?(?:(?:C\\.)?)(\\w+)\\s*((?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e))?","captures":{"1":{"name":"storage.modifier.v"},"2":{"name":"keyword.fn.v"},"3":{"name":"entity.name.function.v"},"4":{"patterns":[{"include":"#generic"}]}}},"function-exist":{"name":"meta.support.function.v","match":"(\\w+)((?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e))?(?=\\s*\\()","captures":{"0":{"name":"meta.function.call.v"},"1":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"2":{"patterns":[{"include":"#generic"}]}}},"function-extend-decl":{"name":"meta.definition.function.v","match":"^\\s*(pub)?\\s*(fn)\\s*(\\()([^\\)]*)(\\))\\s*(?:(?:C\\.)?)(\\w+)\\s*((?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e))?","captures":{"1":{"name":"storage.modifier.v"},"2":{"name":"keyword.fn.v"},"3":{"name":"punctuation.definition.bracket.round.begin.v"},"4":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"5":{"name":"punctuation.definition.bracket.round.end.v"},"6":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"7":{"patterns":[{"include":"#generic"}]}}},"function-limited-overload-decl":{"name":"meta.definition.function.v","match":"^\\s*(pub)?\\s*(fn)\\s*(\\()([^\\)]*)(\\))\\s*([\\+\\-\\*\\/])?\\s*(\\()([^\\)]*)(\\))\\s*(?:(?:C\\.)?)(\\w+)","captures":{"1":{"name":"storage.modifier.v"},"10":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"2":{"name":"keyword.fn.v"},"3":{"name":"punctuation.definition.bracket.round.begin.v"},"4":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"5":{"name":"punctuation.definition.bracket.round.end.v"},"6":{"patterns":[{"include":"#operators"}]},"7":{"name":"punctuation.definition.bracket.round.begin.v"},"8":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"9":{"name":"punctuation.definition.bracket.round.end.v"}}},"generic":{"patterns":[{"name":"meta.definition.generic.v","match":"(?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e)","captures":{"1":{"name":"punctuation.definition.bracket.angle.begin.v"},"2":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.generic.v","match":"\\w+"}]},"3":{"name":"punctuation.definition.bracket.angle.end.v"}}}]},"hash-decl":{"name":"markup.bold.v","begin":"^\\s*(#)","end":"$"},"illegal-name":{"name":"invalid.illegal.v","match":"\\d\\w+"},"import-decl":{"name":"meta.import.v","begin":"^\\s*(import)\\s+","end":"([\\w.]+)","beginCaptures":{"1":{"name":"keyword.import.v"}},"endCaptures":{"1":{"name":"entity.name.import.v"}}},"interface":{"name":"meta.definition.interface.v","match":"^\\s*(?:(pub)?\\s+)?(interface)\\s+(\\w*)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"keyword.interface.v"},"3":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.interface.v","match":"\\w+"}]}}},"keywords":{"patterns":[{"name":"keyword.control.v","match":"(\\$if|\\$else)"},{"name":"keyword.control.v","match":"(?\u003c!@)\\b(as|it|is|in|or|break|continue|default|unsafe|match|if|else|for|go|spawn|goto|defer|return|shared|select|rlock|lock|atomic|asm)\\b"},{"name":"keyword.$1.v","match":"(?\u003c!@)\\b(fn|type|typeof|enum|struct|interface|map|assert|sizeof|__offsetof)\\b"}]},"module-decl":{"name":"meta.module.v","begin":"^\\s*(module)\\s+","end":"([\\w.]+)","beginCaptures":{"1":{"name":"keyword.module.v"}},"endCaptures":{"1":{"name":"entity.name.module.v"}}},"numbers":{"patterns":[{"name":"constant.numeric.exponential.v","match":"([0-9]+(_?))+(\\.)([0-9]+[eE][-+]?[0-9]+)"},{"name":"constant.numeric.float.v","match":"([0-9]+(_?))+(\\.)([0-9]+)"},{"name":"constant.numeric.binary.v","match":"(?:0b)(?:(?:[0-1]+)(?:_?))+"},{"name":"constant.numeric.octal.v","match":"(?:0o)(?:(?:[0-7]+)(?:_?))+"},{"name":"constant.numeric.hex.v","match":"(?:0x)(?:(?:[0-9a-fA-F]+)(?:_?))+"},{"name":"constant.numeric.integer.v","match":"(?:(?:[0-9]+)(?:[_]?))+"}]},"operators":{"patterns":[{"name":"keyword.operator.arithmetic.v","match":"(\\+|\\-|\\*|\\/|\\%|\\+\\+|\\-\\-|\\\u003e\\\u003e|\\\u003c\\\u003c)"},{"name":"keyword.operator.relation.v","match":"(\\=\\=|\\!\\=|\\\u003e|\\\u003c|\\\u003e\\=|\\\u003c\\=)"},{"name":"keyword.operator.assignment.v","match":"(\\:\\=|\\=|\\+\\=|\\-\\=|\\*\\=|\\/\\=|\\%\\=|\\\u0026\\=|\\|\\=|\\^\\=|\\~\\=|\\\u0026\\\u0026\\=|\\|\\|\\=|\\\u003e\\\u003e\\=|\\\u003c\\\u003c\\=)"},{"name":"keyword.operator.bitwise.v","match":"(\\\u0026|\\||\\^|\\~|\u003c(?!\u003c)|\u003e(?!\u003e))"},{"name":"keyword.operator.logical.v","match":"(\\\u0026\\\u0026|\\|\\||\\!)"},{"name":"keyword.operator.optional.v","match":"\\?"}]},"punctuation":{"patterns":[{"name":"punctuation.delimiter.period.dot.v","match":"\\."},{"name":"punctuation.delimiter.comma.v","match":","},{"name":"punctuation.separator.key-value.colon.v","match":":"},{"name":"punctuation.definition.other.semicolon.v","match":";"},{"name":"punctuation.definition.other.questionmark.v","match":"\\?"},{"name":"punctuation.hash.v","match":"#"}]},"punctuations":{"patterns":[{"name":"punctuation.accessor.v","match":"(?:\\.)"},{"name":"punctuation.separator.comma.v","match":"(?:,)"}]},"storage":{"name":"storage.modifier.v","match":"\\b(const|mut|pub)\\b"},"string-escaped-char":{"patterns":[{"name":"constant.character.escape.v","match":"\\\\([0-7]{3}|[\\$abfnrtv\\\\'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})"},{"name":"invalid.illegal.unknown-escape.v","match":"\\\\[^0-7\\$xuUabfnrtv\\'\"]"}]},"string-interpolation":{"name":"meta.string.interpolation.v","match":"(\\$([\\w.]+|\\{.*?\\}))","captures":{"1":{"patterns":[{"name":"invalid.illegal.v","match":"\\$\\d[\\.\\w]+"},{"name":"variable.other.interpolated.v","match":"\\$([\\.\\w]+|\\{.*?\\})"}]}}},"string-placeholder":{"name":"constant.other.placeholder.v","match":"%(\\[\\d+\\])?([\\+#\\-0\\x20]{,2}((\\d+|\\*)?(\\.?(\\d+|\\*|(\\[\\d+\\])\\*?)?(\\[\\d+\\])?)?))?[vT%tbcdoqxXUbeEfFgGsp]"},"strings":{"patterns":[{"name":"string.quoted.rune.v","begin":"`","end":"`","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}]},{"name":"string.quoted.raw.v","begin":"(r)'","end":"'","patterns":[{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}},{"name":"string.quoted.raw.v","begin":"(r)\"","end":"\"","patterns":[{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}},{"name":"string.quoted.v","begin":"(c?)'","end":"'","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}},{"name":"string.quoted.v","begin":"(c?)\"","end":"\"","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}}]},"struct":{"patterns":[{"name":"meta.definition.struct.v","begin":"^\\s*(?:(mut|pub(?:\\s+mut)?|__global)\\s+)?(struct|union)\\s+([\\w.]+)\\s*|({)","end":"\\s*|(})","patterns":[{"include":"#struct-access-modifier"},{"match":"\\b(\\w+)\\s+([\\w\\[\\]\\*\u0026.]+)(?:\\s*(=)\\s*((?:.(?=$|//|/\\*))*+))?","captures":{"1":{"name":"variable.other.property.v"},"2":{"patterns":[{"include":"#numbers"},{"include":"#brackets"},{"include":"#types"},{"name":"storage.type.other.v","match":"\\w+"}]},"3":{"name":"keyword.operator.assignment.v"},"4":{"patterns":[{"include":"$self"}]}}},{"include":"#types"},{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.struct.v"},"3":{"name":"entity.name.type.v"},"4":{"name":"punctuation.definition.bracket.curly.begin.v"}},"endCaptures":{"1":{"name":"punctuation.definition.bracket.curly.end.v"}}},{"name":"meta.definition.struct.v","match":"^\\s*(?:(mut|pub(?:\\s+mut)?|__global))\\s+?(struct)\\s+(?:\\s+([\\w.]+))?","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.struct.v"},"3":{"name":"entity.name.struct.v"}}}]},"struct-access-modifier":{"match":"(?\u003c=\\s|^)(mut|pub(?:\\s+mut)?|__global)(:|\\b)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"punctuation.separator.struct.key-value.v"}}},"type":{"name":"meta.definition.type.v","match":"^\\s*(?:(pub)?\\s+)?(type)\\s+(\\w*)\\s+(?:\\w+\\.+)?(\\w*)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.type.v"},"3":{"patterns":[{"include":"#illegal-name"},{"include":"#types"},{"name":"entity.name.type.v","match":"\\w+"}]},"4":{"patterns":[{"include":"#illegal-name"},{"include":"#types"},{"name":"entity.name.type.v","match":"\\w+"}]}}},"types":{"patterns":[{"name":"storage.type.numeric.v","match":"(?\u003c!\\.)\\b(i(8|16|nt|64|128)|u(8|16|32|64|128)|f(32|64))\\b"},{"name":"storage.type.$1.v","match":"(?\u003c!\\.)\\b(bool|byte|byteptr|charptr|voidptr|string|ustring|rune)\\b"}]},"variable-assign":{"match":"[a-zA-Z_]\\w*(?:,\\s*[a-zA-Z_]\\w*)*(?=\\s*(?:=|:=))","captures":{"0":{"patterns":[{"name":"variable.other.assignment.v","match":"[a-zA-Z_]\\w*"},{"include":"#punctuation"}]}}}}}
1
+ {"name":"V","scopeName":"source.v","patterns":[{"include":"#comments"},{"include":"#function-decl"},{"include":"#as-is"},{"include":"#attributes"},{"include":"#assignment"},{"include":"#module-decl"},{"include":"#import-decl"},{"include":"#hash-decl"},{"include":"#brackets"},{"include":"#builtin-fix"},{"include":"#escaped-fix"},{"include":"#operators"},{"include":"#function-limited-overload-decl"},{"include":"#function-extend-decl"},{"include":"#function-exist"},{"include":"#generic"},{"include":"#constants"},{"include":"#type"},{"include":"#enum"},{"include":"#interface"},{"include":"#struct"},{"include":"#keywords"},{"include":"#storage"},{"include":"#numbers"},{"include":"#strings"},{"include":"#types"},{"include":"#punctuations"},{"include":"#variable-assign"},{"include":"#function-decl"}],"repository":{"as-is":{"begin":"\\s+(as|is)\\s+","end":"([\\w.]*)","beginCaptures":{"1":{"name":"keyword.$1.v"}},"endCaptures":{"1":{"name":"entity.name.alias.v"}}},"assignment":{"name":"meta.definition.variable.v","match":"\\s+((?:\\:|\\+|\\-|\\*|/|\\%|\\\u0026|\\||\\^)?=)\\s+","captures":{"1":{"patterns":[{"include":"#operators"}]}}},"attributes":{"name":"meta.definition.attribute.v","match":"^\\s*((\\[)(deprecated|unsafe|console|heap|manualfree|typedef|live|inline|flag|ref_only|direct_array_access|callconv)(\\]))","captures":{"1":{"name":"meta.function.attribute.v"},"2":{"name":"punctuation.definition.begin.bracket.square.v"},"3":{"name":"storage.modifier.attribute.v"},"4":{"name":"punctuation.definition.end.bracket.square.v"}}},"brackets":{"patterns":[{"begin":"{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.curly.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.end.v"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.round.end.v"}}},{"begin":"\\[","end":"\\]","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.square.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.square.end.v"}}}]},"builtin-fix":{"patterns":[{"patterns":[{"name":"storage.modifier.v","match":"(const)(?=\\s*\\()"},{"name":"keyword.$1.v","match":"\\b(fn|type|enum|struct|union|interface|map|assert|sizeof|typeof|__offsetof)\\b(?=\\s*\\()"}]},{"patterns":[{"name":"keyword.control.v","match":"(\\$if|\\$else)(?=\\s*\\()"},{"name":"keyword.control.v","match":"\\b(as|in|is|or|break|continue|default|unsafe|match|if|else|for|go|spawn|goto|defer|return|shared|select|rlock|lock|atomic|asm)\\b(?=\\s*\\()"}]},{"patterns":[{"name":"meta.expr.numeric.cast.v","match":"(?\u003c!.)(i?(?:8|16|nt|64|128)|u?(?:16|32|64|128)|f?(?:32|64))(?=\\s*\\()","captures":{"1":{"name":"storage.type.numeric.v"}}},{"name":"meta.expr.bool.cast.v","match":"(bool|byte|byteptr|charptr|voidptr|string|rune|size_t|[ui]size)(?=\\s*\\()","captures":{"1":{"name":"storage.type.$1.v"}}}]}]},"comments":{"patterns":[{"name":"comment.block.documentation.v","begin":"/\\*","end":"\\*/","patterns":[{"include":"#comments"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.v"}}},{"name":"comment.line.double-slash.v","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.v"}}}]},"constants":{"name":"constant.language.v","match":"\\b(true|false|none)\\b"},"enum":{"name":"meta.definition.enum.v","match":"^\\s*(?:(pub)?\\s+)?(enum)\\s+(?:\\w+\\.)?(\\w*)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.enum.v"},"3":{"name":"entity.name.enum.v"}}},"function-decl":{"name":"meta.definition.function.v","match":"^(\\bpub\\b\\s+)?(\\bfn\\b)\\s+(?:\\([^\\)]+\\)\\s+)?(?:(?:C\\.)?)(\\w+)\\s*((?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e))?","captures":{"1":{"name":"storage.modifier.v"},"2":{"name":"keyword.fn.v"},"3":{"name":"entity.name.function.v"},"4":{"patterns":[{"include":"#generic"}]}}},"function-exist":{"name":"meta.support.function.v","match":"(\\w+)((?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e))?(?=\\s*\\()","captures":{"0":{"name":"meta.function.call.v"},"1":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"2":{"patterns":[{"include":"#generic"}]}}},"function-extend-decl":{"name":"meta.definition.function.v","match":"^\\s*(pub)?\\s*(fn)\\s*(\\()([^\\)]*)(\\))\\s*(?:(?:C\\.)?)(\\w+)\\s*((?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e))?","captures":{"1":{"name":"storage.modifier.v"},"2":{"name":"keyword.fn.v"},"3":{"name":"punctuation.definition.bracket.round.begin.v"},"4":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"5":{"name":"punctuation.definition.bracket.round.end.v"},"6":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"7":{"patterns":[{"include":"#generic"}]}}},"function-limited-overload-decl":{"name":"meta.definition.function.v","match":"^\\s*(pub)?\\s*(fn)\\s*(\\()([^\\)]*)(\\))\\s*([\\+\\-\\*\\/])?\\s*(\\()([^\\)]*)(\\))\\s*(?:(?:C\\.)?)(\\w+)","captures":{"1":{"name":"storage.modifier.v"},"10":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"2":{"name":"keyword.fn.v"},"3":{"name":"punctuation.definition.bracket.round.begin.v"},"4":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"5":{"name":"punctuation.definition.bracket.round.end.v"},"6":{"patterns":[{"include":"#operators"}]},"7":{"name":"punctuation.definition.bracket.round.begin.v"},"8":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"9":{"name":"punctuation.definition.bracket.round.end.v"}}},"generic":{"patterns":[{"name":"meta.definition.generic.v","match":"(?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e)","captures":{"1":{"name":"punctuation.definition.bracket.angle.begin.v"},"2":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.generic.v","match":"\\w+"}]},"3":{"name":"punctuation.definition.bracket.angle.end.v"}}}]},"hash-decl":{"name":"markup.bold.v","begin":"^\\s*(#)","end":"$"},"illegal-name":{"name":"invalid.illegal.v","match":"\\d\\w+"},"import-decl":{"name":"meta.import.v","begin":"^\\s*(import)\\s+","end":"([\\w.]+)","beginCaptures":{"1":{"name":"keyword.import.v"}},"endCaptures":{"1":{"name":"entity.name.import.v"}}},"interface":{"name":"meta.definition.interface.v","match":"^\\s*(?:(pub)?\\s+)?(interface)\\s+(\\w*)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"keyword.interface.v"},"3":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.interface.v","match":"\\w+"}]}}},"keywords":{"patterns":[{"name":"keyword.control.v","match":"(\\$if|\\$else)"},{"name":"keyword.control.v","match":"(?\u003c!@)\\b(as|it|is|in|or|break|continue|default|unsafe|match|if|else|for|go|spawn|goto|defer|return|shared|select|rlock|lock|atomic|asm)\\b"},{"name":"keyword.$1.v","match":"(?\u003c!@)\\b(fn|type|typeof|enum|struct|interface|map|assert|sizeof|__offsetof)\\b"}]},"module-decl":{"name":"meta.module.v","begin":"^\\s*(module)\\s+","end":"([\\w.]+)","beginCaptures":{"1":{"name":"keyword.module.v"}},"endCaptures":{"1":{"name":"entity.name.module.v"}}},"numbers":{"patterns":[{"name":"constant.numeric.exponential.v","match":"([0-9]+(_?))+(\\.)([0-9]+[eE][-+]?[0-9]+)"},{"name":"constant.numeric.float.v","match":"([0-9]+(_?))+(\\.)([0-9]+)"},{"name":"constant.numeric.binary.v","match":"(?:0b)(?:(?:[0-1]+)(?:_?))+"},{"name":"constant.numeric.octal.v","match":"(?:0o)(?:(?:[0-7]+)(?:_?))+"},{"name":"constant.numeric.hex.v","match":"(?:0x)(?:(?:[0-9a-fA-F]+)(?:_?))+"},{"name":"constant.numeric.integer.v","match":"(?:(?:[0-9]+)(?:[_]?))+"}]},"operators":{"patterns":[{"name":"keyword.operator.arithmetic.v","match":"(\\+|\\-|\\*|\\/|\\%|\\+\\+|\\-\\-|\\\u003e\\\u003e|\\\u003c\\\u003c)"},{"name":"keyword.operator.relation.v","match":"(\\=\\=|\\!\\=|\\\u003e|\\\u003c|\\\u003e\\=|\\\u003c\\=)"},{"name":"keyword.operator.assignment.v","match":"(\\:\\=|\\=|\\+\\=|\\-\\=|\\*\\=|\\/\\=|\\%\\=|\\\u0026\\=|\\|\\=|\\^\\=|\\~\\=|\\\u0026\\\u0026\\=|\\|\\|\\=|\\\u003e\\\u003e\\=|\\\u003c\\\u003c\\=)"},{"name":"keyword.operator.bitwise.v","match":"(\\\u0026|\\||\\^|\\~|\u003c(?!\u003c)|\u003e(?!\u003e))"},{"name":"keyword.operator.logical.v","match":"(\\\u0026\\\u0026|\\|\\||\\!)"},{"name":"keyword.operator.optional.v","match":"\\?"}]},"punctuation":{"patterns":[{"name":"punctuation.delimiter.period.dot.v","match":"\\."},{"name":"punctuation.delimiter.comma.v","match":","},{"name":"punctuation.separator.key-value.colon.v","match":":"},{"name":"punctuation.definition.other.semicolon.v","match":";"},{"name":"punctuation.definition.other.questionmark.v","match":"\\?"},{"name":"punctuation.hash.v","match":"#"}]},"punctuations":{"patterns":[{"name":"punctuation.accessor.v","match":"(?:\\.)"},{"name":"punctuation.separator.comma.v","match":"(?:,)"}]},"storage":{"name":"storage.modifier.v","match":"\\b(const|mut|pub)\\b"},"string-escaped-char":{"patterns":[{"name":"constant.character.escape.v","match":"\\\\([0-7]{3}|[\\$abfnrtv\\\\'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})"},{"name":"invalid.illegal.unknown-escape.v","match":"\\\\[^0-7\\$xuUabfnrtv\\'\"]"}]},"string-interpolation":{"patterns":[{"name":"meta.string.interpolation.v","begin":"(\\$\\{)","end":"(\\})","patterns":[{"include":"#operators"},{"include":"#numbers"},{"include":"#function-exist"},{"include":"#types"},{"include":"#constants"},{"name":"variable.other.v","match":"\\w+"}],"beginCaptures":{"1":{"name":"punctuation.definition.template-expression.begin.v"}},"endCaptures":{"1":{"name":"punctuation.definition.template-expression.end.v"}}}]},"string-placeholder":{"name":"constant.other.placeholder.v","match":"%(\\[\\d+\\])?([\\+#\\-0\\x20]{,2}((\\d+|\\*)?(\\.?(\\d+|\\*|(\\[\\d+\\])\\*?)?(\\[\\d+\\])?)?))?[vT%tbcdoqxXUbeEfFgGsp]"},"strings":{"patterns":[{"name":"string.quoted.rune.v","begin":"`","end":"`","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}]},{"name":"string.quoted.raw.v","begin":"(r)'","end":"'","patterns":[{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}},{"name":"string.quoted.raw.v","begin":"(r)\"","end":"\"","patterns":[{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}},{"name":"string.quoted.v","begin":"(c?)'","end":"'","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}},{"name":"string.quoted.v","begin":"(c?)\"","end":"\"","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}}]},"struct":{"patterns":[{"name":"meta.definition.struct.v","begin":"^\\s*(?:(mut|pub(?:\\s+mut)?|__global)\\s+)?(struct|union)\\s+([\\w.]+)\\s*|({)","end":"\\s*|(})","patterns":[{"include":"#struct-access-modifier"},{"match":"\\b(\\w+)\\s+([\\w\\[\\]\\*\u0026.]+)(?:\\s*(=)\\s*((?:.(?=$|//|/\\*))*+))?","captures":{"1":{"name":"variable.other.property.v"},"2":{"patterns":[{"include":"#numbers"},{"include":"#brackets"},{"include":"#types"},{"name":"storage.type.other.v","match":"\\w+"}]},"3":{"name":"keyword.operator.assignment.v"},"4":{"patterns":[{"include":"$self"}]}}},{"include":"#types"},{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.struct.v"},"3":{"name":"entity.name.type.v"},"4":{"name":"punctuation.definition.bracket.curly.begin.v"}},"endCaptures":{"1":{"name":"punctuation.definition.bracket.curly.end.v"}}},{"name":"meta.definition.struct.v","match":"^\\s*(?:(mut|pub(?:\\s+mut)?|__global))\\s+?(struct)\\s+(?:\\s+([\\w.]+))?","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.struct.v"},"3":{"name":"entity.name.struct.v"}}}]},"struct-access-modifier":{"match":"(?\u003c=\\s|^)(mut|pub(?:\\s+mut)?|__global)(:|\\b)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"punctuation.separator.struct.key-value.v"}}},"type":{"name":"meta.definition.type.v","match":"^\\s*(?:(pub)?\\s+)?(type)\\s+(\\w*)\\s+(?:\\w+\\.+)?(\\w*)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.type.v"},"3":{"patterns":[{"include":"#illegal-name"},{"include":"#types"},{"name":"entity.name.type.v","match":"\\w+"}]},"4":{"patterns":[{"include":"#illegal-name"},{"include":"#types"},{"name":"entity.name.type.v","match":"\\w+"}]}}},"types":{"patterns":[{"name":"storage.type.numeric.v","match":"(?\u003c!\\.)\\b(i(8|16|nt|64|128)|u(8|16|32|64|128)|f(32|64))\\b"},{"name":"storage.type.$1.v","match":"(?\u003c!\\.)\\b(bool|byte|byteptr|charptr|voidptr|string|ustring|rune)\\b"}]},"variable-assign":{"match":"[a-zA-Z_]\\w*(?:,\\s*[a-zA-Z_]\\w*)*(?=\\s*(?:=|:=))","captures":{"0":{"patterns":[{"name":"variable.other.assignment.v","match":"[a-zA-Z_]\\w*"},{"include":"#punctuation"}]}}}}}
@@ -1 +1 @@
1
- {"name":"Vento","scopeName":"source.vento","patterns":[{"name":"comment.block.vento","begin":"{{#","end":"#}}"},{"include":"#js_code"},{"include":"#template_tag"},{"include":"#front_matter"},{"name":"html.vento","include":"text.html.basic"}],"repository":{"front_matter":{"name":"meta.embedded.block.yaml","contentName":"source.yaml","begin":"^---[a-zA-Z0-9_-]*\\s*\\n","end":"---\\s*\\n","patterns":[{"include":"source.yaml"}]},"js_code":{"name":"meta.embedded.block.javascript","contentName":"source.js","begin":"{{(-)?\u003e","end":"(-)?}}","patterns":[{"include":"source.js"}]},"template_keyword":{"name":"keyword.vento","match":"\\b(for|of|if|else\\s+if|else|include|set|layout|echo|function|async\\s+function|import|from|export|await|continue|break|slot|default)\\b"},"template_tag":{"name":"punctuation.definition.tag.vento","contentName":"source.js","begin":"{{(-)?","end":"(-)?}}","patterns":[{"include":"#template_keyword"},{"include":"source.js"}]}},"injections":{"L:string - (string.quoted.*.html)":{"patterns":[{"include":"source.vento"}]}}}
1
+ {"name":"Vento","scopeName":"source.vento","patterns":[{"include":"#comment"},{"include":"#js_code"},{"include":"#template_tag"},{"include":"#front_matter"},{"include":"text.html.basic#core-minus-invalid"},{"name":"meta.tag.other.vento.html.derivative","begin":"(\u003c/?)((?:(?!{{)[^\\s\u003c\u003e])*+)(?\u003c!/)(?={{)","end":"(?: ?/)?\u003e","patterns":[{"include":"#comment"},{"include":"#js_code"},{"include":"#template_tag"},{"include":"text.html.basic#attribute"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}}},{"include":"text.html.basic#tags-invalid"}],"repository":{"attributes":{"name":"meta.attribute.vento.$0.html","begin":"(?:(?!{{)[^\\x{0020}\"'\u003c\u003e/=\\x{0000}-\\x{001F}\\x{007F}-\\x{009F}\\x{FDD0}-\\x{FDEF}\\x{FFFE}\\x{FFFF}\\x{1FFFE}\\x{1FFFF}\\x{2FFFE}\\x{2FFFF}\\x{3FFFE}\\x{3FFFF}\\x{4FFFE}\\x{4FFFF}\\x{5FFFE}\\x{5FFFF}\\x{6FFFE}\\x{6FFFF}\\x{7FFFE}\\x{7FFFF}\\x{8FFFE}\\x{8FFFF}\\x{9FFFE}\\x{9FFFF}\\x{AFFFE}\\x{AFFFF}\\x{BFFFE}\\x{BFFFF}\\x{CFFFE}\\x{CFFFF}\\x{DFFFE}\\x{DFFFF}\\x{EFFFE}\\x{EFFFF}\\x{FFFFE}\\x{FFFFF}\\x{10FFFE}\\x{10FFFF}])*+(?={{)","end":"(?=\\s*+[^=\\s])","patterns":[{"include":"#comment"},{"include":"#js_code"},{"include":"#template_tag"},{"include":"text.html.basic#attribute-interior"}],"beginCaptures":{"0":{"name":"entity.other.attribute-name.html"}}},"comment":{"name":"comment.block.vento","begin":"{{#","end":"#}}"},"front_matter":{"name":"meta.embedded.block.yaml","contentName":"source.yaml","begin":"^---[a-zA-Z0-9_-]*\\s*\\n","end":"---\\s*\\n","patterns":[{"include":"source.yaml"}]},"js_code":{"name":"meta.embedded.block.vento source.vento","contentName":"meta.embedded.block.javascript source.js","begin":"{{(-)?\u003e","end":"(-)?}}","patterns":[{"include":"source.js"}]},"template_keyword":{"name":"keyword.vento","match":"/(if|for|set|layout|echo|function|slot|default)\\b|\\b(for|of|if|else\\s+if|else|include|set|layout|echo|function|async\\s+function|import|from|export|await|continue|break|slot|default)\\b"},"template_tag":{"name":"meta.embedded.block.vento source.vento","contentName":"meta.embedded.block.javascript source.js","begin":"{{(-)?","end":"(-)?}}","patterns":[{"include":"#template_keyword"},{"include":"source.js"}],"captures":{"0":{"name":"punctuation.definition.tag.vento"}}}},"injections":{"L:source.vento (meta.tag.metadata | meta.tag.structure | meta.tag.inline | meta.tag.object | meta.tag.other | meta.tag.custom | string) -meta.embedded -comment":{"patterns":[{"include":"source.vento"},{"include":"#attributes"}]}}}
@@ -1 +1 @@
1
- {"name":"WGSL","scopeName":"source.wgsl","patterns":[{"include":"#line_ending_comments"},{"include":"#block_comments"},{"include":"#attributes"},{"include":"#functions"},{"include":"#keywords"},{"include":"#function_calls"},{"include":"#literals"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"},{"include":"#reserved_words"},{"include":"#address_spaces"},{"include":"#memory_access_modes"},{"include":"#operators"},{"include":"#built-in_value_names"}],"repository":{"address_spaces":{"name":"storage.modifier.address_spaces.wgsl","match":"\\b(function|private|workgroup|uniform|storage|handle)\\b"},"attributes":{"patterns":[{"match":"(@)\\s*([_$[:alpha:]][_$[:alnum:]]*)\\b","captures":{"1":{"name":"punctuation.attribute.wgsl"},"2":{"name":"entity.other.attribute.wgsl"}}}]},"block_comments":{"name":"comment.block.wgsl","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block_comments"}]},"built-in_value_names":{"name":"variable.language.built-ins.wgsl","match":"\\b(vertex_index|instance_index|position|front_facing|frag_depth|sample_index|sample_mask|local_invocation_id|local_invocation_index|global_invocation_id|workgroup_id|num_workgroups|subgroup_invocation_id|subgroup_size)\\b"},"function_arguments":{"patterns":[{"include":"#line_ending_comments"},{"include":"#block_comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#function_calls"},{"include":"#literals"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"},{"include":"#reserved_words"},{"include":"#address_spaces"},{"include":"#memory_access_modes"},{"include":"#operators"},{"include":"#built-in_value_names"}]},"function_calls":{"patterns":[{"name":"meta.function.wgsl","begin":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(\u003c[^|\u0026()]+\u003e)?(\\()","end":"\\)","patterns":[{"include":"#function_arguments"}],"beginCaptures":{"1":{"name":"entity.name.function.wgsl"},"2":{"patterns":[{"include":"#function_arguments"}]},"3":{"name":"punctuation.brackets.round.wgsl"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.wgsl"}}}]},"functions":{"patterns":[{"name":"meta.function.definition.wgsl","begin":"\\b(fn)\\s+([_$[:alpha:]][_$[:alnum:]]*)\\s*((\\()|(\u003c))","end":"\\{","patterns":[{"include":"#function_arguments"}],"beginCaptures":{"1":{"name":"keyword.fn.wgsl"},"2":{"name":"entity.name.function.definition.wgsl"},"4":{"name":"punctuation.brackets.round.wgsl"}},"endCaptures":{"0":{"name":"punctuation.brackets.curly.wgsl"}}}]},"keywords":{"patterns":[{"name":"keyword.other.declarations-and-types.wgsl","match":"\\b(alias|const|fn|let|override|struct|var)\\b"},{"name":"keyword.control.wgsl","match":"\\b(break|case|continue|continuing|default|discard|(?\u003c!#)else|for|if|loop|return|switch|while)\\b"},{"name":"keyword.other.assertions.wgsl","match":"\\b(const_assert)\\b"},{"name":"keyword.other.directive.wgsl","match":"(?\u003c!@)\\b(diagnostic|enable|requires)\\b"}]},"line_ending_comments":{"name":"comment.line.double-slash.wgsl","match":"\\s*//.*"},"literals":{"patterns":[{"name":"constant.numeric.decimal.int.wgsl","match":"\\b(0[iu]?|[1-9][0-9]*[iu]?)\\b"},{"name":"constant.numeric.hex.int.wgsl","match":"\\b(0[xX][0-9a-fA-F]+[iu]?)\\b"},{"name":"constant.numeric.decimal.float.wgsl","match":"\\b(0[fh]|[1-9][0-9]*[fh]|[0-9]*\\.[0-9]+([eE][+-]?[0-9]+)?[fh]?|[0-9]+\\.[0-9]*([eE][+-]?[0-9]+)?[fh]?|[0-9]+[eE][+-]?[0-9]+[fh]?)\\b"},{"name":"constant.numeric.hex.float.wgsl","match":"\\b(0[xX][0-9a-fA-F]*\\.[0-9a-fA-F]+([pP][+-]?[0-9]+[fh]?)?|0[xX][0-9a-fA-F]+\\.[0-9a-fA-F]*([pP][+-]?[0-9]+[fh]?)?|0[xX][0-9a-fA-F]+[pP][+-]?[0-9]+[fh]?)\\b"},{"name":"constant.language.boolean.wgsl","match":"\\b(true|false)\\b"}]},"matrix_types":{"patterns":[{"name":"storage.type.matrixes.wgsl","match":"\\b(mat[2-4]x[2-4])\\b"},{"name":"storage.type.matrixes.wgsl","match":"\\b(mat[2-4]x[2-4])(f|h)\\b"}]},"memory_access_modes":{"name":"storage.modifier.memory_access_modes.wgsl","match":"\\b(read|write|read_write)\\b"},"memory_views":{"name":"storage.type.ptr.wgsl","match":"\\b(ptr)\\b"},"operators":{"patterns":[{"name":"keyword.operator.logical.wgsl","match":"(\\^|\\||\\|\\||\u0026\u0026|\u003c\u003c|\u003e\u003e|!)(?!=)"},{"name":"keyword.operator.address-of.and.wgsl","match":"\u0026(?![\u0026=])"},{"name":"keyword.operator.assignment.wgsl","match":"(\\+=|-=|\\*=|/=|%=|\\^=|\u0026=|\\|=|\u003c\u003c=|\u003e\u003e=)"},{"name":"keyword.operator.assignment.equal.wgsl","match":"(?\u003c![\u003c\u003e])=(?!=|\u003e)"},{"name":"keyword.operator.comparison.wgsl","match":"(=(=)?(?!\u003e)|!=|\u003c=|(?\u003c!=)\u003e=)"},{"name":"keyword.operator.math.wgsl","match":"(([+%]|(\\*(?!\\w)))(?!=))|(-(?!\u003e))|(/(?!/))"},{"name":"keyword.operator.access.dot.wgsl","match":"\\.(?!\\.)"},{"name":"keyword.operator.arrow.skinny.wgsl","match":"-\u003e"},{"name":"keyword.operator.type.annotation.wgsl","match":":"}]},"plain_types":{"patterns":[{"name":"storage.type.boolean.wgsl","match":"\\b(bool)\\b"},{"name":"storage.type.integer.wgsl","match":"\\b(i32|u32)\\b"},{"name":"storage.type.floating-point.wgsl","match":"\\b(f32|f16)\\b"},{"include":"#vector_types"},{"include":"#matrix_types"},{"name":"storage.type.wgsl","match":"\\b(atomic)\\b"},{"name":"storage.type.wgsl","match":"\\b(array)\\b"},{"name":"entity.name.type.wgsl","match":"\\b([A-Z][_$[:alnum:]]*)\\b"},{"name":"storage.type.wgsl","match":"\\b(i64|u64|f64)\\b"}]},"punctuation":{"patterns":[{"name":"punctuation.comma.wgsl","match":","},{"name":"punctuation.brackets.curly.wgsl","match":"[{}]"},{"name":"punctuation.brackets.round.wgsl","match":"[()]"},{"name":"punctuation.semi.wgsl","match":";"},{"name":"punctuation.brackets.square.wgsl","match":"[\\[\\]]"},{"name":"punctuation.brackets.angle.wgsl","match":"(?\u003c!=)[\u003c\u003e]"}]},"reserved_words":{"name":"keyword.other.reserved_words.wgsl","match":"\\b(aNULL|Self|abstract|active|alignas|alignof|as|asm|asm_fragment|async|attribute|auto|await|become|cast|catch|class|co_await|co_return|co_yield|coherent|column_major|common|compile|compile_fragment|concept|const_cast|consteval|constexpr|constinit|crate|debugger|decltype|delete|demote|demote_to_helper|do|dynamic_cast|enum|explicit|export|extends|extern|external|fallthrough|filter|final|finally|friend|from|fxgroup|get|goto|groupshared|highp|impl|implements|import|inline|instanceof|interface|layout|lowp|macro|macro_rules|match|mediump|meta|mod|module|move|mut|mutable|namespace|new|nil|noexcept|noinline|nointerpolation|non_coherent|noncoherent|noperspective|null|nullptr|of|operator|package|packoffset|partition|pass|patch|pixelfragment|precise|precision|premerge|priv|protected|pub|public|readonly|ref|regardless|register|reinterpret_cast|require|resource|restrict|self|set|shared|sizeof|smooth|snorm|static|static_assert|static_cast|std|subroutine|super|target|template|this|thread_local|throw|trait|try|type|typedef|typeid|typename|typeof|union|unless|unorm|unsafe|unsized|use|using|varying|virtual|volatile|wgsl|where|with|writeonly|yield)\\b"},"texture_and_sampler_types":{"patterns":[{"name":"storage.type.sampled-texture.wgsl","match":"\\b(texture_1d|texture_2d|texture_2d_array|texture_3d|texture_cube|texture_cube_array)\\b"},{"name":"storage.type.sampled-texture.wgsl","match":"\\b(texture_multisampled_2d|texture_depth_multisampled_2d)\\b"},{"name":"storage.type.external-sampled-texture.wgsl","match":"\\b(texture_external)\\b"},{"name":"storage.type.external-sampled-texture.wgsl","match":"\\b(texture_storage_1d|texture_storage_2d|texture_storage_2d_array|texture_storage_3d)\\b"},{"name":"storage.type.depth-texture.wgsl","match":"\\b(texture_depth_2d|texture_depth_2d_array|texture_depth_cube|texture_depth_cube_array)\\b"},{"name":"storage.type.sampler.wgsl","match":"\\b(sampler|sampler_comparison)\\b"}]},"types":{"patterns":[{"include":"#plain_types"},{"include":"#memory_views"},{"include":"#texture_and_sampler_types"}]},"variables":{"patterns":[{"name":"variable.other.wgsl","match":"\\b([_$[:alpha:]][_$[:alnum:]]*)\\b"}]},"vector_types":{"patterns":[{"name":"storage.type.vectors.wgsl","match":"\\b(vec)([2-4])\\b"},{"name":"storage.type.vectors.wgsl","match":"\\b(vec)([2-4])(i|u|f|h)\\b"}]}}}
1
+ {"name":"WGSL","scopeName":"source.wgsl","patterns":[{"include":"#line_ending_comments"},{"include":"#block_comments"},{"include":"#attributes"},{"include":"#functions"},{"include":"#keywords"},{"include":"#function_calls"},{"include":"#literals"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"},{"include":"#reserved_words"},{"include":"#address_spaces"},{"include":"#memory_access_modes"},{"include":"#operators"},{"include":"#built-in_value_names"}],"repository":{"address_spaces":{"name":"storage.modifier.address_spaces.wgsl","match":"\\b(function|private|workgroup|uniform|storage|handle)\\b"},"attributes":{"patterns":[{"name":"entity.other.attribute.wgsl","match":"@\\s*[_$[:alpha:]][_$[:alnum:]]*\\b"}]},"block_comments":{"name":"comment.block.wgsl","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block_comments"}]},"built-in_value_names":{"name":"variable.language.built-ins.wgsl","match":"\\b(vertex_index|instance_index|position|front_facing|frag_depth|sample_index|sample_mask|local_invocation_id|local_invocation_index|global_invocation_id|workgroup_id|num_workgroups|subgroup_invocation_id|subgroup_size)\\b"},"function_arguments":{"patterns":[{"include":"#line_ending_comments"},{"include":"#block_comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#function_calls"},{"include":"#literals"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"},{"include":"#reserved_words"},{"include":"#address_spaces"},{"include":"#memory_access_modes"},{"include":"#operators"},{"include":"#built-in_value_names"}]},"function_calls":{"patterns":[{"name":"meta.function.wgsl","begin":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(\u003c[^|\u0026()]+\u003e)?(\\()","end":"\\)","patterns":[{"include":"#function_arguments"}],"beginCaptures":{"1":{"name":"entity.name.function.wgsl"},"2":{"patterns":[{"include":"#function_arguments"}]},"3":{"name":"punctuation.brackets.round.wgsl"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.wgsl"}}}]},"functions":{"patterns":[{"name":"meta.function.definition.wgsl","begin":"\\b(fn)\\s+([_$[:alpha:]][_$[:alnum:]]*)\\s*((\\()|(\u003c))","end":"\\{","patterns":[{"include":"#function_arguments"}],"beginCaptures":{"1":{"name":"keyword.fn.wgsl"},"2":{"name":"entity.name.function.definition.wgsl"},"4":{"name":"punctuation.brackets.round.wgsl"}},"endCaptures":{"0":{"name":"punctuation.brackets.curly.wgsl"}}}]},"keywords":{"patterns":[{"name":"keyword.other.declarations-and-types.wgsl","match":"\\b(alias|const|fn|let|override|struct|var)\\b"},{"name":"keyword.control.wgsl","match":"\\b(break|case|continue|continuing|default|discard|(?\u003c!#)else|for|if|loop|return|switch|while)\\b"},{"name":"keyword.other.assertions.wgsl","match":"\\b(const_assert)\\b"},{"name":"keyword.other.directive.wgsl","match":"(?\u003c!@)\\b(diagnostic|enable|requires)\\b"}]},"line_ending_comments":{"name":"comment.line.double-slash.wgsl","match":"\\s*//.*"},"literals":{"patterns":[{"name":"constant.numeric.decimal.int.wgsl","match":"\\b(0[iu]?|[1-9][0-9]*[iu]?)\\b"},{"name":"constant.numeric.hex.int.wgsl","match":"\\b(0[xX][0-9a-fA-F]+[iu]?)\\b"},{"name":"constant.numeric.decimal.float.wgsl","match":"\\b(0[fh]|[1-9][0-9]*[fh]|[0-9]*\\.[0-9]+([eE][+-]?[0-9]+)?[fh]?|[0-9]+\\.[0-9]*([eE][+-]?[0-9]+)?[fh]?|[0-9]+[eE][+-]?[0-9]+[fh]?)\\b"},{"name":"constant.numeric.hex.float.wgsl","match":"\\b(0[xX][0-9a-fA-F]*\\.[0-9a-fA-F]+([pP][+-]?[0-9]+[fh]?)?|0[xX][0-9a-fA-F]+\\.[0-9a-fA-F]*([pP][+-]?[0-9]+[fh]?)?|0[xX][0-9a-fA-F]+[pP][+-]?[0-9]+[fh]?)\\b"},{"name":"constant.language.boolean.wgsl","match":"\\b(true|false)\\b"}]},"matrix_types":{"patterns":[{"name":"storage.type.matrixes.wgsl","match":"\\b(mat[2-4]x[2-4])\\b"},{"name":"storage.type.matrixes.wgsl","match":"\\b(mat[2-4]x[2-4])(f|h)\\b"}]},"memory_access_modes":{"name":"storage.modifier.memory_access_modes.wgsl","match":"\\b(read|write|read_write)\\b"},"memory_views":{"name":"storage.type.ptr.wgsl","match":"\\b(ptr)\\b"},"operators":{"patterns":[{"name":"keyword.operator.logical.wgsl","match":"(\\^|\\||\\|\\||\u0026\u0026|\u003c\u003c|\u003e\u003e|!)(?!=)"},{"name":"keyword.operator.address-of.and.wgsl","match":"\u0026(?![\u0026=])"},{"name":"keyword.operator.assignment.wgsl","match":"(\\+=|-=|\\*=|/=|%=|\\^=|\u0026=|\\|=|\u003c\u003c=|\u003e\u003e=)"},{"name":"keyword.operator.assignment.equal.wgsl","match":"(?\u003c![\u003c\u003e])=(?!=|\u003e)"},{"name":"keyword.operator.comparison.wgsl","match":"(=(=)?(?!\u003e)|!=|\u003c=|(?\u003c!=)\u003e=)"},{"name":"keyword.operator.math.wgsl","match":"(([+%]|(\\*(?!\\w)))(?!=))|(-(?!\u003e))|(/(?!/))"},{"name":"keyword.operator.access.dot.wgsl","match":"\\.(?!\\.)"},{"name":"keyword.operator.arrow.skinny.wgsl","match":"-\u003e"},{"name":"keyword.operator.type.annotation.wgsl","match":":"}]},"plain_types":{"patterns":[{"name":"storage.type.boolean.wgsl","match":"\\b(bool)\\b"},{"name":"storage.type.integer.wgsl","match":"\\b(i32|u32)\\b"},{"name":"storage.type.floating-point.wgsl","match":"\\b(f32|f16)\\b"},{"include":"#vector_types"},{"include":"#matrix_types"},{"name":"storage.type.wgsl","match":"\\b(atomic)\\b"},{"name":"storage.type.wgsl","match":"\\b(array)\\b"},{"name":"entity.name.type.wgsl","match":"\\b([A-Z][_$[:alnum:]]*)\\b"},{"name":"storage.type.wgsl","match":"\\b(i64|u64|f64)\\b"}]},"punctuation":{"patterns":[{"name":"punctuation.comma.wgsl","match":","},{"name":"punctuation.brackets.curly.wgsl","match":"[{}]"},{"name":"punctuation.brackets.round.wgsl","match":"[()]"},{"name":"punctuation.semi.wgsl","match":";"},{"name":"punctuation.brackets.square.wgsl","match":"[\\[\\]]"},{"name":"punctuation.brackets.angle.wgsl","match":"(?\u003c!=)[\u003c\u003e]"}]},"reserved_words":{"name":"keyword.other.reserved_words.wgsl","match":"\\b(aNULL|Self|abstract|active|alignas|alignof|as|asm|asm_fragment|async|attribute|auto|await|become|cast|catch|class|co_await|co_return|co_yield|coherent|column_major|common|compile|compile_fragment|concept|const_cast|consteval|constexpr|constinit|crate|debugger|decltype|delete|demote|demote_to_helper|do|dynamic_cast|enum|explicit|export|extends|extern|external|fallthrough|filter|final|finally|friend|from|fxgroup|get|goto|groupshared|highp|impl|implements|import|inline|instanceof|interface|layout|lowp|macro|macro_rules|match|mediump|meta|mod|module|move|mut|mutable|namespace|new|nil|noexcept|noinline|nointerpolation|non_coherent|noncoherent|noperspective|null|nullptr|of|operator|package|packoffset|partition|pass|patch|pixelfragment|precise|precision|premerge|priv|protected|pub|public|readonly|ref|regardless|register|reinterpret_cast|require|resource|restrict|self|set|shared|sizeof|smooth|snorm|static|static_assert|static_cast|std|subroutine|super|target|template|this|thread_local|throw|trait|try|type|typedef|typeid|typename|typeof|union|unless|unorm|unsafe|unsized|use|using|varying|virtual|volatile|wgsl|where|with|writeonly|yield)\\b"},"texture_and_sampler_types":{"patterns":[{"name":"storage.type.sampled-texture.wgsl","match":"\\b(texture_1d|texture_2d|texture_2d_array|texture_3d|texture_cube|texture_cube_array)\\b"},{"name":"storage.type.sampled-texture.wgsl","match":"\\b(texture_multisampled_2d|texture_depth_multisampled_2d)\\b"},{"name":"storage.type.external-sampled-texture.wgsl","match":"\\b(texture_external)\\b"},{"name":"storage.type.external-sampled-texture.wgsl","match":"\\b(texture_storage_1d|texture_storage_2d|texture_storage_2d_array|texture_storage_3d)\\b"},{"name":"storage.type.depth-texture.wgsl","match":"\\b(texture_depth_2d|texture_depth_2d_array|texture_depth_cube|texture_depth_cube_array)\\b"},{"name":"storage.type.sampler.wgsl","match":"\\b(sampler|sampler_comparison)\\b"}]},"types":{"patterns":[{"include":"#plain_types"},{"include":"#memory_views"},{"include":"#texture_and_sampler_types"}]},"variables":{"patterns":[{"name":"variable.other.wgsl","match":"\\b([_$[:alpha:]][_$[:alnum:]]*)\\b"}]},"vector_types":{"patterns":[{"name":"storage.type.vectors.wgsl","match":"\\b(vec)([2-4])\\b"},{"name":"storage.type.vectors.wgsl","match":"\\b(vec)([2-4])(i|u|f|h)\\b"}]}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"spicedb-yaml.injection","patterns":[{"include":"#schema-block"}],"repository":{"schema-block":{"contentName":"meta.embedded.block.spicedb","begin":"(['\"]?schema['\"]?)(:\\s*)([|\u003e][-+0-9]*)\\s*$","while":"^(\\s|$)","patterns":[{"include":"source.spicedb"}],"beginCaptures":{"1":{"name":"entity.name.tag.yaml"},"2":{"name":"punctuation.separator.key-value.mapping.yaml"},"3":{"name":"keyword.control.flow.block-scalar.literal.yaml"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"Cache directory tag","scopeName":"text.cachedir","patterns":[{"include":"#main"}],"repository":{"main":{"patterns":[{"include":"#signature"},{"include":"etc#comment"}]},"signature":{"name":"meta.signature.cachedir","match":"\\A(Signature(:)) (8a477f597d28d172789f06886806bc55)","captures":{"1":{"name":"keyword.operator.signature.cachedir"},"2":{"name":"punctuation.separator.key-value.colon.cachedir"},"3":{"name":"constant.numeric.integer.hexadecimal.checksum.md5.cachedir"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"Cookie Jar","scopeName":"text.cookie-jar","patterns":[{"name":"meta.database.cookie-jar","begin":"\\A","end":"(?=A)B","patterns":[{"include":"#main"}]},{"name":"markup.quote.cookie-jar","match":"^(\\s*\\S.*?)[ \\t]*$","captures":{"1":{"patterns":[{"include":"#separator"},{"include":"#author"}]}}}],"repository":{"annotation":{"name":"string.quoted.other.annotation.cookie-jar","begin":"^\\s*(\\[)(?![^\\[\\]]*\\]\\s*\\w)","end":"(\\])|^(?=%)","beginCaptures":{"1":{"name":"punctuation.definition.annotation.begin.cookie-jar"}},"endCaptures":{"1":{"name":"punctuation.definition.annotation.end.cookie-jar"}}},"author":{"name":"meta.quote-source.cookie-jar","contentName":"entity.name.author.cookie-jar","begin":"^((?:\\t+|\\x20{4,}))((--+|–|—|⸻))\\s+(?=[\\w\"])","end":"^(?=%)|^(?!\\1\\s*\\S)","patterns":[{"name":"markup.italic.citation.cookie-jar","contentName":"entity.name.citation.cookie-jar","begin":"(\")(?=\\S)","end":"(\")|(?=^(?:%|\\s*$))","beginCaptures":{"0":{"name":"punctuation.definition.citation.begin.cookie-jar"},"1":{"name":"entity.name.citation.cookie-jar"}},"endCaptures":{"0":{"name":"punctuation.definition.citation.end.cookie-jar"},"1":{"name":"entity.name.citation.cookie-jar"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.leading.indent.cookie-jar"},"2":{"name":"punctuation.definition.quotation.dash.cookie-jar"},"3":{"name":"sublimelinter.gutter-mark"}}},"main":{"patterns":[{"include":"#record"},{"include":"#separator"}]},"quote":{"name":"meta.paragraph.text.cookie-jar","contentName":"markup.quote.cookie-jar","begin":"^(?!\\s+(?:--+|–|—|⸻)\\s+[\\w\"])(\\s*)(?=\\S)","end":"^(?:(?=%)|(?=\\s*$)|(?=\\s+(?:(?:--+|–|—|⸻)\\s+[\\w\"])|\\[(?![^\\[\\]]*\\]\\s*\\w)))","patterns":[{"include":"#annotation"}],"beginCaptures":{"1":{"name":"punctuation.whitespace.leading.indent.cookie-jar"}}},"record":{"name":"meta.record.cookie-jar","begin":"^(?!%)(?=\\s*\\S)","end":"^(?=%+)(?!\\G)","patterns":[{"include":"#annotation"},{"include":"#quote"},{"include":"#author"}]},"separator":{"match":"(?:^|\\G)(%+)(?:\\s*(\\S.*?))?[ \\t]*$","captures":{"1":{"name":"meta.separator.cookie-jar"},"2":{"name":"comment.line.ignored.cookie-jar"}}}}}
@@ -1 +1 @@
1
- {"name":"Vue","scopeName":"text.html.vue","patterns":[{"include":"#vue-comments"},{"include":"#self-closing-tag"},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)md\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.html.markdown","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"text.md"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"contentName":"text.html.derivative","begin":"(?!template(?![A-Za-z0-9:-]))([A-Za-z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)html\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"include":"#html-stuff"}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)pug\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.pug","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"text.jade"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)stylus\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.stylus","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.stylus"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)postcss\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.postcss","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.postcss"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)sass\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.sass","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.sass"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)css\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.css"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)scss\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css.scss","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.css.scss"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)less\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css.less","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.css.less"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)js\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.js","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.js"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)ts\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.ts","begin":"(?\u003c=\u003e)(?=[^\\n]*\u003c\\/script[\\s\u003e])","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.ts"}]},{"name":"source.ts","begin":"(?\u003c=\u003e)","while":"^(?!\\s*\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.ts"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)jsx\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.js.jsx","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)tsx\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.tsx","begin":"(?\u003c=\u003e)(?=[^\\n]*\u003c\\/script[\\s\u003e])","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.tsx"}]},{"name":"source.tsx","begin":"(?\u003c=\u003e)","while":"^(?!\\s*\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.tsx"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)coffee\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.coffee","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.coffee"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)json\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.json","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.json"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)jsonc\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.json.comments","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.json.comments"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)json5\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.json5","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)yaml\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.yaml","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.yaml"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)toml\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.toml","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.toml"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)(gql|graphql)\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.graphql","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.graphql"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)vue\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.html.vue","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"text.html.vue"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"(template)(?=\\s|\\/?\u003e)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.html.derivative","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/template[\\s\u003e])","patterns":[{"include":"#html-stuff"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"(script)(?=\\s|\\/?\u003e)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#multi-line-script-tag-stuff"}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"(style)(?=\\s|\\/?\u003e)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#multi-line-style-tag-stuff"}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)"}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}}],"repository":{"html-stuff":{"patterns":[{"include":"#template-tag"},{},{"include":"text.html.basic"}]},"multi-line-script-tag-stuff":{"begin":"\\G","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"name":"meta.tag-stuff","begin":"\\G(?!\\blang\\s*=\\s*(?:['\"]?)(?:ts|tsx|jsx|coffee)\\b)","end":"(?=\\blang\\s*=\\s*(?:['\"]?)(?:ts|tsx|jsx|coffee)\\b)|(\u003e)","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}],"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},{"begin":"(?=\\blang\\s*=\\s*(?:['\"]?)ts\\b)","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"#tag-stuff"},{"name":"source.ts","begin":"(?\u003c=\u003e)(?=[^\\n]*\u003c\\/script[\\s\u003e])","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.ts"}]},{"name":"source.ts","begin":"(?\u003c=\u003e)","while":"^(?!\\s*\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.ts"}]}]},{"begin":"(?=\\blang\\s*=\\s*(?:['\"]?)tsx\\b)","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"#tag-stuff"},{"name":"source.tsx","begin":"(?\u003c=\u003e)(?=[^\\n]*\u003c\\/script[\\s\u003e])","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.tsx"}]},{"name":"source.tsx","begin":"(?\u003c=\u003e)","while":"^(?!\\s*\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.tsx"}]}]},{"begin":"(?=\\blang\\s*=\\s*(?:['\"]?)jsx\\b)","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"#tag-stuff"},{"name":"source.js.jsx","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{}]}]},{"begin":"(?=\\blang\\s*=\\s*(?:['\"]?)coffee\\b)","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"#tag-stuff"},{"name":"source.coffee","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.coffee"}]}]},{"name":"source.js","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.js"}]}]},"multi-line-style-tag-stuff":{"begin":"\\G","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"name":"meta.tag-stuff","begin":"\\G(?!\\blang\\s*=\\s*(?:['\"]?)(?:scss|stylus|less|postcss)\\b)","end":"(?=\\blang\\s*=\\s*(?:['\"]?)(?:scss|stylus|less|postcss)\\b)|(\u003e)","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}],"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},{"begin":"(?=\\blang\\s*=\\s*(?:['\"]?)scss\\b)","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"include":"#tag-stuff"},{"name":"source.css.scss","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"include":"source.css.scss"}]}]},{"begin":"(?=\\blang\\s*=\\s*(?:['\"]?)stylus\\b)","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"include":"#tag-stuff"},{"name":"source.stylus","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"include":"source.stylus"}]}]},{"begin":"(?=\\blang\\s*=\\s*(?:['\"]?)less\\b)","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"include":"#tag-stuff"},{"name":"source.css.less","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"include":"source.css.less"}]}]},{"begin":"(?=\\blang\\s*=\\s*(?:['\"]?)postcss\\b)","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"include":"#tag-stuff"},{"name":"source.postcss","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"include":"source.postcss"}]}]},{"name":"source.css","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"include":"source.css"}]}]},"self-closing-tag":{"name":"self-closing-tag","begin":"(\u003c)([a-zA-Z0-9:-]+)(?=([^\u003e]+/\u003e))","end":"(/\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"tag-stuff":{"name":"meta.tag-stuff","begin":"\\G","end":"(?=/\u003e)|(\u003e)","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}],"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"template-tag":{"patterns":[{"include":"#template-tag-1"},{"include":"#template-tag-2"}]},"template-tag-1":{"name":"meta.template-tag.start","begin":"(\u003c)(template)\\b(\u003e)","end":"(/?\u003e)","patterns":[{"name":"meta.template-tag.end","begin":"\\G","end":"(?=/\u003e)|((\u003c/)(template)(?=[\\s\u003e]))","patterns":[{"include":"#html-stuff"}],"endCaptures":{"2":{"name":"punctuation.definition.tag.begin.html.vue"},"3":{"name":"entity.name.tag.$3.html.vue"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"},"3":{"name":"punctuation.definition.tag.end.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"template-tag-2":{"name":"meta.template-tag.start","begin":"(\u003c)(template)(?=\\s|\\/?\u003e)","end":"(/?\u003e)","patterns":[{"name":"meta.template-tag.end","begin":"\\G","end":"(?=/\u003e)|((\u003c/)(template)(?=[\\s\u003e]))","patterns":[{"include":"#tag-stuff"},{"include":"#html-stuff"}],"endCaptures":{"2":{"name":"punctuation.definition.tag.begin.html.vue"},"3":{"name":"entity.name.tag.$3.html.vue"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"vue-comments":{"patterns":[{"include":"#vue-comments-key-value"},{"name":"comment.block.vue","begin":"\u003c!--","end":"--\u003e","captures":{"0":{"name":"punctuation.definition.comment.vue"}}}]},"vue-comments-key-value":{"name":"comment.block.vue","begin":"(\u003c!--)\\s*(@)([\\w$]+)(?=\\s)","end":"(--\u003e)","patterns":[{"include":"source.json#value"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.vue"},"2":{"name":"punctuation.definition.block.tag.comment.vue"},"3":{"name":"storage.type.class.comment.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.vue"}}},"vue-directives":{"patterns":[{"include":"#vue-directives-control"},{"include":"#vue-directives-generic-attr"},{"include":"#vue-directives-style-attr"},{"include":"#vue-directives-original"}]},"vue-directives-control":{"name":"meta.attribute.directive.control.vue","begin":"(?:(v-for)|(v-if|v-else-if|v-else))(?=[=/\u003e)\\s])","end":"(?=\\s*[^=\\s])","patterns":[{"include":"#vue-directives-expression"}],"beginCaptures":{"1":{"name":"keyword.control.loop.vue"},"2":{"name":"keyword.control.conditional.vue"}}},"vue-directives-expression":{"patterns":[{"begin":"(=)\\s*('|\"|`)","end":"(\\2)","patterns":[{"name":"source.ts.embedded.html.vue","begin":"(?\u003c=('|\"|`))","end":"(?=\\1)","patterns":[{"include":"source.ts#expression"}]}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"},"2":{"name":"punctuation.definition.string.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}},{"begin":"(=)\\s*(?=[^'\"`])","end":"(?=(\\s|\u003e|\\/\u003e))","patterns":[{"name":"source.ts.embedded.html.vue","begin":"(?=[^'\"`])","end":"(?=(\\s|\u003e|\\/\u003e))","patterns":[{"include":"source.ts#expression"}]}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"}}}]},"vue-directives-generic-attr":{"name":"meta.attribute.generic.vue","begin":"\\b(generic)\\s*(=)","end":"(?\u003c='|\")","patterns":[{"name":"meta.type.parameters.vue","begin":"('|\")","end":"(\\1)","patterns":[{"include":"source.ts#comment"},{"name":"storage.modifier.ts","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(extends|in|out)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"include":"source.ts#type"},{"include":"source.ts#punctuation-comma"},{"name":"keyword.operator.assignment.ts","match":"(=)(?!\u003e)"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}}},"vue-directives-original":{"name":"meta.attribute.directive.vue","begin":"(?:(?:(v-[\\w-]+)(:)?)|([:\\.])|(@)|(#))(?:(?:(\\[)([^\\]]*)(\\]))|([\\w-]+))?","end":"(?=\\s*[^=\\s])","patterns":[{"match":"(\\.)([\\w-]*)"},{"include":"#vue-directives-expression"}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"},"3":{"name":"punctuation.attribute-shorthand.bind.html.vue"},"4":{"name":"punctuation.attribute-shorthand.event.html.vue"},"5":{"name":"punctuation.attribute-shorthand.slot.html.vue"},"6":{"name":"punctuation.separator.key-value.html.vue"},"7":{"name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]},"8":{"name":"punctuation.separator.key-value.html.vue"},"9":{"name":"entity.other.attribute-name.html.vue"}}},"vue-directives-style-attr":{"name":"meta.attribute.style.vue","begin":"\\b(style)\\s*(=)","end":"(?\u003c='|\")","patterns":[{"name":"source.css.embedded.html.vue","begin":"('|\")","end":"(\\1)","patterns":[{"include":"source.css#comment-block"},{"include":"source.css#escapes"},{"include":"source.css#font-features"},{"name":"variable.css","match":"(?x) (?\u003c![\\w-])\n--\n(?:[-a-zA-Z_] | [^\\x00-\\x7F]) # First letter\n(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F] # Remainder of identifier\n |\\\\(?:[0-9a-fA-F]{1,6}|.)\n)*"},{"name":"meta.property-name.css","begin":"(?\u003c![-a-zA-Z])(?=[-a-zA-Z])","end":"$|(?![-a-zA-Z])","patterns":[{"include":"source.css#property-names"}]},{"contentName":"meta.property-value.css","begin":"(:)\\s*","end":"\\s*(;)|\\s*(?='|\")","patterns":[{"include":"source.css#comment-block"},{"include":"source.css#property-values"}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.css"}},"endCaptures":{"1":{"name":"punctuation.terminator.rule.css"}}},{"name":"punctuation.terminator.rule.css","match":";"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}}},"vue-interpolations":{"patterns":[{"name":"expression.embedded.vue","begin":"(\\{\\{)","end":"(\\}\\})","patterns":[{"name":"source.ts.embedded.html.vue","begin":"\\G","end":"(?=\\}\\})","patterns":[{"include":"source.ts#expression"}]}],"beginCaptures":{"1":{"name":"punctuation.definition.interpolation.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.interpolation.end.html.vue"}}}]}}}
1
+ {"name":"Vue","scopeName":"text.html.vue","patterns":[{"include":"#vue-comments"},{"include":"#self-closing-tag"},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)md\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.html.markdown","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"text.md"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"contentName":"text.html.derivative","begin":"(?!template(?![A-Za-z0-9:-]))([A-Za-z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)html\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"include":"#html-stuff"}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)pug\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.pug","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"text.jade"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)stylus\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.stylus","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.stylus"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)postcss\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.postcss","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.postcss"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)sass\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.sass","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.sass"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)css\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.css"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)scss\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css.scss","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.css.scss"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)less\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css.less","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.css.less"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)js\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.js","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.js"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)ts\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.ts","begin":"(?\u003c=\u003e)(?=[^\\n]*\u003c\\/script[\\s\u003e])","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.ts"}]},{"name":"source.ts","begin":"(?\u003c=\u003e)","while":"^(?!\\s*\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.ts"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)jsx\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.js.jsx","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)tsx\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.tsx","begin":"(?\u003c=\u003e)(?=[^\\n]*\u003c\\/script[\\s\u003e])","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.tsx"}]},{"name":"source.tsx","begin":"(?\u003c=\u003e)","while":"^(?!\\s*\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.tsx"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)coffee\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.coffee","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.coffee"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)json\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.json","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.json"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)jsonc\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.json.comments","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.json.comments"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)json5\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.json5","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)yaml\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.yaml","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.yaml"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)toml\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.toml","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.toml"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)(gql|graphql)\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.graphql","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.graphql"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)vue\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.html.vue","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"text.html.vue"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"(template)(?=\\s|\\/?\u003e)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.html.derivative","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/template[\\s\u003e])","patterns":[{"include":"#html-stuff"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"(script)(?=\\s|\\/?\u003e)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#multi-line-script-tag-stuff"}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"(style)(?=\\s|\\/?\u003e)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#multi-line-style-tag-stuff"}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)"}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}}],"repository":{"capitalized-tag":{"name":"meta.tag.structure.$2.start.html.vue","begin":"(\u003c)([A-Z][a-zA-Z0-9:-]*)(?=\\s|/?\u003e)","end":"/?\u003e","patterns":[{"begin":"\\G","end":"(?=/?\u003e)","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.html.vue"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.html.vue"}}},"html-stuff":{"patterns":[{"include":"#template-tag"},{"include":"#capitalized-tag"},{},{"include":"text.html.basic"}]},"multi-line-script-tag-stuff":{"begin":"\\G","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"name":"meta.tag-stuff","begin":"\\G(?!\\blang\\s*=\\s*(?:['\"]?)(?:ts|tsx|jsx|coffee)\\b)","end":"(?=\\blang\\s*=\\s*(?:['\"]?)(?:ts|tsx|jsx|coffee)\\b)|(\u003e)","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}],"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},{"begin":"(?=\\blang\\s*=\\s*(?:['\"]?)ts\\b)","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"#tag-stuff"},{"name":"source.ts","begin":"(?\u003c=\u003e)(?=[^\\n]*\u003c\\/script[\\s\u003e])","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.ts"}]},{"name":"source.ts","begin":"(?\u003c=\u003e)","while":"^(?!\\s*\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.ts"}]}]},{"begin":"(?=\\blang\\s*=\\s*(?:['\"]?)tsx\\b)","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"#tag-stuff"},{"name":"source.tsx","begin":"(?\u003c=\u003e)(?=[^\\n]*\u003c\\/script[\\s\u003e])","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.tsx"}]},{"name":"source.tsx","begin":"(?\u003c=\u003e)","while":"^(?!\\s*\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.tsx"}]}]},{"begin":"(?=\\blang\\s*=\\s*(?:['\"]?)jsx\\b)","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"#tag-stuff"},{"name":"source.js.jsx","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{}]}]},{"begin":"(?=\\blang\\s*=\\s*(?:['\"]?)coffee\\b)","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"#tag-stuff"},{"name":"source.coffee","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.coffee"}]}]},{"name":"source.js","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/script[\\s\u003e])","patterns":[{"include":"source.js"}]}]},"multi-line-style-tag-stuff":{"begin":"\\G","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"name":"meta.tag-stuff","begin":"\\G(?!\\blang\\s*=\\s*(?:['\"]?)(?:scss|stylus|less|postcss)\\b)","end":"(?=\\blang\\s*=\\s*(?:['\"]?)(?:scss|stylus|less|postcss)\\b)|(\u003e)","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}],"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},{"begin":"(?=\\blang\\s*=\\s*(?:['\"]?)scss\\b)","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"include":"#tag-stuff"},{"name":"source.css.scss","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"include":"source.css.scss"}]}]},{"begin":"(?=\\blang\\s*=\\s*(?:['\"]?)stylus\\b)","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"include":"#tag-stuff"},{"name":"source.stylus","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"include":"source.stylus"}]}]},{"begin":"(?=\\blang\\s*=\\s*(?:['\"]?)less\\b)","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"include":"#tag-stuff"},{"name":"source.css.less","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"include":"source.css.less"}]}]},{"begin":"(?=\\blang\\s*=\\s*(?:['\"]?)postcss\\b)","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"include":"#tag-stuff"},{"name":"source.postcss","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"include":"source.postcss"}]}]},{"name":"source.css","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/style[\\s\u003e])","patterns":[{"include":"source.css"}]}]},"self-closing-tag":{"name":"self-closing-tag","begin":"(\u003c)([a-zA-Z0-9:-]+)(?=([^\u003e]+/\u003e))","end":"(/\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"tag-stuff":{"name":"meta.tag-stuff","begin":"\\G","end":"(?=/\u003e)|(\u003e)","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}],"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"template-tag":{"patterns":[{"include":"#template-tag-1"},{"include":"#template-tag-2"}]},"template-tag-1":{"name":"meta.template-tag.start","begin":"(\u003c)(template)\\b(\u003e)","end":"(/?\u003e)","patterns":[{"name":"meta.template-tag.end","begin":"\\G","end":"(?=/\u003e)|((\u003c/)(template)(?=[\\s\u003e]))","patterns":[{"include":"#html-stuff"}],"endCaptures":{"2":{"name":"punctuation.definition.tag.begin.html.vue"},"3":{"name":"entity.name.tag.$3.html.vue"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"},"3":{"name":"punctuation.definition.tag.end.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"template-tag-2":{"name":"meta.template-tag.start","begin":"(\u003c)(template)(?=\\s|\\/?\u003e)","end":"(/?\u003e)","patterns":[{"name":"meta.template-tag.end","begin":"\\G","end":"(?=/\u003e)|((\u003c/)(template)(?=[\\s\u003e]))","patterns":[{"include":"#tag-stuff"},{"include":"#html-stuff"}],"endCaptures":{"2":{"name":"punctuation.definition.tag.begin.html.vue"},"3":{"name":"entity.name.tag.$3.html.vue"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"vue-comments":{"patterns":[{"include":"#vue-comments-key-value"},{"name":"comment.block.vue","begin":"\u003c!--","end":"--\u003e","captures":{"0":{"name":"punctuation.definition.comment.vue"}}}]},"vue-comments-key-value":{"name":"comment.block.vue","begin":"(\u003c!--)\\s*(@)([\\w$]+)(?=\\s)","end":"(--\u003e)","patterns":[{"include":"source.json#value"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.vue"},"2":{"name":"punctuation.definition.block.tag.comment.vue"},"3":{"name":"storage.type.class.comment.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.vue"}}},"vue-directives":{"patterns":[{"include":"#vue-directives-control"},{"include":"#vue-directives-generic-attr"},{"include":"#vue-directives-style-attr"},{"include":"#vue-directives-original"}]},"vue-directives-control":{"name":"meta.attribute.directive.control.vue","begin":"(?:(v-for)|(v-if|v-else-if|v-else))(?=[=/\u003e)\\s])","end":"(?=\\s*[^=\\s])","patterns":[{"include":"#vue-directives-expression"}],"beginCaptures":{"1":{"name":"keyword.control.loop.vue"},"2":{"name":"keyword.control.conditional.vue"}}},"vue-directives-expression":{"patterns":[{"begin":"(=)\\s*('|\"|`)","end":"(\\2)","patterns":[{"name":"source.ts.embedded.html.vue","begin":"(?\u003c=('|\"|`))","end":"(?=\\1)","patterns":[{"include":"source.ts#expression"}]}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"},"2":{"name":"punctuation.definition.string.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}},{"begin":"(=)\\s*(?=[^'\"`])","end":"(?=(\\s|\u003e|\\/\u003e))","patterns":[{"name":"source.ts.embedded.html.vue","begin":"(?=[^'\"`])","end":"(?=(\\s|\u003e|\\/\u003e))","patterns":[{"include":"source.ts#expression"}]}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"}}}]},"vue-directives-generic-attr":{"name":"meta.attribute.generic.vue","begin":"\\b(generic)\\s*(=)","end":"(?\u003c='|\")","patterns":[{"name":"meta.type.parameters.vue","begin":"('|\")","end":"(\\1)","patterns":[{"include":"source.ts#comment"},{"name":"storage.modifier.ts","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(extends|in|out)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"include":"source.ts#type"},{"include":"source.ts#punctuation-comma"},{"name":"keyword.operator.assignment.ts","match":"(=)(?!\u003e)"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}}},"vue-directives-original":{"name":"meta.attribute.directive.vue","begin":"(?:(?:(v-[\\w-]+)(:)?)|([:\\.])|(@)|(#))(?:(?:(\\[)([^\\]]*)(\\]))|([\\w-]+))?","end":"(?=\\s*[^=\\s])","patterns":[{"match":"(\\.)([\\w-]*)"},{"include":"#vue-directives-expression"}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"},"3":{"name":"punctuation.attribute-shorthand.bind.html.vue"},"4":{"name":"punctuation.attribute-shorthand.event.html.vue"},"5":{"name":"punctuation.attribute-shorthand.slot.html.vue"},"6":{"name":"punctuation.separator.key-value.html.vue"},"7":{"name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]},"8":{"name":"punctuation.separator.key-value.html.vue"},"9":{"name":"entity.other.attribute-name.html.vue"}}},"vue-directives-style-attr":{"name":"meta.attribute.style.vue","begin":"\\b(style)\\s*(=)","end":"(?\u003c='|\")","patterns":[{"name":"source.css.embedded.html.vue","begin":"('|\")","end":"(\\1)","patterns":[{"include":"source.css#comment-block"},{"include":"source.css#escapes"},{"include":"source.css#font-features"},{"name":"variable.css","match":"(?x) (?\u003c![\\w-])\n--\n(?:[-a-zA-Z_] | [^\\x00-\\x7F]) # First letter\n(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F] # Remainder of identifier\n |\\\\(?:[0-9a-fA-F]{1,6}|.)\n)*"},{"name":"meta.property-name.css","begin":"(?\u003c![-a-zA-Z])(?=[-a-zA-Z])","end":"$|(?![-a-zA-Z])","patterns":[{"include":"source.css#property-names"}]},{"contentName":"meta.property-value.css","begin":"(:)\\s*","end":"\\s*(;)|\\s*(?='|\")","patterns":[{"include":"source.css#comment-block"},{"include":"source.css#property-values"}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.css"}},"endCaptures":{"1":{"name":"punctuation.terminator.rule.css"}}},{"name":"punctuation.terminator.rule.css","match":";"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}}},"vue-interpolations":{"patterns":[{"name":"expression.embedded.vue","begin":"(\\{\\{)","end":"(\\}\\})","patterns":[{"name":"source.ts.embedded.html.vue","begin":"\\G","end":"(?=\\}\\})","patterns":[{"include":"source.ts#expression"}]}],"beginCaptures":{"1":{"name":"punctuation.definition.interpolation.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.interpolation.end.html.vue"}}}]}}}
@@ -0,0 +1 @@
1
+ {"name":"macOS Speech Synthesis Input","scopeName":"text.mac-tts","patterns":[{"include":"#main"}],"repository":{"brackets":{"patterns":[{"name":"punctuation.section.command.begin.mac-tts","match":"\\[\\[","captures":{"0":{"name":"sublimelinter.gutter-mark"}}},{"name":"punctuation.section.command.end.mac-tts","match":"\\]\\]","captures":{"0":{"name":"sublimelinter.gutter-mark"}}},{"name":"punctuation.section.command.begin.bracket.curly.tune.mac-tts","match":"{","captures":{"0":{"name":"sublimelinter.gutter-mark"}}},{"name":"punctuation.section.command.end.bracket.curly.tune.mac-tts","match":"}","captures":{"0":{"name":"sublimelinter.gutter-mark"}}}]},"commandBlock":{"name":"meta.command-block.mac-tts","begin":"\\[\\[(?=[a-z]{4}(?:$|;|\\s|\\]\\]))","end":"\\]\\]","patterns":[{"include":"#commands"}],"beginCaptures":{"0":{"patterns":[{"include":"#brackets"}]}},"endCaptures":{"0":{"patterns":[{"include":"#brackets"}]}}},"commands":{"name":"meta.command.$1.mac-tts","begin":"(?:\\G|(?\u003c=;)\\s*)([a-z]{4})(?=$|;|\\s|\\]\\])","end":"(?!\\G)(?:\\s*(;)|(?=\\s*\\]\\]))","patterns":[{"contentName":"comment.block.command.mac-tts","begin":"\\G(?\u003c=cmnt)[ \\t]*","end":"(?=\\s*(?:;|\\]\\]))"},{"begin":"\\G(?\u003c=char|nmbr)[ \\t]*","end":"(?=\\s*(?:;|\\]\\]))","patterns":[{"begin":"\\G","end":"(?:\\s*(?\u003c=\\s|\\G|^)(NORM|LTRL))?(?=\\s*(?:;|\\]\\]))","endCaptures":{"1":{"name":"constant.language.speaking-mode.mac-tts"}}},{"include":"#invalidParameter"}]},{"begin":"\\G(?\u003c=ctxt)[ \\t]*","end":"(?=\\s*(?:;|\\]\\]))","patterns":[{"begin":"\\G","end":"(?:\\s*(?\u003c=\\s|\\G|^)(WSKP|WORD|NORM|TSKP|TEXT))?(?=\\s*(?:;|\\]\\]))","endCaptures":{"1":{"name":"constant.language.word-context.mac-tts"}}},{"include":"#invalidParameter"}]},{"begin":"\\G(?\u003c=dlim)[ \\t]*","end":"(?=\\s*(?:;|\\]\\]))","patterns":[{"begin":"\\s*((?:[^\\s;\\]]|\\](?!\\]))+)","end":"(?:(?\u003c=^)\\s*|\\s+)((?:[^\\s;\\]]|\\](?!\\]))+)|(?=\\s*(?:;|\\]\\]))","beginCaptures":{"1":{"name":"string.unquoted.delimiter-string.opening.mac-tts"}},"endCaptures":{"1":{"name":"string.unquoted.delimiter-string.closing.mac-tts"}}}]},{"begin":"\\G(?\u003c=emph)[ \\t]*","end":"(?!\\G)","patterns":[{"begin":"\\G","end":"[-+]|(?=\\s*(?:;|\\]\\]))","endCaptures":{"0":{"name":"keyword.operator.adjustment-direction.mac-tts"}}}],"applyEndPatternLast":true},{"begin":"\\G(?\u003c=pbas|pmod|rate|volm)[ \\t]*","end":"(?!\\G)","patterns":[{"begin":"\\G","end":"([-+]?)(\\d*\\.\\d+|\\d+)|(?=\\s*(?:;|\\]\\]))","endCaptures":{"1":{"name":"keyword.operator.relative-offset.mac-tts"},"2":{"name":"constant.numeric.float.decimal.mac-tts"}}}],"applyEndPatternLast":true},{"begin":"\\G(?\u003c=rset|slnc|sync|vers)[ \\t]*","end":"(?!\\G)","patterns":[{"begin":"\\G","end":"(?x)\n\\s*\n(?: (0x[0-9A-Fa-f]+|\\d*\\.\\d+|\\d+)\\b\n| ([!-~]{4})\n| ((?:[^\\s;\\]]|\\](?!\\]))+)\n)(?=$|\\s|;|\\]\\])\n|\n(?=\\s*(?:;|\\]\\]))","endCaptures":{"1":{"patterns":[{"include":"#numbers"}]},"2":{"name":"entity.name.ostype.four-cc.mac-tts"},"3":{"patterns":[{"include":"#invalidParameter"}]}}}],"applyEndPatternLast":true},{"begin":"\\G(?\u003c=xtnd)[ \\t]*","end":"(?=;|\\]\\])","patterns":[{"begin":"\\G","end":"\\s*([!-~]{4})(?=$|\\s|;|\\]\\])","endCaptures":{"1":{"name":"entity.name.ostype.four-cc.mac-tts"}}},{"include":"#numbers"},{"name":"variable.extension.synthesiser-specific.mac-tts","match":"(?:[^\\s;\\]]|\\](?!\\]))+"}],"applyEndPatternLast":true}],"beginCaptures":{"1":{"name":"entity.name.tag.command.mac-tts"}},"endCaptures":{"1":{"patterns":[{"include":"#semicolon"}]}}},"inputMode":{"patterns":[{"contentName":"meta.phoneme-input.mac-tts","begin":"(\\[\\[)((inpt)\\s+(PHON))(?:\\s*(;)\\s*)?(\\]\\])","end":"(?=\\[\\[inpt\\s+(?:TEXT|PHON|TUNE\\]\\]))","patterns":[{"include":"#main"},{"include":"#phonemes"}],"beginCaptures":{"0":{"name":"meta.command-block.mac-tts"},"1":{"patterns":[{"include":"#brackets"}]},"2":{"name":"meta.command.inpt.mac-tts"},"3":{"name":"entity.name.tag.command.mac-tts"},"4":{"name":"constant.language.input-mode.mac-tts"},"5":{"patterns":[{"include":"#semicolon"}]},"6":{"patterns":[{"include":"#brackets"}]}}},{"contentName":"meta.tune-input.mac-tts","begin":"(\\[\\[)((inpt)\\s+(TUNE))(?:\\s*(;)\\s*)?(\\]\\])","end":"(?=\\[\\[inpt\\s+(?:TEXT|PHON|TUNE\\]\\]))","patterns":[{"include":"#main"},{"include":"#phonemes"},{"include":"#tune"}],"beginCaptures":{"0":{"name":"meta.command-block.mac-tts"},"1":{"patterns":[{"include":"#brackets"}]},"2":{"name":"meta.command.inpt.mac-tts"},"3":{"name":"entity.name.tag.command.mac-tts"},"4":{"name":"constant.language.input-mode.mac-tts"},"5":{"patterns":[{"include":"#semicolon"}]},"6":{"patterns":[{"include":"#brackets"}]}}},{"name":"meta.command-block.mac-tts","match":"(\\[\\[)((inpt)\\s+(TEXT))(?:\\s*(;)\\s*)?(\\]\\])","captures":{"1":{"patterns":[{"include":"#brackets"}]},"2":{"name":"meta.command.inpt.mac-tts"},"3":{"name":"entity.name.tag.command.mac-tts"},"4":{"name":"constant.language.input-mode.mac-tts"},"5":{"patterns":[{"include":"#semicolon"}]},"6":{"patterns":[{"include":"#brackets"}]}}}]},"invalidParameter":{"match":"\\s*((?:[^\\s;\\]]|\\](?!\\]))+)","captures":{"1":{"name":"invalid.illegal.bad-parameter.mac-tts"}}},"main":{"patterns":[{"include":"#inputMode"},{"include":"#commandBlock"}]},"numbers":{"patterns":[{"name":"constant.numeric.integer.hexadecimal.mac-tts","match":"\\b0x[0-9A-Fa-f]+\\b"},{"match":"([-+])?(\\d+\\b(?!\\.))","captures":{"1":{"name":"keyword.operator.arithmetic.mac-tts"},"2":{"name":"constant.numeric.integer.decimal.mac-tts"}}},{"match":"([-+]?)(\\d*\\.\\d+\\b)","captures":{"1":{"name":"keyword.operator.arithmetic.mac-tts"},"2":{"name":"constant.numeric.float.decimal.mac-tts"}}}]},"phonemes":{"patterns":[{"name":"keyword.other.phoneme.mac-tts","match":"AA|AE|AO|AW|AX|AY|EH|EN|EY|IH|IX|IY|OW|OY|UH|UW|UX|[@%CDJNSTZbdfghklmnprstvwyz]"},{"name":"storage.modifier.prosodic-control.mac-tts","match":"[12=~_+]"}]},"semicolon":{"name":"punctuation.terminator.statement.mac-tts","match":";","captures":{"0":{"name":"sublimelinter.gutter-mark"}}},"tune":{"name":"meta.attribute-list.tune.mac-tts","begin":"{","end":"}","patterns":[{"name":"meta.attribute.duration.tune.mac-tts","begin":"D(?=$|[\\d\\s}]|\\.\\d)","end":"\\s*(;)|(?=\\s*(?:$|}))","patterns":[{"include":"#numbers"}],"beginCaptures":{"0":{"name":"variable.attribute.tune.mac-tts"}},"endCaptures":{"1":{"patterns":[{"include":"#semicolon"}]}}},{"name":"meta.attribute.pitch.tune.mac-tts","begin":"P(?=$|[\\d\\s}]|\\.\\d)","end":"\\s*(;)|(?=\\s*(?:$|}))","patterns":[{"name":"meta.pitch-specification.tune.mac-tts","match":"(?\u003c!:|-)\\b(\\d*\\.\\d+|\\d+)((:))(\\d+)","captures":{"1":{"name":"meta.pitch-in-hertz.tune.mac-tts","patterns":[{"include":"#numbers"}]},"2":{"name":"punctuation.separator.arguments.colon.tune.mac-tts"},"3":{"name":"sublimelinter.gutter-mark"},"4":{"name":"meta.position-in-phenome.tune.mac-tts","patterns":[{"include":"#numbers"}]}}}],"beginCaptures":{"0":{"name":"variable.attribute.tune.mac-tts"}},"endCaptures":{"1":{"patterns":[{"include":"#semicolon"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#brackets"}]}},"endCaptures":{"0":{"patterns":[{"include":"#brackets"}]}}}}}