github-linguist 9.2.0 → 9.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +23 -4
  3. data/grammars/dart.inline.edgeql.json +1 -0
  4. data/grammars/go.inline.edgeql.json +1 -0
  5. data/grammars/injection.interpolated-ruby.json +1 -0
  6. data/grammars/injections.etc.json +1 -1
  7. data/grammars/inline.surrealql-js-literal.json +1 -0
  8. data/grammars/js.inline.edgeql.json +1 -0
  9. data/grammars/markdown.move.codeblock.json +1 -1
  10. data/grammars/markdown.surrealql.codeblock.json +1 -0
  11. data/grammars/markdown.vue.codeblock.json +1 -1
  12. data/grammars/markdown.wesl.codeblock.json +1 -0
  13. data/grammars/markdown.wgsl.codeblock.json +1 -0
  14. data/grammars/mdx.vue.codeblock.json +1 -1
  15. data/grammars/res.inline.edgeql.json +1 -0
  16. data/grammars/source.abl.json +1 -1
  17. data/grammars/source.agda.json +1 -1
  18. data/grammars/source.al.json +1 -1
  19. data/grammars/source.algol60.json +1 -0
  20. data/grammars/source.apex.json +1 -1
  21. data/grammars/source.ash.json +1 -0
  22. data/grammars/source.ats.json +1 -1
  23. data/grammars/source.b.json +1 -0
  24. data/grammars/source.bicep.json +1 -1
  25. data/grammars/source.brs.json +1 -1
  26. data/grammars/source.bru.json +1 -0
  27. data/grammars/source.c++.json +1 -1
  28. data/grammars/source.c.json +1 -1
  29. data/grammars/source.c.linker.json +1 -1
  30. data/grammars/source.c3.json +1 -0
  31. data/grammars/source.cadence.json +1 -1
  32. data/grammars/source.cj.json +1 -0
  33. data/grammars/source.clar.json +1 -1
  34. data/grammars/source.clean.json +1 -1
  35. data/grammars/source.cmake.json +1 -1
  36. data/grammars/source.cmakecache.json +1 -1
  37. data/grammars/source.cobol.json +1 -1
  38. data/grammars/source.comment-string.wesl.json +1 -0
  39. data/grammars/source.comment-string.wgsl.json +1 -0
  40. data/grammars/source.cooklang.json +1 -0
  41. data/grammars/source.cql.json +1 -0
  42. data/grammars/source.cs.json +1 -1
  43. data/grammars/source.csv.json +1 -0
  44. data/grammars/source.curlrc.json +1 -1
  45. data/grammars/source.data-weave.json +1 -1
  46. data/grammars/source.dotenv.json +1 -1
  47. data/grammars/source.dsv.json +1 -0
  48. data/grammars/source.edgeql.json +1 -1
  49. data/grammars/source.erlang.json +1 -1
  50. data/grammars/source.flix.json +1 -0
  51. data/grammars/source.fsharp.json +1 -1
  52. data/grammars/source.gdscript.json +1 -1
  53. data/grammars/source.gfm.blade.json +1 -1
  54. data/grammars/source.gitignore.json +1 -1
  55. data/grammars/source.go-template.json +1 -0
  56. data/grammars/source.go.injection.double.go-template.json +1 -0
  57. data/grammars/source.go.injection.raw.go-template.json +1 -0
  58. data/grammars/source.hack.json +1 -1
  59. data/grammars/source.harbour.json +1 -1
  60. data/grammars/source.httpspec.json +1 -1
  61. data/grammars/source.hurl.json +1 -0
  62. data/grammars/source.hx.json +1 -1
  63. data/grammars/source.ilecobol.json +1 -1
  64. data/grammars/source.inputrc.json +1 -1
  65. data/grammars/source.isabelle.theory.json +1 -1
  66. data/grammars/source.jac.json +1 -0
  67. data/grammars/source.jai.json +1 -1
  68. data/grammars/source.jq.json +1 -1
  69. data/grammars/source.json.comments.json +1 -1
  70. data/grammars/source.julia.json +1 -1
  71. data/grammars/source.just.json +1 -1
  72. data/grammars/source.kcl.json +1 -0
  73. data/grammars/source.langium.json +1 -0
  74. data/grammars/source.lean.markdown.json +1 -1
  75. data/grammars/source.lean4.json +1 -1
  76. data/grammars/source.lean4.markdown.json +1 -1
  77. data/grammars/source.lp.json +1 -0
  78. data/grammars/source.lua.json +1 -1
  79. data/grammars/source.luau.json +1 -1
  80. data/grammars/source.m2.json +1 -1
  81. data/grammars/source.mask.json +1 -1
  82. data/grammars/source.mdx.json +1 -1
  83. data/grammars/source.mermaid.flowchart.json +1 -1
  84. data/grammars/source.mermaid.gantt.json +1 -1
  85. data/grammars/source.mermaid.json +1 -1
  86. data/grammars/source.mermaid.pie-chart.json +1 -1
  87. data/grammars/source.mermaid.quad-chart.json +1 -0
  88. data/grammars/source.mermaid.sankey.json +1 -0
  89. data/grammars/source.mermaid.timeline.json +1 -0
  90. data/grammars/source.mermaid.user-journey.json +1 -1
  91. data/grammars/source.mermaid.zenuml.json +1 -0
  92. data/grammars/source.mo.json +1 -1
  93. data/grammars/source.mojo.json +1 -1
  94. data/grammars/source.moonbit.json +1 -1
  95. data/grammars/source.move.json +1 -1
  96. data/grammars/source.ned.json +1 -1
  97. data/grammars/source.nginx.json +1 -1
  98. data/grammars/source.nickel.json +1 -0
  99. data/grammars/source.nim.json +1 -1
  100. data/grammars/source.nr.json +1 -1
  101. data/grammars/source.nushell.json +1 -1
  102. data/grammars/source.odin-ehr.json +1 -1
  103. data/grammars/source.openqasm.json +1 -1
  104. data/grammars/source.postscript.json +1 -1
  105. data/grammars/source.proto.json +1 -1
  106. data/grammars/source.psl.json +1 -0
  107. data/grammars/source.pyjade.json +1 -1
  108. data/grammars/source.quakec.json +1 -0
  109. data/grammars/source.rascript.json +1 -0
  110. data/grammars/source.record-jar.json +1 -1
  111. data/grammars/source.rego.json +1 -1
  112. data/grammars/source.roc.json +1 -1
  113. data/grammars/source.rosmsg.json +1 -0
  114. data/grammars/source.rpgle.json +1 -1
  115. data/grammars/source.shell.json +1 -1
  116. data/grammars/source.sieve.json +1 -1
  117. data/grammars/source.singularity.json +1 -1
  118. data/grammars/source.slang.json +1 -1
  119. data/grammars/source.slint.json +1 -1
  120. data/grammars/source.soql.json +1 -1
  121. data/grammars/source.sqf.json +1 -1
  122. data/grammars/source.stan.json +1 -1
  123. data/grammars/source.surrealql.json +1 -0
  124. data/grammars/source.swift.json +1 -1
  125. data/grammars/source.teal.json +1 -0
  126. data/grammars/source.templ.json +1 -1
  127. data/grammars/source.tmdl.json +1 -0
  128. data/grammars/source.tsp.json +1 -1
  129. data/grammars/source.tsv.json +1 -0
  130. data/grammars/source.vb6.json +1 -0
  131. data/grammars/source.vba.json +1 -1
  132. data/grammars/source.vcl.json +1 -0
  133. data/grammars/source.vento.json +1 -1
  134. data/grammars/source.vhdl.json +1 -1
  135. data/grammars/source.vscode.c3.json +1 -0
  136. data/grammars/source.wdl.json +1 -1
  137. data/grammars/source.wesl.json +1 -0
  138. data/grammars/source.wgsl.json +1 -1
  139. data/grammars/source.wit.json +1 -1
  140. data/grammars/source.wwb.json +1 -1
  141. data/grammars/text.codeowners.json +1 -1
  142. data/grammars/text.git-commit.json +1 -0
  143. data/grammars/text.haml.json +1 -1
  144. data/grammars/text.html.jte.json +1 -1
  145. data/grammars/text.html.markdown.d2.json +1 -1
  146. data/grammars/text.html.vue.json +1 -0
  147. data/grammars/text.injection.go-template.json +1 -0
  148. data/grammars/text.jira.json +1 -0
  149. data/grammars/text.k.json +1 -0
  150. data/grammars/text.markdown.go-template.codeblock.json +1 -0
  151. data/grammars/text.marko.json +1 -1
  152. data/grammars/text.md.json +1 -1
  153. data/grammars/text.slim.json +1 -1
  154. data/grammars/text.source.mps.json +1 -0
  155. data/grammars/text.srt.json +1 -1
  156. data/grammars/text.valve-cfg.json +1 -1
  157. data/grammars/text.xml.svg.json +1 -1
  158. data/grammars/v.mod.json +1 -0
  159. data/grammars/version +1 -1
  160. data/grammars/vue.directives.json +1 -1
  161. data/grammars/vue.interpolations.json +1 -1
  162. data/grammars/vue.sfc.script.leading-operator-fix.json +1 -0
  163. data/lib/linguist/VERSION +1 -1
  164. data/lib/linguist/generated.rb +29 -5
  165. data/lib/linguist/generic.yml +3 -0
  166. data/lib/linguist/heuristics.yml +98 -11
  167. data/lib/linguist/instrumenter.rb +19 -0
  168. data/lib/linguist/languages.json +1 -1
  169. data/lib/linguist/languages.yml +405 -117
  170. data/lib/linguist/samples.json +1 -1
  171. data/lib/linguist.rb +1 -0
  172. metadata +59 -5
  173. data/grammars/inline.edgeql.json +0 -1
  174. data/grammars/source.varnish.vcl.json +0 -1
  175. data/grammars/source.vue.json +0 -1
@@ -0,0 +1 @@
1
+ {"name":"Teal","scopeName":"source.teal","patterns":[{"include":"#expression"},{"include":"#statement"}],"repository":{"attribute":{"name":"storage.modifier.teal","match":"\u003c\\s*(const|close|total)\\s*\u003e"},"base":{"patterns":[{"include":"#pragma"},{"include":"#comment"},{"include":"#constant"},{"include":"#number"},{"include":"#string"},{"include":"#long-string"},{"include":"#attribute"}]},"brackets":{"patterns":[{"name":"teal.brackets","begin":"\\[","end":"\\]","patterns":[{"include":"#expression"}]}]},"break":{"name":"keyword.control.teal","match":"\\b(break)\\b"},"builtin-function":{"patterns":[{"name":"support.function.teal","match":"(?\u003c![^.]\\.|:)\\b(assert|collectgarbage|dofile|error|getfenv|getmetatable|ipairs|loadfile|loadstring|module|next|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|unpack|xpcall)\\b(?=\\s*(?:[({\"']|\\[\\[))"},{"name":"support.function.library.teal","match":"(?\u003c![^.]\\.|:)\\b(coroutine\\.(create|resume|running|status|wrap|yield)|string\\.(byte|char|dump|find|format|gmatch|gsub|len|lower|match|rep|reverse|sub|upper)|table\\.(concat|insert|maxn|remove|sort)|math\\.(abs|acos|asin|atan2?|ceil|cosh?|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pow|rad|random|randomseed|sinh?|sqrt|tanh?)|io\\.(close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|os\\.(clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\\.(cpath|loaded|loadlib|path|preload|seeall)|debug\\.(debug|[gs]etfenv|[gs]ethook|getinfo|[gs]etlocal|[gs]etmetatable|getregistry|[gs]etupvalue|traceback))\\b(?=\\s*(?:[({\"']|\\[\\[))"}]},"comment":{"patterns":[{"include":"#long-comment"},{"include":"#short-comment"}]},"constant":{"patterns":[{"name":"constant.language.teal","match":"\\b(nil|true|false)\\b"}]},"do-block":{"name":"statement.do-block.teal","begin":"\\bdo\\b","end":"\\bend\\b","patterns":[{"include":"#statement"}],"captures":{"0":{"name":"keyword.control.teal"}}},"enum-block":{"begin":"\\benum\\b","end":"\\bend\\b","patterns":[{"include":"#comment"},{"include":"#string"},{"name":"support.type.teal","match":"[a-zA-Z_][a-zA-Z0-9_]*"}],"captures":{"0":{"name":"storage.type.enum.teal"}}},"escaped-char":{"patterns":[{"name":"constant.character.escape.teal","match":"\\\\[abfnrtvz\\\\\"'\\n]"},{"name":"constant.character.escape.byte.teal","match":"\\\\\\d{1,3}"},{"name":"constant.character.escape.byte.teal","match":"\\\\x[0-9A-Fa-f][0-9A-Fa-f]"},{"name":"constant.character.escape.unicode.teal","match":"\\\\u\\{[0-9A-Fa-f]+\\}"},{"name":"invalid.illegal.character.escape.teal","match":"\\\\."}]},"expression":{"patterns":[{"include":"#base"},{"include":"#parentheses"},{"include":"#brackets"},{"include":"#operator"},{"include":"#builtin-function"},{"include":"#function-block"},{"include":"#function-call"},{"include":"#table-constructor"},{"include":"#record-or-interface-block"},{"include":"#enum-block"},{"include":"#self"},{"include":"#field-access"}]},"field-access":{"name":"variable.other.teal","match":"(?\u003c=[^.]\\.|:)\\b([a-zA-Z_][a-zA-Z0-9_]*)"},"for-block":{"name":"statement.for.teal","begin":"\\bfor\\b","end":"\\bend\\b","patterns":[{"name":"teal.for.expression","begin":"(?\u003c=\\bfor\\b)","end":"\\bdo\\b","patterns":[{"include":"#expression"}],"endCaptures":{"0":{"name":"keyword.control.do.teal"}}},{"name":"teal.for.body","begin":"(?\u003c=\\bdo\\b)","end":"(?=\\bend\\b)","patterns":[{"include":"#statement"}]}],"captures":{"0":{"name":"keyword.control.teal"}}},"function-arg-name":{"patterns":[{"name":"function.argument.teal","begin":"(?\u003c=\\()","end":"(?=:|\\))","patterns":[{"include":"#comment"}]},{"name":"function.argument.teal","begin":",","end":"(?=:|\\))","patterns":[{"include":"#comment"}]}]},"function-arg-type":{"patterns":[{"begin":":","end":"(?=,|\\))","patterns":[{"include":"#comment"},{"include":"#type"}]}]},"function-args":{"patterns":[{"name":"function.arguments.teal","begin":"\\(","end":"(?=\\))","patterns":[{"include":"#comment"},{"include":"#function-arg-name"},{"include":"#function-arg-type"}]}]},"function-block":{"patterns":[{"begin":"\\bfunction\\b","end":"\\bend\\b","patterns":[{"include":"#function-signature"},{"include":"#function-body"}],"captures":{"0":{"name":"keyword.declaration.function.teal"}}}]},"function-body":{"name":"teal.function.body","begin":"(?\u003c=\\))","end":"(?=\\bend\\b)","patterns":[{"include":"#statement"}]},"function-call":{"patterns":[{"name":"function-call","begin":"\\b((?!\\bfunction\\b|\\breturn\\b|\\bif\\b|\\belseif\\b|\\bwhile\\b|\\buntil\\b|\\bin\\b)[a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(?:\\())","end":"(?\u003c=\\))","patterns":[{"include":"#parentheses"}],"beginCaptures":{"1":{"name":"support.function.any-method.teal"}}},{"name":"function-call","begin":"\\b((?!\\bfunction\\b|\\breturn\\b|\\bif\\b|\\belseif\\b|\\bwhile\\b|\\buntil\\b|\\bin\\b)[a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(?:\\{))","end":"(?\u003c=})","patterns":[{"include":"#table-constructor"}],"beginCaptures":{"1":{"name":"support.function.any-method.teal"}}},{"name":"function-call","begin":"\\b((?!\\bfunction\\b|\\breturn\\b|\\bif\\b|\\belseif\\b|\\bwhile\\b|\\buntil\\b|\\bin\\b)[a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(\"|'))","end":"(?\u003c=\\2)","patterns":[{"include":"#string"}],"beginCaptures":{"1":{"name":"support.function.any-method.teal"}}},{"name":"function-call","begin":"\\b((?!\\bfunction\\b|\\breturn\\b|\\bif\\b|\\belseif\\b|\\bwhile\\b|\\buntil\\b|\\bin\\b)[a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(\\[(=*)\\[))","end":"(?\u003c=\\]\\3\\])","patterns":[{"include":"#long-string"}],"beginCaptures":{"1":{"name":"support.function.any-method.teal"}}}]},"function-name":{"patterns":[{"name":"support.function.name.teal","match":"([a-zA-Z_][a-zA-Z0-9_]*)"}]},"function-signature":{"patterns":[{"name":"function.signature.teal","begin":"(?\u003c=\\bfunction\\b)","end":"\\)","patterns":[{"include":"#comment"},{"include":"#function-name"},{"include":"#generics"},{"include":"#function-args"}]}]},"function-type":{"patterns":[{"begin":"(\\bfunction\\b)\\s*(\u003c\\s*)?([a-zA-Z_][a-zA-Z0-9_, ]*\\s*)?(\u003e\\s*)?\\(","end":"\\)","patterns":[{"include":"#comment"},{"name":"function.argument.teal","match":"[a-zA-Z_][a-zA-Z0-9_]*\\s*(?=:)"},{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.declaration.function.teal"},"3":{"name":"support.type.teal"}}},{"match":"(\\bfunction\\b)\\s*(\u003c\\s*)?([a-zA-Z_][a-zA-Z0-9_, ]*\\s*)?(\u003e\\s*)?","captures":{"1":{"name":"keyword.declaration.function.teal"},"3":{"name":"support.type.teal"}}}]},"generics":{"patterns":[{"name":"type.arguments.teal","begin":"\u003c","end":"\u003e","patterns":[{"include":"#comment"},{"include":"#type-arg"}]}]},"goto":{"name":"keyword.control.teal","match":"\\b(goto)\\b"},"if-block":{"name":"statement.if-block.teal","begin":"\\bif\\b","end":"\\bend\\b","patterns":[{"include":"#expression"},{"name":"keyword.control.if-then.teal","match":"\\bthen\\b"},{"name":"statement.elseif.teal","begin":"\\belseif\\b","end":"\\bthen\\b","patterns":[{"include":"#expression"}],"captures":{"0":{"name":"keyword.control.teal"}}},{"name":"keyword.control.else.teal","match":"\\belse\\b"},{"include":"#statement"}],"captures":{"0":{"name":"keyword.control.teal"}}},"label":{"name":"entity.name.label.teal","match":"::([a-zA-Z_][a-zA-Z0-9_]*)::"},"long-comment":{"patterns":[{"name":"comment.block.teal","begin":"--\\[(=*)\\[","end":"\\]\\1\\]","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.teal"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.teal"}}}]},"long-string":{"name":"string.multiline.teal","begin":"\\[(=*)\\[","end":"\\]\\1\\]","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.teal"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.teal"}}},"new-type-declaration":{"begin":"\\b(type)\\b","end":"$","patterns":[{"begin":"[a-zA-Z_][a-zA-Z0-9_]*","end":"(=|$)","patterns":[{"include":"#comment"}],"beginCaptures":{"0":{"name":"support.type.teal"}}},{"begin":"(?\u003c==)","end":"$","patterns":[{"include":"#comment"},{"include":"#function-call"},{"include":"#record-or-interface-block"},{"include":"#enum-block"},{"include":"#type"}]}],"beginCaptures":{"1":{"name":"keyword.declaration.type.teal"}}},"number":{"patterns":[{"name":"constant.numeric.integer.hexadecimal.teal","match":"(?\u003c![\\w\\d.])0[xX][0-9A-Fa-f]+(?![pPeE.0-9])"},{"name":"constant.numeric.float.hexadecimal.teal","match":"(?\u003c![\\w\\d.])0[xX][0-9A-Fa-f]+(\\.[0-9A-Fa-f]+)?([eE]-?\\d*)?([pP][-+]\\d+)?"},{"name":"constant.numeric.integer.teal","match":"(?\u003c![\\w\\d.])\\d+(?![pPeE.0-9])"},{"name":"constant.numeric.float.teal","match":"(?\u003c![\\w\\d.])\\d+(\\.\\d+)?([eE]-?\\d*)?"}]},"operator":{"patterns":[{"name":"keyword.operator.teal","match":"\\+|-|%|#|\\*|\\/|\\^|==?|~=|\u003c=?|\u003e=?|(?\u003c!\\.)\\.{2}(?!\\.)"},{"name":"keyword.operator.logical.teal","match":"\\b(and|or|not)\\b"},{"name":"keyword.other.teal","match":"\\b(as|is|in)\\b"}]},"parentheses":{"patterns":[{"name":"teal.parentheses","begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}]}]},"pragma":{"patterns":[{"begin":"--#pragma","end":".*$","beginCaptures":{"0":{"name":"keyword.control.directive.pragma.teal"}},"endCaptures":{"0":{"name":"entity.other.attribute-name.pragma.preprocessor.teal"}}}]},"record-or-interface-block":{"name":"statement.record-or-interface-block.teal","begin":"\\b(record|interface)\\b","end":"\\bend\\b","patterns":[{"include":"#comment"},{"begin":"\\b(is)\\b","end":"(?=\\bend\\b|\\bwhere\\b|\\brecord\\b|\\benum\\b|^\\s*\\buserdata\\b|^\\s*\\bmetamethod\\b|\\[|^\\s*[a-zA-Z_][a-zA-Z0-9_]*\\s*:)","patterns":[{"include":"#comment"},{"include":"#type"}],"captures":{"0":{"name":"keyword.other.teal"}}},{"name":"where-clause.teal","begin":"\\b(where)\\b","end":"(?=\\bend\\b|\\brecord\\b|\\benum\\b|^\\s*\\buserdata\\b|^\\s*\\bmetamethod\\b|\\[|^\\s*[a-zA-Z_][a-zA-Z0-9_]*\\s*:)","patterns":[{"include":"#comment"},{"include":"#expression"}],"captures":{"0":{"name":"keyword.control.teal"}}},{"include":"#brackets"},{"include":"#enum-block"},{"include":"#record-or-interface-block"},{"include":"#new-type-declaration"},{"name":"storage.type.userdata.teal","match":"^\\s*\\buserdata\\b"},{"begin":"^\\s*\\bmetamethod\\b","end":":","patterns":[{"include":"#function-name"}],"beginCaptures":{"0":{"name":"storage.type.metamethod.teal"}}},{"match":"^\\s*([a-zA-Z_][a-zA-Z0-9_]*)\\s*:","captures":{"1":{"name":"variable.other.teal"}}},{"include":"#type"}],"captures":{"0":{"name":"storage.type.record.teal"}}},"repeat-block":{"name":"statement.repeat-block.teal","begin":"\\brepeat\\b","end":"\\buntil\\b","patterns":[{"include":"#statement"}],"captures":{"0":{"name":"keyword.control.teal"}}},"return":{"name":"keyword.control.teal","match":"\\b(return)\\b"},"scope-modifier":{"name":"storage.modifier.teal","match":"\\b(local|global)\\b"},"self":{"name":"variable.language.self.teal","match":"(?\u003c![^.]\\.|:)\\b(self)\\b"},"short-comment":{"patterns":[{"name":"comment.teal","match":"--.*$"}]},"statement":{"patterns":[{"include":"#expression"},{"include":"#if-block"},{"include":"#do-block"},{"include":"#repeat-block"},{"include":"#while-block"},{"include":"#for-block"},{"include":"#goto"},{"include":"#label"},{"include":"#break"},{"include":"#return"},{"include":"#scope-modifier"},{"include":"#type-annotation"},{"include":"#new-type-declaration"}]},"string":{"patterns":[{"name":"string.quoted.single.teal","begin":"'","end":"'","patterns":[{"include":"#escaped-char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.teal"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.teal"}}},{"name":"string.quoted.double.teal","begin":"\"","end":"\"","patterns":[{"include":"#escaped-char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.teal"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.teal"}}}]},"table-constructor":{"name":"teal.table-constructor","begin":"{","end":"}","patterns":[{"include":"#comment"},{"begin":"=","end":";|,|(?=})","patterns":[{"include":"#expression"}]},{"name":"teal.brackets","begin":"\\[","end":"\\]","patterns":[{"include":"#expression"}]},{"begin":":","end":"(?\u003c=\\))|(?=[=,};])","patterns":[{"include":"#comment"},{"include":"#function-call"},{"include":"#type"}]},{"name":"variable.other.teal","match":"[a-zA-Z_][a-zA-Z0-9_]*\\s*(?=.*=)"},{"include":"#expression"}]},"table-type":{"patterns":[{"name":"support.tabletype.teal","begin":"{","end":"}","patterns":[{"include":"#comment"},{"include":"#type"}]}]},"type":{"patterns":[{"include":"#function-type"},{"include":"#table-type"},{"include":"#type-name"},{"include":"#generics"}]},"type-annotation":{"patterns":[{"begin":":","end":"(?\u003c=\\))|=|;|$|(?=\\breturn\\b)","patterns":[{"include":"#comment"},{"include":"#function-call"},{"include":"#type"}]}]},"type-arg":{"patterns":[{"name":"support.type.teal","match":"[a-zA-Z_][a-zA-Z0-9_]*"}]},"type-name":{"patterns":[{"name":"support.type.teal","match":"[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"punctuation.accessor.teal","match":"\\."}]},"while-block":{"name":"statement.while-block.teal","begin":"\\bwhile\\b","end":"\\bend\\b","patterns":[{"name":"teal.while.expression","begin":"(?\u003c=\\bwhile\\b)","end":"\\bdo\\b","patterns":[{"include":"#expression"}],"endCaptures":{"0":{"name":"keyword.control.do.teal"}}},{"name":"teal.while.body","begin":"(?\u003c=\\bdo\\b)","end":"(?=\\bend\\b)","patterns":[{"include":"#statement"}]}],"captures":{"0":{"name":"keyword.control.teal"}}}}}
@@ -1 +1 @@
1
- {"name":"templ","scopeName":"source.templ","patterns":[{"include":"#script-template"},{"include":"#css-template"},{"include":"#html-template"},{"include":"source.go"}],"repository":{"block-element":{"name":"meta.tag.block.any.html","begin":"(\u003c/?)((?i:address|blockquote|dd|div|section|article|aside|header|footer|nav|menu|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|pre)(?=\\s|\\\\|\u003e))","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.block.any.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},"call-expression":{"name":"call-expression.templ","begin":"({\\!)\\s+","end":"(})","patterns":[{"include":"source.go"}],"beginCaptures":{"0":{"name":"start.call-expression.templ"},"1":{"name":"punctuation.brace.open"}},"endCaptures":{"0":{"name":"end.call-expression.templ"},"1":{"name":"punctuation.brace.close"}}},"case-expression":{"begin":"^\\s*case .+?:$","end":"(^\\s*case .+?:$)|(^\\s*default:$)|(\\s*$)","patterns":[{"include":"#template-node"}],"captures":{"0":{"name":"case.switch.html-template.templ","patterns":[{"include":"source.go"}]}}},"close-element":{"name":"meta.tag.other.html","begin":"(\u003c/?)([a-zA-Z0-9:\\-]+)","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.other.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},"css-template":{"name":"css-template.templ","begin":"^(css) ([A-z_][A-z_0-9]*\\()","end":"(?\u003c=^}$)","patterns":[{"name":"params.css-template.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"block.css-template.templ","begin":"(?\u003c=\\))\\s*({)$","end":"^(})$","patterns":[{"name":"property.css-template.templ","begin":"\\s*((?:-(?:webkit|moz|o|ms|khtml)-)?(?:zoom|z-index|y|x|writing-mode|wrap|wrap-through|wrap-inside|wrap-flow|wrap-before|wrap-after|word-wrap|word-spacing|word-break|word|will-change|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|vector-effect|variant|user-zoom|user-select|up|unicode-(bidi|range)|trim|translate|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform-box|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-underline-position|text-transform|text-spacing|text-space-trim|text-space-collapse|text-size-adjust|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-orientation|text-justify|text-indent|text-height|text-emphasis-style|text-emphasis-skip|text-emphasis-position|text-emphasis-color|text-emphasis|text-decoration-style|text-decoration-stroke|text-decoration-skip|text-decoration-line|text-decoration-fill|text-decoration-color|text-decoration|text-combine-upright|text-anchor|text-align-last|text-align-all|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|system|symbols|suffix|style-type|style-position|style-image|style|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|string-set|stretch|stress|stop-opacity|stop-color|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak-as|speak|span|spacing|space-collapse|space|solid-opacity|solid-color|sizing|size-adjust|size|shape-rendering|shape-padding|shape-outside|shape-margin|shape-inside|shape-image-threshold|shadow|scroll-snap-type|scroll-snap-points-y|scroll-snap-points-x|scroll-snap-destination|scroll-snap-coordinate|scroll-behavior|scale|ry|rx|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-merge|ruby-align|ruby|rows|rotation-point|rotation|rotate|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resolution|resize|reset|replace|repeat|rendering-intent|region-fragment|rate|range|radius|r|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|prefix|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|perspective-origin|perspective|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-inline-start|padding-inline-end|padding-bottom|padding-block-start|padding-block-end|padding|pad|pack|overhang|overflow-y|overflow-x|overflow-wrap|overflow-style|overflow-inline|overflow-block|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset-start|offset-inline-start|offset-inline-end|offset-end|offset-block-start|offset-block-end|offset-before|offset-after|offset|object-position|object-fit|numeral|new|negative|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|motion-rotation|motion-path|motion-offset|motion|model|mix-blend-mode|min-zoom|min-width|min-inline-size|min-height|min-block-size|min|max-zoom|max-width|max-lines|max-inline-size|max-height|max-block-size|max|mask-type|mask-size|mask-repeat|mask-position|mask-origin|mask-mode|mask-image|mask-composite|mask-clip|mask-border-width|mask-border-source|mask-border-slice|mask-border-repeat|mask-border-outset|mask-border-mode|mask-border|mask|marquee-style|marquee-speed|marquee-play-count|marquee-loop|marquee-direction|marquee|marks|marker-start|marker-side|marker-mid|marker-end|marker|margin-top|margin-right|margin-left|margin-inline-start|margin-inline-end|margin-bottom|margin-block-start|margin-block-end|margin|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-snap|line-height|line-grid|line-break|line|lighting-color|level|letter-spacing|length|left-width|left-style|left-color|left|label|kerning|justify-self|justify-items|justify-content|justify|iteration-count|isolation|inline-size|inline-box-align|initial-value|initial-size|initial-letter-wrap|initial-letter-align|initial-letter|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-rendering|image-resolution|image-orientation|image|icon|hyphens|hyphenate-limit-zone|hyphenate-limit-lines|hyphenate-limit-last|hyphenate-limit-chars|hyphenate-character|hyphenate|height|header|hanging-punctuation|grid-template-rows|grid-template-columns|grid-template-areas|grid-template|grid-row-start|grid-row-gap|grid-row-end|grid-row|grid-rows|grid-gap|grid-column-start|grid-column-gap|grid-column-end|grid-column|grid-columns|grid-auto-rows|grid-auto-flow|grid-auto-columns|grid-area|grid|glyph-orientation-vertical|glyph-orientation-horizontal|gap|font-weight|font-variant-position|font-variant-numeric|font-variant-ligatures|font-variant-east-asian|font-variant-caps|font-variant-alternates|font-variant|font-synthesis|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|flow-into|flow-from|flow|flood-opacity|flood-color|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|filter|fill-rule|fill-opacity|fill|family|fallback|enable-background|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cy|cx|cursor|cue-before|cue-after|cue|crop|counter-set|counter-reset|counter-increment|counter|count|corner-shape|corners|continue|content|contain|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-rendering|color-profile|color-interpolation-filters|color-interpolation|color-adjust|color|collapse|clip-rule|clip-path|clip|clear|character|caret-shape|caret-color|caret|caption-side|buffered-rendering|break-inside|break-before|break-after|break|box-suppress|box-snap|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-limit|border-length|border-left-width|border-left-style|border-left-color|border-left|border-inline-start-width|border-inline-start-style|border-inline-start-color|border-inline-start|border-inline-end-width|border-inline-end-style|border-inline-end-color|border-inline-end|border-image-width|border-image-transform|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-clip-top|border-clip-right|border-clip-left|border-clip-bottom|border-clip|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border-block-start-width|border-block-start-style|border-block-start-color|border-block-start|border-block-end-width|border-block-end-style|border-block-end-color|border-block-end|border|bookmark-target|bookmark-level|bookmark-label|bookmark|block-size|binding|bidi|before|baseline-shift|baseline|balance|background-size|background-repeat|background-position-y|background-position-x|background-position-inline|background-position-block|background-position|background-origin|background-image|background-color|background-clip|background-blend-mode|background-attachment|background|backface-visibility|backdrop-filter|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|alt|all|alignment-baseline|alignment-adjust|alignment|align-last|align-self|align-items|align-content|align|after|adjust|additive-symbols)):\\s+","end":"(?\u003c=;$)","patterns":[{"name":"expression.property.css-template.templ","begin":"({)","end":"(})(;)$","patterns":[{"include":"source.go"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"},"2":{"name":"punctuation.terminator.rule.css"}}},{"name":"constant.property.css-template.templ","match":"(.*)(;)$","captures":{"1":{"name":"support.type.property-value.css"},"2":{"name":"punctuation.terminator.rule.css"}}}],"beginCaptures":{"1":{"name":"support.type.property-name.css"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}},"default-expression":{"begin":"^\\s*default:$","end":"(^\\s*case .+?:$)|(^\\s*default:$)|(\\s*$)","patterns":[{"include":"#template-node"}],"captures":{"0":{"name":"default.switch.html-template.templ","patterns":[{"include":"source.go"}]}}},"element":{"name":"meta.tag.any.html","begin":"(\u003c)([a-zA-Z0-9:\\-]++)(?=[^\u003e]*\u003e\u003c/\\2\u003e)","end":"(\u003e(\u003c)/)(\\2)(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"meta.scope.between-tag-pair.html"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.html"}}},"else-expression":{"name":"else.html-template.templ","begin":"\\s+(else)\\s+({)\\s*$","end":"^\\s*(})$","patterns":[{"include":"#template-node"}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}},"else-if-expression":{"name":"else-if.html-template.templ","begin":"\\s(else if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.else-if.html-template.templ","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}}},{"name":"block.else-if.html-template.templ","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#template-node"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"entities":{"patterns":[{"name":"constant.character.entity.html","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#[xX][0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}}},{"name":"invalid.illegal.bad-ampersand.html","match":"\u0026"}]},"for-expression":{"name":"for.html-template.templ","begin":"^\\s*for .+{","end":"\\s*}\\s*\n","patterns":[{"include":"#template-node"}],"captures":{"0":{"name":"meta.embedded.block.go","patterns":[{"include":"source.go"}]}}},"go-comment-block":{"name":"comment.block.go","begin":"(\\/\\*)","end":"(\\*\\/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.go"}}},"go-comment-double-slash":{"name":"comment.line.double-slash.go","begin":"(\\/\\/)","end":"(?:\\n|$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}}},"html-comment":{"name":"comment.block.html","begin":"\u003c!--","end":"--\u003e","beginCaptures":{"0":{"name":"punctuation.definition.comment.html"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.html"}}},"html-template":{"name":"html-template.templ","begin":"^(templ) ((?:\\([A-z_][A-z_0-9]* \\*?[A-z_][A-z_0-9]*\\) )?[A-z_][A-z_0-9]*(\\(|\\[))","end":"(?\u003c=^}$)","patterns":[{"name":"params.html-template.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"type-params.html-template.templ","begin":"(?\u003c=\\[)","end":"(\\])","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.square.go"}}},{"name":"block.html-template.templ","begin":"(?\u003c=\\))\\s*({)$","end":"^(})$","patterns":[{"include":"#template-node"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}},"if-expression":{"name":"if.html-template.templ","begin":"^\\s*(if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.if.html-template.templ","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}}},{"name":"block.if.html-template.templ","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#template-node"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"import-expression":{"patterns":[{"name":"import-expression.templ","begin":"(@)((?:[A-z_][A-z_0-9]*\\.)?[A-z_][A-z_0-9]*(?:\\(|{|$))","end":"(?\u003c=\\))$|(?\u003c=})$|(?\u003c=$)","patterns":[{"name":"struct-method.import-expression.templ","begin":"(?\u003c=[A-z_0-9]{)","end":"\\s*(})(\\.[A-z_][A-z_0-9]*\\()","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"},"2":{"patterns":[{"include":"source.go"}]}}},{"name":"params.import-expression.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"children.import-expression.templ","begin":"(?\u003c=\\))\\s({)$","end":"^\\s*(})$","patterns":[{"include":"#template-node"}],"beginCaptures":{"1":{"name":"punctuation.brace.open"}},"endCaptures":{"1":{"name":"punctuation.brace.close"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}}]},"inline-element":{"name":"meta.tag.inline.any.html","begin":"(\u003c/?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)(?=\\s|\\\\|\u003e))","end":"((?: ?/)?\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.inline.any.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},"raw-go":{"name":"raw-go.templ","begin":"{{","end":"}}","patterns":[{"include":"source.go"}],"beginCaptures":{"0":{"name":"start.raw-go.templ"},"1":{"name":"punctuation.brace.open"}},"endCaptures":{"0":{"name":"end.raw-go.templ"},"1":{"name":"punctuation.brace.open"}}},"script-element":{"name":"meta.tag.script.html","begin":"(\u003c)(script)([^\u003e]*)(\u003e)","end":"\u003c/script\u003e","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"0":{"patterns":[{"include":"#close-element"}]}}},"script-template":{"name":"script-template.templ","begin":"^(script) ([A-z_][A-z_0-9]*\\()","end":"(?\u003c=^}$)","patterns":[{"name":"params.script-template.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"block.script-template.templ","begin":"(?\u003c=\\))\\s*({)$","end":"^(})$","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}},"sgml":{"name":"meta.tag.sgml.html","begin":"\u003c!","end":"\u003e","patterns":[{"name":"meta.tag.sgml.doctype.html","begin":"(?i:DOCTYPE)","end":"(?=\u003e)","patterns":[{"name":"string.quoted.double.doctype.identifiers-and-DTDs.html","match":"\"[^\"\u003e]*\""}],"captures":{"1":{"name":"entity.name.tag.doctype.html"}}},{"name":"constant.other.inline-data.html","begin":"\\[CDATA\\[","end":"]](?=\u003e)"},{"name":"invalid.illegal.bad-comments-or-CDATA.html","match":"(\\s*)(?!--|\u003e)\\S(\\s*)"}],"captures":{"0":{"name":"punctuation.definition.tag.html"}}},"string-double-quoted":{"name":"string.quoted.double.html","begin":"\"","end":"\"","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},"string-expression":{"name":"expression.html-template.templ","begin":"{\\s+","end":"}","patterns":[{"include":"source.go"}],"beginCaptures":{"0":{"name":"start.string-expression.templ"}},"endCaptures":{"0":{"name":"end.string-expression.templ"}}},"style-element":{"name":"meta.tag.style.html","begin":"(\u003c)(style)([^\u003e]*)(\u003e)","end":"\u003c/style\u003e","patterns":[{"include":"source.css"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"0":{"patterns":[{"include":"#close-element"}]}}},"switch-expression":{"name":"switch.html-template.templ","begin":"^\\s*switch .+?{$","end":"^\\s*}$","patterns":[{"include":"#template-node"},{"include":"#case-expression"},{"include":"#default-expression"}],"captures":{"0":{"name":"meta.embedded.block.go","patterns":[{"include":"source.go"}]}}},"tag-else-attribute":{"name":"else.attribute.html","begin":"\\s(else)\\s({)$","end":"^\\s*(})$","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"name":"punctuation.brace.open"}},"endCaptures":{"1":{"name":"punctuation.brace.close"}}},"tag-else-if-attribute":{"name":"else-if.attribute.html","begin":"\\s(else if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.else-if.attribute.html","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.brace.open"}}},{"name":"block.else-if.attribute.html","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#tag-stuff"}],"endCaptures":{"1":{"name":"punctuation.brace.close"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"tag-generic-attribute":{"name":"entity.other.attribute-name.html","match":"(?\u003c=[^=])\\b([a-zA-Z0-9:-]+)"},"tag-id-attribute":{"name":"meta.attribute-with-value.id.html","begin":"\\b(id)\\b\\s*(=)","end":"(?!\\G)(?\u003c='|\"|[^\\s\u003c\u003e/])","patterns":[{"name":"string.quoted.double.html","contentName":"meta.toc-list.id.html","begin":"\"","end":"\"","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},{"name":"string.quoted.single.html","contentName":"meta.toc-list.id.html","begin":"'","end":"'","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},{"name":"string.unquoted.html","match":"(?\u003c==)(?:[^\\s{}\u003c\u003e/'\"]|/(?!\u003e))+","captures":{"0":{"name":"meta.toc-list.id.html"}}}],"captures":{"1":{"name":"entity.other.attribute-name.id.html"},"2":{"name":"punctuation.separator.key-value.html"}}},"tag-if-attribute":{"name":"if.attribute.html","begin":"^\\s*(if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.if.attribute.html","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.brace.open"}}},{"name":"block.if.attribute.html","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#tag-stuff"}],"endCaptures":{"1":{"name":"punctuation.brace.close"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"tag-stuff":{"patterns":[{"include":"#tag-id-attribute"},{"include":"#tag-generic-attribute"},{"include":"#string-double-quoted"},{"include":"#string-expression"},{"include":"#tag-if-attribute"},{"include":"#tag-else-if-attribute"},{"include":"#tag-else-attribute"}]},"template-node":{"patterns":[{"include":"#string-expression"},{"include":"#call-expression"},{"include":"#import-expression"},{"include":"#script-element"},{"include":"#style-element"},{"include":"#element"},{"include":"#html-comment"},{"include":"#go-comment-block"},{"include":"#go-comment-double-slash"},{"include":"#sgml"},{"include":"#block-element"},{"include":"#inline-element"},{"include":"#close-element"},{"include":"#else-if-expression"},{"include":"#if-expression"},{"include":"#else-expression"},{"include":"#for-expression"},{"include":"#switch-expression"},{"include":"#raw-go"}]}}}
1
+ {"name":"templ","scopeName":"source.templ","patterns":[{"include":"#script-template"},{"include":"#css-template"},{"include":"#html-template"},{"include":"source.go"}],"repository":{"block-element":{"name":"meta.tag.block.any.html","begin":"(\u003c/?)((?i:address|blockquote|dd|div|section|article|aside|header|footer|nav|menu|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|pre)(?=\\s|\\\\|\u003e))","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.block.any.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},"call-expression":{"name":"call-expression.templ","begin":"({\\!)\\s+","end":"(})","patterns":[{"include":"source.go"}],"beginCaptures":{"0":{"name":"start.call-expression.templ"},"1":{"name":"punctuation.brace.open"}},"endCaptures":{"0":{"name":"end.call-expression.templ"},"1":{"name":"punctuation.brace.close"}}},"case-expression":{"begin":"^\\s*case .+?:$","end":"(^\\s*case .+?:$)|(^\\s*default:$)|(\\s*$)","patterns":[{"include":"#template-node"}],"captures":{"0":{"name":"case.switch.html-template.templ","patterns":[{"include":"source.go"}]}}},"close-element":{"name":"meta.tag.other.html","begin":"(\u003c/?)([a-zA-Z0-9:\\-]+)","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.other.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},"css-template":{"name":"css-template.templ","begin":"^(css) ([A-z_][A-z_0-9]*\\()","end":"(?\u003c=^}$)","patterns":[{"name":"params.css-template.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"block.css-template.templ","begin":"(?\u003c=\\))\\s*({)$","end":"^(})$","patterns":[{"name":"property.css-template.templ","begin":"\\s*((?:-(?:webkit|moz|o|ms|khtml)-)?(?:zoom|z-index|y|x|writing-mode|wrap|wrap-through|wrap-inside|wrap-flow|wrap-before|wrap-after|word-wrap|word-spacing|word-break|word|will-change|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|vector-effect|variant|user-zoom|user-select|up|unicode-(bidi|range)|trim|translate|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform-box|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-underline-position|text-transform|text-spacing|text-space-trim|text-space-collapse|text-size-adjust|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-orientation|text-justify|text-indent|text-height|text-emphasis-style|text-emphasis-skip|text-emphasis-position|text-emphasis-color|text-emphasis|text-decoration-style|text-decoration-stroke|text-decoration-skip|text-decoration-line|text-decoration-fill|text-decoration-color|text-decoration|text-combine-upright|text-anchor|text-align-last|text-align-all|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|system|symbols|suffix|style-type|style-position|style-image|style|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|string-set|stretch|stress|stop-opacity|stop-color|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak-as|speak|span|spacing|space-collapse|space|solid-opacity|solid-color|sizing|size-adjust|size|shape-rendering|shape-padding|shape-outside|shape-margin|shape-inside|shape-image-threshold|shadow|scroll-snap-type|scroll-snap-points-y|scroll-snap-points-x|scroll-snap-destination|scroll-snap-coordinate|scroll-behavior|scale|ry|rx|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-merge|ruby-align|ruby|rows|rotation-point|rotation|rotate|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resolution|resize|reset|replace|repeat|rendering-intent|region-fragment|rate|range|radius|r|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|prefix|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|perspective-origin|perspective|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-inline-start|padding-inline-end|padding-bottom|padding-block-start|padding-block-end|padding|pad|pack|overhang|overflow-y|overflow-x|overflow-wrap|overflow-style|overflow-inline|overflow-block|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset-start|offset-inline-start|offset-inline-end|offset-end|offset-block-start|offset-block-end|offset-before|offset-after|offset|object-position|object-fit|numeral|new|negative|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|motion-rotation|motion-path|motion-offset|motion|model|mix-blend-mode|min-zoom|min-width|min-inline-size|min-height|min-block-size|min|max-zoom|max-width|max-lines|max-inline-size|max-height|max-block-size|max|mask-type|mask-size|mask-repeat|mask-position|mask-origin|mask-mode|mask-image|mask-composite|mask-clip|mask-border-width|mask-border-source|mask-border-slice|mask-border-repeat|mask-border-outset|mask-border-mode|mask-border|mask|marquee-style|marquee-speed|marquee-play-count|marquee-loop|marquee-direction|marquee|marks|marker-start|marker-side|marker-mid|marker-end|marker|margin-top|margin-right|margin-left|margin-inline-start|margin-inline-end|margin-bottom|margin-block-start|margin-block-end|margin|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-snap|line-height|line-grid|line-break|line|lighting-color|level|letter-spacing|length|left-width|left-style|left-color|left|label|kerning|justify-self|justify-items|justify-content|justify|iteration-count|isolation|inline-size|inline-box-align|initial-value|initial-size|initial-letter-wrap|initial-letter-align|initial-letter|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-rendering|image-resolution|image-orientation|image|icon|hyphens|hyphenate-limit-zone|hyphenate-limit-lines|hyphenate-limit-last|hyphenate-limit-chars|hyphenate-character|hyphenate|height|header|hanging-punctuation|grid-template-rows|grid-template-columns|grid-template-areas|grid-template|grid-row-start|grid-row-gap|grid-row-end|grid-row|grid-rows|grid-gap|grid-column-start|grid-column-gap|grid-column-end|grid-column|grid-columns|grid-auto-rows|grid-auto-flow|grid-auto-columns|grid-area|grid|glyph-orientation-vertical|glyph-orientation-horizontal|gap|font-weight|font-variant-position|font-variant-numeric|font-variant-ligatures|font-variant-east-asian|font-variant-caps|font-variant-alternates|font-variant|font-synthesis|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|flow-into|flow-from|flow|flood-opacity|flood-color|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|filter|fill-rule|fill-opacity|fill|family|fallback|enable-background|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cy|cx|cursor|cue-before|cue-after|cue|crop|counter-set|counter-reset|counter-increment|counter|count|corner-shape|corners|continue|content|contain|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-rendering|color-profile|color-interpolation-filters|color-interpolation|color-adjust|color|collapse|clip-rule|clip-path|clip|clear|character|caret-shape|caret-color|caret|caption-side|buffered-rendering|break-inside|break-before|break-after|break|box-suppress|box-snap|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-limit|border-length|border-left-width|border-left-style|border-left-color|border-left|border-inline-start-width|border-inline-start-style|border-inline-start-color|border-inline-start|border-inline-end-width|border-inline-end-style|border-inline-end-color|border-inline-end|border-image-width|border-image-transform|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-clip-top|border-clip-right|border-clip-left|border-clip-bottom|border-clip|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border-block-start-width|border-block-start-style|border-block-start-color|border-block-start|border-block-end-width|border-block-end-style|border-block-end-color|border-block-end|border|bookmark-target|bookmark-level|bookmark-label|bookmark|block-size|binding|bidi|before|baseline-shift|baseline|balance|background-size|background-repeat|background-position-y|background-position-x|background-position-inline|background-position-block|background-position|background-origin|background-image|background-color|background-clip|background-blend-mode|background-attachment|background|backface-visibility|backdrop-filter|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|alt|all|alignment-baseline|alignment-adjust|alignment|align-last|align-self|align-items|align-content|align|after|adjust|additive-symbols)):\\s+","end":"(?\u003c=;$)","patterns":[{"name":"expression.property.css-template.templ","begin":"({)","end":"(})(;)$","patterns":[{"include":"source.go"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"},"2":{"name":"punctuation.terminator.rule.css"}}},{"name":"constant.property.css-template.templ","match":"(.*)(;)$","captures":{"1":{"name":"support.type.property-value.css"},"2":{"name":"punctuation.terminator.rule.css"}}}],"beginCaptures":{"1":{"name":"support.type.property-name.css"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}},"default-expression":{"begin":"^\\s*default:$","end":"(^\\s*case .+?:$)|(^\\s*default:$)|(\\s*$)","patterns":[{"include":"#template-node"}],"captures":{"0":{"name":"default.switch.html-template.templ","patterns":[{"include":"source.go"}]}}},"element":{"name":"meta.tag.any.html","begin":"(\u003c)([a-zA-Z0-9:\\-]++)(?=[^\u003e]*\u003e\u003c/\\2\u003e)","end":"(\u003e(\u003c)/)(\\2)(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"meta.scope.between-tag-pair.html"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.html"}}},"else-expression":{"name":"else.html-template.templ","begin":"\\s+(else)\\s+({)\\s*$","end":"^\\s*(})$","patterns":[{"include":"#template-node"}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}},"else-if-expression":{"name":"else-if.html-template.templ","begin":"\\s(else if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.else-if.html-template.templ","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}}},{"name":"block.else-if.html-template.templ","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#template-node"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"entities":{"patterns":[{"name":"constant.character.entity.html","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#[xX][0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}}},{"name":"invalid.illegal.bad-ampersand.html","match":"\u0026"}]},"for-expression":{"name":"for.html-template.templ","begin":"^\\s*for .+{","end":"\\s*}\\s*\n","patterns":[{"include":"#template-node"}],"captures":{"0":{"name":"meta.embedded.block.go","patterns":[{"include":"source.go"}]}}},"go-comment-block":{"name":"comment.block.go","begin":"(\\/\\*)","end":"(\\*\\/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.go"}}},"go-comment-double-slash":{"name":"comment.line.double-slash.go","begin":"(\\/\\/)","end":"(?:\\n|$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}}},"html-comment":{"name":"comment.block.html","begin":"\u003c!--","end":"--\u003e","beginCaptures":{"0":{"name":"punctuation.definition.comment.html"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.html"}}},"html-template":{"name":"html-template.templ","begin":"^(templ) ((?:\\((?:[A-Za-z_][A-Za-z_0-9]*\\s+\\*?[A-Za-z_][A-Za-z_0-9]*|\\*?[A-Za-z_][A-Za-z_0-9]*)\\)\\s*)?[A-Za-z_][A-Za-z_0-9]*(\\(|\\[))","end":"(?\u003c=^}$)","patterns":[{"name":"params.html-template.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"type-params.html-template.templ","begin":"(?\u003c=\\[)","end":"(\\])","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.square.go"}}},{"name":"block.html-template.templ","begin":"(?\u003c=\\))\\s*({)$","end":"^(})$","patterns":[{"include":"#template-node"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}},"if-expression":{"name":"if.html-template.templ","begin":"^\\s*(if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.if.html-template.templ","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}}},{"name":"block.if.html-template.templ","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#template-node"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"import-expression":{"patterns":[{"name":"import-expression.templ","begin":"(@)((?:[A-z_][A-z_0-9]*\\.)?[A-z_][A-z_0-9]*(?:\\(|{|$))","end":"(?\u003c=\\))$|(?\u003c=})$|(?\u003c=$)","patterns":[{"name":"struct-method.import-expression.templ","begin":"(?\u003c=[A-z_0-9]{)","end":"\\s*(})(\\.[A-z_][A-z_0-9]*\\()","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"},"2":{"patterns":[{"include":"source.go"}]}}},{"name":"params.import-expression.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"children.import-expression.templ","begin":"(?\u003c=\\))\\s({)$","end":"^\\s*(})$","patterns":[{"include":"#template-node"}],"beginCaptures":{"1":{"name":"punctuation.brace.open"}},"endCaptures":{"1":{"name":"punctuation.brace.close"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}}]},"inline-element":{"name":"meta.tag.inline.any.html","begin":"(\u003c/?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)(?=\\s|\\\\|\u003e))","end":"((?: ?/)?\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.inline.any.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},"raw-go":{"name":"raw-go.templ","begin":"{{","end":"}}","patterns":[{"include":"source.go"}],"beginCaptures":{"0":{"name":"start.raw-go.templ"},"1":{"name":"punctuation.brace.open"}},"endCaptures":{"0":{"name":"end.raw-go.templ"},"1":{"name":"punctuation.brace.open"}}},"script-element":{"name":"meta.tag.script.html","begin":"(\u003c)(script)([^\u003e]*)(\u003e)","end":"\u003c/script\u003e","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"0":{"patterns":[{"include":"#close-element"}]}}},"script-template":{"name":"script-template.templ","begin":"^(script) ([A-z_][A-z_0-9]*\\()","end":"(?\u003c=^}$)","patterns":[{"name":"params.script-template.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"block.script-template.templ","begin":"(?\u003c=\\))\\s*({)$","end":"^(})$","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}},"sgml":{"name":"meta.tag.sgml.html","begin":"\u003c!","end":"\u003e","patterns":[{"name":"meta.tag.sgml.doctype.html","begin":"(?i:DOCTYPE)","end":"(?=\u003e)","patterns":[{"name":"string.quoted.double.doctype.identifiers-and-DTDs.html","match":"\"[^\"\u003e]*\""}],"captures":{"1":{"name":"entity.name.tag.doctype.html"}}},{"name":"constant.other.inline-data.html","begin":"\\[CDATA\\[","end":"]](?=\u003e)"},{"name":"invalid.illegal.bad-comments-or-CDATA.html","match":"(\\s*)(?!--|\u003e)\\S(\\s*)"}],"captures":{"0":{"name":"punctuation.definition.tag.html"}}},"string-double-quoted":{"name":"string.quoted.double.html","begin":"\"","end":"\"","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},"string-expression":{"name":"expression.html-template.templ","begin":"{\\s+","end":"}","patterns":[{"include":"source.go"}],"beginCaptures":{"0":{"name":"start.string-expression.templ"}},"endCaptures":{"0":{"name":"end.string-expression.templ"}}},"style-element":{"name":"meta.tag.style.html","begin":"(\u003c)(style)([^\u003e]*)(\u003e)","end":"\u003c/style\u003e","patterns":[{"include":"source.css"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"0":{"patterns":[{"include":"#close-element"}]}}},"switch-expression":{"name":"switch.html-template.templ","begin":"^\\s*switch .+?{$","end":"^\\s*}$","patterns":[{"include":"#template-node"},{"include":"#case-expression"},{"include":"#default-expression"}],"captures":{"0":{"name":"meta.embedded.block.go","patterns":[{"include":"source.go"}]}}},"tag-else-attribute":{"name":"else.attribute.html","begin":"\\s(else)\\s({)$","end":"^\\s*(})$","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"name":"punctuation.brace.open"}},"endCaptures":{"1":{"name":"punctuation.brace.close"}}},"tag-else-if-attribute":{"name":"else-if.attribute.html","begin":"\\s(else if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.else-if.attribute.html","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.brace.open"}}},{"name":"block.else-if.attribute.html","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#tag-stuff"}],"endCaptures":{"1":{"name":"punctuation.brace.close"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"tag-generic-attribute":{"name":"entity.other.attribute-name.html","match":"(?\u003c=[^=])\\b([a-zA-Z0-9:-]+)"},"tag-id-attribute":{"name":"meta.attribute-with-value.id.html","begin":"\\b(id)\\b\\s*(=)","end":"(?!\\G)(?\u003c='|\"|[^\\s\u003c\u003e/])","patterns":[{"name":"string.quoted.double.html","contentName":"meta.toc-list.id.html","begin":"\"","end":"\"","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},{"name":"string.quoted.single.html","contentName":"meta.toc-list.id.html","begin":"'","end":"'","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},{"name":"string.unquoted.html","match":"(?\u003c==)(?:[^\\s{}\u003c\u003e/'\"]|/(?!\u003e))+","captures":{"0":{"name":"meta.toc-list.id.html"}}}],"captures":{"1":{"name":"entity.other.attribute-name.id.html"},"2":{"name":"punctuation.separator.key-value.html"}}},"tag-if-attribute":{"name":"if.attribute.html","begin":"^\\s*(if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.if.attribute.html","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.brace.open"}}},{"name":"block.if.attribute.html","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#tag-stuff"}],"endCaptures":{"1":{"name":"punctuation.brace.close"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"tag-stuff":{"patterns":[{"include":"#tag-id-attribute"},{"include":"#tag-generic-attribute"},{"include":"#string-double-quoted"},{"include":"#string-expression"},{"include":"#tag-if-attribute"},{"include":"#tag-else-if-attribute"},{"include":"#tag-else-attribute"}]},"template-node":{"patterns":[{"include":"#string-expression"},{"include":"#call-expression"},{"include":"#import-expression"},{"include":"#script-element"},{"include":"#style-element"},{"include":"#element"},{"include":"#html-comment"},{"include":"#go-comment-block"},{"include":"#go-comment-double-slash"},{"include":"#sgml"},{"include":"#block-element"},{"include":"#inline-element"},{"include":"#close-element"},{"include":"#else-if-expression"},{"include":"#if-expression"},{"include":"#else-expression"},{"include":"#for-expression"},{"include":"#switch-expression"},{"include":"#raw-go"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"TMDL","scopeName":"source.tmdl","patterns":[{"include":"#top-level-expressions"},{"include":"#any-level-expressions"},{"include":"#child-level-expressions"},{"include":"#expression-properties"},{"include":"#formatstring-expression"},{"include":"#descriptions"},{"include":"#boolean-properties"},{"include":"#all-properties"},{"include":"#metadata-objects"}],"repository":{"all-properties":{"match":"^(\\s*)(\\w+)(:)([\\s\\S]*)$","captures":{"1":{"name":"whitespace.leading.tmdl"},"2":{"name":"variable.property.tmdl"},"3":{"name":"keyword.operator.colon.tmdl"},"4":{"patterns":[{"include":"#literals"}]}}},"any-level-expressions":{"begin":"^(?i:(\\s*)(Annotation|ExtendedProperty)\\s*)","end":"^(?=\\S)|(?!\\G)","patterns":[{"include":"#expression-object"}],"beginCaptures":{"1":{"name":"whitespace.leading.tmdl"},"2":{"name":"entity.name.tag.any-level-type.tmdl"}}},"base-expression":{"name":"entity.name.function.expression.tmdl","match":"[\\s\\S]+"},"blank-line":{"begin":"^\\s*$","end":"^(?=\\S)|(?!\\G)","patterns":[{"include":"#blank-line"},{"include":"#indented-expression"}]},"boolean-literal":{"patterns":[{"name":"constant.language.boolean.true.tmdl","match":"\\b[tT]rue\\b"},{"name":"constant.language.boolean.false.tmdl","match":"\\b[fF]alse\\b"}]},"boolean-properties":{"match":"^(\\s*)(?i:(ForceUniqueNames|DiscourageImplicitMeasures|DiscourageReportMeasures|DiscourageCompositeModels|DisableSystemDefaultExpression|IsHidden|ShowAsVariationsOnly|IsPrivate|ExcludeFromModelRefresh|SystemManaged|ExcludeFromAutomaticAggregations|IsDataTypeInferred|IsHidden|IsUnique|IsKey|IsNullable|IsDefaultLabel|IsDefaultImage|IsAvailableInMDX|KeepUniqueRows|IsNameInferred|IsDefault|RetainDataTillForceCalculate|IsHidden|IsSimpleMeasure|IsHidden|IsActive|RelyOnReferentialIntegrity|IncludeAll|LegacyRedirects|ReturnErrorValuesAsNull))(?!\\s*:)\\s*$","captures":{"1":{"name":"whitespace.leading.tmdl"},"2":{"name":"variable.property.tmdl"}}},"char-character-escape":{"name":"constant.character.escape.tmdl","match":"\\\\(['\"\\\\0abfnrtv]|x[0-9a-fA-F]{1,4}|u[0-9a-fA-F]{4})"},"char-literal":{"name":"string.quoted.single.tmdl","begin":"'","end":"(\\')|((?:[^\\\\\\n])$)","patterns":[{"include":"#char-character-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.char.begin.tmdl"}},"endCaptures":{"1":{"name":"punctuation.definition.char.end.tmdl"},"2":{"name":"invalid.illegal.newline.tmdl"}}},"child-level-expressions":{"begin":"^(?i:(\\s+)(Measure|CalculationItem|TablePermission|Partition)\\s*)","end":"^(?=\\S)|(?!\\G)","patterns":[{"include":"#expression-object"}],"beginCaptures":{"1":{"name":"whitespace.leading.tmdl"},"2":{"name":"entity.name.tag.child-level-type.tmdl"}}},"delimited-expression":{"begin":"\\s*`{3}\\s*$","end":"\\s*`{3}","patterns":[{"include":"#base-expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.expression.begin.tmdl"}},"endCaptures":{"0":{"name":"punctuation.definition.expression.end.tmdl"}}},"descriptions":{"match":"^(\\s*)(/{3})(.*)$","captures":{"1":{"name":"whitespace.comment.leading.tmdl"},"2":{"name":"comment.leading.tripple-slash.tmdl"},"3":{"name":"comment.line.tmdl"}}},"expression-object":{"begin":"(?:\\b(\\S+)\\b\\s*(=))?(?:(')([\\s\\S]+)(')\\s*(=))?","end":"^(?=\\S)|(?!\\G)","patterns":[{"include":"#delimited-expression"},{"include":"#non-delimited-expression"},{"include":"#base-expression"}],"beginCaptures":{"1":{"name":"keyword.control.unquoted.tmdl"},"2":{"name":"keyword.operator.assignment.tmdl"},"3":{"name":"punctuation.definition.char.begin.tmdl"},"4":{"name":"keyword.control.quoted.single.tmdl"},"5":{"name":"punctuation.definition.char.end.tmdl"},"6":{"name":"keyword.operator.assignment.tmdl"}}},"expression-properties":{"begin":"^(?i:(\\s+)(Expression|Content|Source\\b|LinguisticMetadata|ChangedProperty)\\s*(=))","end":"^(?=\\S)|(?!\\G)","patterns":[{"include":"#delimited-expression"},{"include":"#non-delimited-expression"},{"include":"#base-expression"}],"beginCaptures":{"1":{"name":"whitespace.leading.tmdl"},"2":{"name":"variable.property.expression.tmdl"},"3":{"name":"keyword.operator.assignment.tmdl"}}},"formatstring-expression":{"begin":"^(?i:(\\s+)(FormatString)\\s*(:))","end":"^(?=\\S)|(?!\\G)","patterns":[{"include":"#delimited-expression"},{"include":"#non-delimited-expression"},{"include":"#base-expression"}],"beginCaptures":{"1":{"name":"whitespace.leading.tmdl"},"2":{"name":"variable.property.expression.tmdl"},"3":{"name":"keyword.operator.colon.tmdl"}}},"guid-literal":{"name":"entity.name.type.guid.tmdl","match":"[{]?[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}]?"},"indented-expression":{"begin":"^(\\s*)(?!\\s)","end":"^(?!\\1|\\s*$)","patterns":[{"include":"#base-expression"}]},"literals":{"patterns":[{"include":"#boolean-literal"},{"include":"#guid-literal"},{"include":"#null-literal"},{"include":"#numeric-literal"},{"include":"#string-literal"},{"include":"#char-literal"},{"include":"#type-builtin"},{"include":"#type-name"}]},"metadata-objects":{"match":"^(\\s*)\\b(\\w+)\\b\\s+(?:(')(.+)('))?(?:\\b\\s*(\\S+)\\b)?","captures":{"1":{"name":"whitespace.leading.tmdl"},"2":{"name":"entity.name.tag.object-type.tmdl"},"3":{"name":"punctuation.definition.char.begin.tmdl"},"4":{"name":"keyword.control.quoted.single.tmdl"},"5":{"name":"punctuation.definition.char.end.tmdl"},"6":{"name":"keyword.control.unquoted.tmdl"}}},"non-delimited-expression":{"begin":"\\s*$","end":"^(?=\\S)|(?!\\G)","patterns":[{"include":"#blank-line"},{"include":"#indented-expression"}]},"null-literal":{"name":"constant.language.null.tmdl","match":"(?\u003c!\\.)\\b[nN]ull\\b"},"numeric-literal":{"match":"(?\u003c!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|_)|(?\u003c=[eE])[+-])*","captures":{"0":{"patterns":[{"begin":"(?=.)","end":"$","patterns":[{"match":"(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?((?:(?\u003c=[0-9])|\\.(?=[0-9])))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?((?\u003c!_)([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?([fFdDmM](?!\\w))?$","captures":{"10":{"name":"keyword.operator.arithmetic.tmdl"},"11":{"name":"constant.numeric.decimal.tmdl","patterns":[{"name":"constant.numeric.other.separator.thousands.tmdl","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"12":{"name":"constant.numeric.other.suffix.tmdl"},"2":{"name":"constant.numeric.decimal.tmdl","patterns":[{"name":"constant.numeric.other.separator.thousands.tmdl","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"3":{"name":"constant.numeric.other.separator.thousands.tmdl"},"4":{"name":"constant.numeric.other.separator.decimals.tmdl"},"5":{"name":"constant.numeric.decimal.tmdl","patterns":[{"name":"constant.numeric.other.separator.thousands.tmdl","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"6":{"name":"constant.numeric.other.separator.thousands.tmdl"},"8":{"name":"constant.numeric.other.exponent.tmdl"},"9":{"name":"keyword.operator.arithmetic.tmdl"}}},{"match":"(\\G0[bB])([01_](?:[01_]|((?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]l)|[uU]L)|l[uU]?)|L[uU]?)|[fFdDmM])(?!\\w))?$","captures":{"1":{"name":"constant.numeric.other.preffix.binary.tmdl"},"2":{"name":"constant.numeric.binary.tmdl","patterns":[{"name":"constant.numeric.other.separator.thousands.tmdl","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"3":{"name":"constant.numeric.other.separator.thousands.tmdl"},"4":{"name":"constant.numeric.other.suffix.tmdl"}}},{"match":"(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]l)|[uU]L)|l[uU]?)|L[uU]?)|[fFdDmM])(?!\\w))?$","captures":{"1":{"name":"constant.numeric.other.preffix.hex.tmdl"},"2":{"name":"constant.numeric.hex.tmdl","patterns":[{"name":"constant.numeric.other.separator.thousands.tmdl","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"3":{"name":"constant.numeric.other.separator.thousands.tmdl"},"4":{"name":"constant.numeric.other.suffix.tmdl"}}},{"match":"(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?\u003c!_)([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]l)|[uU]L)|l[uU]?)|L[uU]?)|[fFdDmM])(?!\\w))?$","captures":{"2":{"name":"constant.numeric.decimal.tmdl","patterns":[{"name":"constant.numeric.other.separator.thousands.tmdl","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"3":{"name":"constant.numeric.other.separator.thousands.tmdl"},"5":{"name":"constant.numeric.other.exponent.tmdl"},"6":{"name":"keyword.operator.arithmetic.tmdl"},"7":{"name":"keyword.operator.arithmetic.tmdl"},"8":{"name":"constant.numeric.decimal.tmdl","patterns":[{"name":"constant.numeric.other.separator.thousands.tmdl","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"9":{"name":"constant.numeric.other.suffix.tmdl"}}},{"name":"invalid.illegal.constant.numeric.tmdl","match":"(?:(?:[0-9a-zA-Z_\\.]|_)|(?\u003c=[eE])[+-])+"}]}]}}},"string-character-escape":{"name":"constant.character.escape.tmdl","match":"\\\\(['\"\\\\0abfnrtv]|x[0-9a-fA-F]{1,4}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4})"},"string-literal":{"name":"string.quoted.double.tmdl","begin":"(?\u003c!@)\"","end":"(\")|((?:[^\\\\\\n])$)","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tmdl"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.tmdl"},"2":{"name":"invalid.illegal.newline.tmdl"}}},"top-level-expressions":{"begin":"^(?i:(Expression|DataSource)\\s*)","end":"^(?=\\S)|(?!\\G)","patterns":[{"include":"#expression-object"}],"beginCaptures":{"1":{"name":"storage.type.tmdl"}}},"type-builtin":{"match":"\\b(?i:(bool|byte|char|decimal|double|float|int|long|object|sbyte|short|string|uint|ulong|ushort|void|dynamic))\\b","captures":{"1":{"name":"keyword.type.tmdl"}}},"type-name":{"patterns":[{"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(\\:\\:)","captures":{"1":{"name":"entity.name.type.alias.tmdl"},"2":{"name":"punctuation.separator.coloncolon.tmdl"}}},{"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(\\.)","captures":{"1":{"name":"entity.name.type.tmdl"},"2":{"name":"punctuation.accessor.tmdl"}}},{"match":"(\\.)\\s*(@?[_[:alpha:]][_[:alnum:]]*)","captures":{"1":{"name":"punctuation.accessor.tmdl"},"2":{"name":"entity.name.type.tmdl"}}},{"name":"entity.name.type.tmdl","match":"@?[_[:alpha:]][_[:alnum:]]*"}]}}}
@@ -1 +1 @@
1
- {"name":"TypeSpec","scopeName":"source.tsp","patterns":[{"include":"#statement"}],"repository":{"alias-id":{"name":"meta.alias-id.typespec","begin":"(=)\\s*","end":"(?=,|;|@|\\)|\\}|\\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":"(?=,|;|@|\\)|\\}|\\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:]]|`))|(?=,|;|@|\\)|\\}|\\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":"(?=,|;|@|\\)|\\}|\\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:]]|`))|(?=,|;|@|\\)|\\}|\\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":"(?=,|;|@|\\)|\\}|\\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":"$|(?=,|;|@|\\)|\\}|\\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"}}},"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":"(?=,|;|@|\\)|\\}|\\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=\\})|(?=,|;|@|\\)|\\}|\\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":"(?=,|;|@|\\)|\\}|\\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":"(?=,|;|@|\\)|\\}|\\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":"(?=,|;|@|\\)|\\}|\\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=\\})|(?=,|;|@|\\)|\\}|\\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":"(?=,|;|@|\\)|\\}|\\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=\\})|(?=,|;|@|\\)|\\}|\\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":"((?=\\{)|(?=,|;|@|\\)|\\}|\\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=\\})|(?=,|;|@|\\)|\\}|\\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":"(?=,|;|@|\\)|\\}|\\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":"(?=,|;|@|\\)|\\}|\\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":"(?=,|;|@|\\)|\\}|\\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":"(?=,|;|@|\\)|\\}|\\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=\\})|(?=,|;|@|\\)|\\}|\\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":"(?=,|;|@|\\)|\\}|\\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)|(?=,|;|@|\\)|\\}|\\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)|(?=,|;|@|\\)|\\}|\\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)|(?=,|;|@|\\)|\\}|\\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)|(?=,|;|@|\\)|\\}|\\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)|(?=,|;|@|\\)|\\}|\\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=\\})|(?=,|;|@|\\)|\\}|\\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":"(?=,|;|@|\\)|\\}|\\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":"(?=,|;|@|\\)|\\}|\\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)|(?=,|;|@|\\)|\\}|\\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)\\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"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"Tab-separated values","scopeName":"source.tsv","patterns":[{"include":"#main"}],"repository":{"escapes":{"patterns":[{"name":"constant.character.escape.tab.tsv","match":"(\\\\)t","captures":{"1":{"name":"punctuation.definition.escape.backslash.tsv"}}},{"name":"constant.character.escape.backslash.tsv","match":"(\\\\)\\\\","captures":{"1":{"name":"punctuation.definition.escape.backslash.tsv"}}},{"name":"constant.character.escape.line-feed.tsv","match":"(\\\\)n","captures":{"1":{"name":"punctuation.definition.escape.backslash.tsv"}}},{"name":"constant.character.escape.carriage-return.tsv","match":"(\\\\)r","captures":{"1":{"name":"punctuation.definition.escape.backslash.tsv"}}}]},"field":{"patterns":[{"name":"constant.numeric.decimal.tsv","match":"^[-+]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)$"},{"match":"(?i)^(?:(true|yes|on)|(false|no|off))$","captures":{"1":{"name":"constant.language.boolean.true.tsv"},"2":{"name":"constant.language.boolean.false.tsv"}}},{"name":"support.constant.language.null.tsv","match":"^(\\\\)N$","captures":{"1":{"name":"punctuation.definition.null.backslash.tsv"}}},{"name":"string.unquoted.other.tsv","match":"^.+$","captures":{"0":{"patterns":[{"include":"#escapes"}]}}}]},"header":{"begin":"\\A","end":"(?!\\G)","patterns":[{"begin":"\\G(?=\\s*$)","end":"\\s*(?=\\S)"},{"name":"meta.table.header.tsv","begin":"(?=\\S)(?=.*\\t)","end":"$","patterns":[{"name":"entity.name.column.tsv","match":"[^\\t\\r\\n]+"},{"include":"#separator"}]}],"applyEndPatternLast":true},"main":{"patterns":[{"include":"#header"},{"include":"#record"}]},"record":{"name":"meta.table.record.tsv","begin":"^(?=.*\\t)","end":"$","patterns":[{"match":"[^\\t\\r\\n]+","captures":{"0":{"patterns":[{"include":"#field"}]}}},{"include":"#separator"}]},"separator":{"name":"punctuation.whitespace.separator.tab.tsv","match":"\\t"}}}
@@ -0,0 +1 @@
1
+ {"name":"Visual Basic 6","scopeName":"source.vb6","patterns":[{"include":"#module_metadata"},{"include":"#comments"},{"include":"#functions"},{"include":"#keywords"},{"include":"#numbers"},{"include":"#storage"},{"include":"#strings"},{"include":"#types"},{"name":"constant.other.vb6","match":"_(?=\\s*\\n)"}],"repository":{"comments":{"begin":"(?=')|(?:^(?:(\\d*)\\s*|[a-zA-Z][a-zA-Z0-9]{0,254}:\\s*)|:\\s*)(?=(?i:Rem ))","end":"(?\u003c!\\s_)$\\n","patterns":[{"name":"comment.line.quote","match":"\\'.*"},{"name":"comment.line.rem","match":"Rem .*"},{"name":"comment.line.continuation","match":"^.*"}],"beginCaptures":{"1":{"name":"constant.numeric.decimal"}}},"functions":{"begin":"(?i:\\b(Call|Function|Sub) )","end":"\\(|(?=\\n)","patterns":[{"name":"entity.name.function.vb6","match":"(?i:\\b([a-zA-Z][a-zA-Z0-9_]*)\\b)"}],"beginCaptures":{"1":{"name":"keyword.other.vb6"}}},"keywords":{"patterns":[{"name":"keyword.conditional.vb6","match":"(?i:\\b(Do( While| Until)?|While|Case( Else)?|Else(If)?|For( Each)?|(I)?If|In|New|(Select )?Case|Then|To|Step|With)\\b)"},{"name":"keyword.conditional.end.vb6","match":"(?i:\\b(End( )?If|End (Select|With)|Next|Wend|Loop( While| Until)?|Exit (For|Do|While))\\b)"},{"name":"keyword.control.vb6","match":"(?i:\\b(Exit (Function|Property|Sub)|As|And|By(Ref|Val)|Goto|Is|Like|Mod|Not|On Error|Optional|Or|Resume Next|Stop|Xor|Eqv|Imp|TypeOf|AddressOf)\\b|(\\b(End)\\b(?=\\n)))"},{"name":"keyword.io.vb6","match":"(?i:\\b(Open|Close|Line Input|Lock|Unlock|Print|Seek|Get|Put|Write)\\b)"},{"name":"keyword.io.vb6","match":"(?i:\\b(Input)(?= \\#))"},{"name":"keyword.other.vb6","match":"(?i:\\b(Attribute|Call|End (Function|Property|Sub|Type|Enum)|(Const|Function|Property|Sub|Type|Enum)|Declare|WithEvents|Event|RaiseEvent|Implements)\\b)"},{"name":"keyword.other.option.vb6","match":"(?i)\\bOption (Base [01]|Compare (Binary|Text)|Explicit)\\b"},{"name":"keyword.other.deftype.vb6","match":"(?i)\\b(DefBool|DefByte|DefInt|DefLng|DefLngLng|DefLngPtr|DefCur|DefSng|DefDbl|DefDec|DefDate|DefStr|DefObj|DefVar)\\b"},{"name":"keyword.other.visibility.vb6","match":"(?i:\\b(Private|Public|Global|Friend)\\b)"},{"name":"constant.language.vb6","match":"(?i)\\b(Empty|False|Nothing|Null|True)\\b"}]},"module_metadata":{"patterns":[{"include":"#comments"},{"include":"#module_version"},{"include":"#attribute_block"}],"repository":{"attribute_block":{"name":"meta.module.block.vb6","begin":"(?i)^\\s*(BEGIN)\\b","end":"(?i)^\\s*(END)\\b","patterns":[{"include":"source.vb6"}],"beginCaptures":{"0":{"name":"keyword.other.vb6"}},"endCaptures":{"0":{"name":"keyword.other.vb6"}}},"module_version":{"name":"meta.module.header.vb6","match":"(?i)^VERSION\\s+([.\\d]+)\\s+CLASS","captures":{"1":{"patterns":[{"include":"#numbers"}]}}}}},"numbers":{"patterns":[{"name":"constant.numeric.date","match":"(?i)\\#((Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)|[0-9]{1,2})(-|\\/)[0-9]{1,2}((-|\\/)[0-9]{1,4})?\\#"},{"name":"constant.numeric.decimal","match":"(?\u003c!\\w)-?\\d+(\\.\\d+)?"},{"name":"constant.numeric.octal","match":"(?i)-?\u0026O[0-7]+"},{"name":"constant.numeric.hexadecimal","match":"(?i)-?\u0026H[0-9A-F]+"}]},"storage":{"patterns":[{"name":"storage.modifier.vb6","match":"(?i)\\b(Class|Const|Dim|(G|L|S)et|ReDim( Preserve)?|Erase|Static)\\b"}]},"strings":{"patterns":[{"name":"string.quoted.double","match":"\\\"[^\\n\\r\\\"]*\""}]},"types":{"patterns":[{"name":"support.type.builtin.vb6","match":"(?i)\\b(Any|Byte|Boolean|Currency|Collection|Date|Double|Integer|Long|Object|Single|String|Variant)\\b"},{"match":"(?i)(?\u003c= As )([a-zA-Z][a-zA-Z0-9_]*)","captures":{"1":{"name":"support.type"}}}]}}}
@@ -1 +1 @@
1
- {"name":"Visual Basic for Applications","scopeName":"source.vba","patterns":[{"include":"#comments"},{"include":"#functions"},{"include":"#keywords"},{"include":"#metadata"},{"include":"#numbers"},{"include":"#storage"},{"include":"#strings"},{"include":"#types"},{"name":"constant.other.vba","match":"_(?=\\s*\\n)"}],"repository":{"comments":{"begin":"(?=')|(?:^(?:(\\d*)\\s*|[a-zA-Z][a-zA-Z0-9]{0,254}:\\s*)|:\\s*)(?=(?i:Rem ))","end":"(?\u003c!\\s_)$\\n","patterns":[{"name":"comment.line.quote","match":"\\'.*"},{"name":"comment.line.rem","match":"Rem .*"},{"name":"comment.line.continuation","match":"^.*"}],"beginCaptures":{"1":{"name":"constant.numeric.decimal"}}},"functions":{"begin":"(?i:\\b(Call|Function|Sub) )","end":"\\(|(?=\\n)","patterns":[{"name":"entity.name.function.vba","match":"(?i:\\b([a-zA-Z][a-zA-Z0-9_]*)\\b)"}],"beginCaptures":{"1":{"name":"keyword.other.vba"}}},"keywords":{"patterns":[{"name":"keyword.conditional.vba","match":"(?i:\\b(Do( While| Until)?|While|Case( Else)?|Else(If)?|For( Each)?|(I)?If|In|New|(Select )?Case|Then|To|Step|With)\\b)"},{"name":"keyword.conditional.end.vba","match":"(?i:\\b(End( )?If|End (Select|With)|Next|Wend|Loop( While| Until)?|Exit (For|Do|While))\\b)"},{"name":"keyword.control.vba","match":"(?i:\\b(Exit (Function|Property|Sub)|As|And|By(Ref|Val)|Goto|Is|Like|Mod|Not|On Error|Optional|Or|Resume Next|Stop|Xor|Eqv|Imp|TypeOf|AddressOf)\\b|(\\b(End)\\b(?=\\n)))"},{"name":"keyword.io.vba","match":"(?i:\\b(Open|Close|Line Input|Lock|Unlock|Print|Seek|Get|Put|Write)\\b)"},{"name":"keyword.io.vba","match":"(?i:\\b(Input)(?= \\#))"},{"name":"keyword.other.vba","match":"(?i:\\b(Attribute|Call|End (Function|Property|Sub|Type|Enum)|(Const|Function|Property|Sub|Type|Enum)|Declare|PtrSafe|WithEvents|Event|RaiseEvent|Implements)\\b)"},{"name":"keyword.other.option.vba","match":"(?i)\\bOption (Base [01]|Compare (Binary|Text)|Explicit|Private Module)\\b"},{"name":"keyword.other.deftype.vba","match":"(?i)\\b(DefBool|DefByte|DefInt|DefLng|DefLngLng|DefLngPtr|DefCur|DefSng|DefDbl|DefDec|DefDate|DefStr|DefObj|DefVar)\\b"},{"name":"keyword.other.visibility.vba","match":"(?i:\\b(Private|Public|Global|Friend)\\b)"},{"name":"constant.language.vba","match":"(?i)\\b(Empty|False|Nothing|Null|True)\\b"}]},"metadata":{"name":"metadata.vba","begin":"(?i)^\\s*(BEGIN)\\b","end":"(?i)^\\s*(END)\\b","patterns":[{"include":"source.vba"}],"beginCaptures":{"1":{"name":"keyword.metadata.vba"}},"endCaptures":{"0":{"name":"keyword.metadata.vba"}}},"numbers":{"patterns":[{"name":"constant.numeric.date","match":"(?i)\\#((Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)|[0-9]{1,2})(-|\\/)[0-9]{1,2}((-|\\/)[0-9]{1,4})?\\#"},{"name":"constant.numeric.decimal","match":"(?\u003c!\\w)-?\\d+(\\.\\d+)?"},{"name":"constant.numeric.octal","match":"(?i)-?\u0026O[0-7]+"},{"name":"constant.numeric.hexadecimal","match":"(?i)-?\u0026H[0-9A-F]+"}]},"storage":{"patterns":[{"name":"storage.modifier.vba","match":"(?i)\\b(Class|Const|Dim|(G|L|S)et|ReDim( Preserve)?|Erase|Static)\\b"}]},"strings":{"patterns":[{"name":"string.quoted.double","match":"\\\"[^\\n\\r\\\"]*\""}]},"types":{"patterns":[{"name":"support.type.builtin.vba","match":"(?i)\\b(Any|Byte|Boolean|Currency|Collection|Date|Double|Integer|Long(Long|Ptr)?|Object|Single|String|Variant)\\b"},{"match":"(?i)(?\u003c= As )([a-zA-Z][a-zA-Z0-9_]*)","captures":{"1":{"name":"support.type"}}}]}}}
1
+ {"name":"Visual Basic for Applications","scopeName":"source.vba","patterns":[{"include":"#keywords"},{"include":"#types"},{"include":"source.vb6"}],"repository":{"keywords":{"patterns":[{"name":"keyword.other.vba","match":"(?i)\\bPtrSafe\\b"},{"name":"keyword.other.option.vba","match":"(?i)\\bOption (Compare Database|Private Module)\\b"}]},"types":{"patterns":[{"name":"support.type.builtin.vba","match":"(?i)(?\u003c= As )(LongLong|LongPtr)\\b"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"Varnish Configuration Language","scopeName":"source.vcl","patterns":[{"include":"#macros"},{"include":"#comments"},{"include":"#constants"},{"include":"#functions"},{"include":"#keywords"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"repository":{"comments":{"patterns":[{"name":"comment.line.number-sign.vcl","match":"#.*"},{"name":"comment.line.double-slash.vcl","match":"//.*"},{"name":"comment.line.block.vcl","begin":"/\\*","end":"\\*/"}]},"constants":{"patterns":[{"name":"constant.numeric.vcl","match":"\\b-?[0-9]+(\\.[0-9])?\\s*(ms|s|m|h|d|w|y)\\b"},{"name":"constant.numeric.vcl","match":"\\b-?[0-9]+(\\.[0-9])?\\s*%"},{"name":"constant.numeric.vcl","match":"\\b-?[0-9]+(\\.[0-9])?(e[+-]?[0-9]+)?\\b"},{"name":"constant.numeric.vcl","match":"\\b-?0x[0-9A-Fa-f]+(\\.[0-9A-Fa-f]+)?(p[+-]?[0-9]+)?\\b\\b"},{"name":"constant.language.vcl","match":"\\b(always|false|true)\\b"}]},"functions":{"patterns":[{"name":"entity.name.function.vcl","match":"\\b(accept\\.charset_lookup|accept\\.encoding_lookup|accept\\.language_filter_basic|accept\\.language_lookup|accept\\.media_lookup)\\b"},{"name":"entity.name.function.vcl","match":"\\b(bin\\.base64_to_hex|bin\\.hex_to_base64|crypto\\.decrypt_base64|crypto\\.decrypt_hex|crypto\\.encrypt_base64|crypto\\.encrypt_hex|digest\\.awsv4_hmac|digest\\.base64_decode|digest\\.base64|digest\\.base64url_decode|digest\\.base64url_nopad|digest\\.base64url_nopad_decode|digest\\.base64url|digest\\.ecdsa_verify|digest\\.hash_crc32|digest\\.hash_crc32b|digest\\.hash_md5|digest\\.hash_sha1_from_base64|digest\\.hash_sha1|digest\\.hash_sha224|digest\\.hash_sha256_from_base64|digest\\.hash_sha256|digest\\.hash_sha384|digest\\.hash_sha512_from_base64|digest\\.hash_sha512|digest\\.hmac_md5_base64|digest\\.hmac_md5|digest\\.hmac_sha1_base64|digest\\.hmac_sha1|digest\\.hmac_sha256_base64|digest\\.hmac_sha256|digest\\.hmac_sha512_base64|digest\\.hmac_sha512|digest\\.rsa_verify|digest\\.secure_is_equal|digest\\.time_hmac_md5|digest\\.time_hmac_sha1|digest\\.time_hmac_sha256|digest\\.time_hmac_sha512)\\b"},{"name":"entity.name.function.vcl","match":"\\b(parse_time_delta|std\\.integer2time|std\\.time|strftime|time\\.add|time\\.hex_to_time|time\\.is_after|time\\.runits|time\\.sub|time\\.units)\\b"},{"name":"entity.name.function.vcl","match":"\\b(math\\.is_finite|math\\.is_infinite|math\\.is_nan|math\\.is_normal|math\\.is_subnormal)\\b"},{"name":"entity.name.function.vcl","match":"\\b(math\\.exp|math\\.exp2|math\\.log10|math\\.log2|math\\.log)\\b"},{"name":"entity.name.function.vcl","match":"\\b(math\\.ceil|math\\.floor|math\\.roundeven|math\\.roundhalfdown|math\\.roundhalfup|math\\.round|math\\.trunc)\\b"},{"name":"entity.name.function.vcl","match":"\\b(math\\.acosh|math\\.acos|math\\.asinh|math\\.asin|math\\.atan2|math\\.atanh|math\\.atan|math\\.cosh|math\\.cos|math\\.sinh|math\\.sin|math\\.sqrt|math\\.tanh|math\\.tan)\\b"},{"name":"entity.name.function.vcl","match":"\\b(addr\\.extract_bits|addr\\.is_ipv4|addr\\.is_ipv6|fastly\\.hash|fastly\\.try_select_shield|http_status_matches|resp\\.tarpit|setcookie\\.delete_by_name|setcookie\\.get_value_by_name|std\\.collect|std\\.count|std\\.strcasecmp|subfield)\\b"},{"name":"entity.name.function.vcl","match":"\\b(boltsort\\.sort|querystring\\.add|querystring\\.clean|querystring\\.filter_except|querystring\\.filter|querystring\\.filtersep|querystring\\.get|querystring\\.globfilter_except|querystring\\.globfilter|querystring\\.regfilter_except|querystring\\.regfilter|querystring\\.remove|querystring\\.set|querystring\\.sort)\\b"},{"name":"entity.name.function.vcl","match":"\\b(randombool_seeded|randombool|randomint_seeded|randomint|randomstr)\\b"},{"name":"entity.name.function.vcl","match":"\\b(ratelimit\\.check_rates|ratelimit\\.check_rate|ratelimit\\.penaltybox_add|ratelimit\\.penaltybox_has|ratelimit\\.ratecounter_increment)\\b"},{"name":"entity.name.function.vcl","match":"\\b(cstr_escape|json\\.escape|regsub|regsuball|std\\.anystr2ip|std\\.atof|std\\.atoi|std\\.basename|std\\.dirname|std\\.ip2str|std\\.ip|std\\.itoa|std\\.itoa_charset|std\\.prefixof|std\\.replace|std\\.replace_prefix|std\\.replace_suffix|std\\.replaceall|std\\.str2ip|std\\.strlen|std\\.strpad|std\\.strrep|std\\.strrev|std\\.strstr|std\\.strtof|std\\.strtol|std\\.suffixof|std\\.tolower|std\\.toupper|substr|urldecode|urlencode|utf8\\.codepoint_count|utf8\\.is_valid|utf8\\.strpad|utf8\\.substr|xml_escape)\\b"},{"name":"entity.name.function.vcl","match":"\\b(early_hints|h2\\.disable_header_compression|h2\\.push|h3\\.alt_svc)\\b"},{"name":"entity.name.function.vcl","match":"\\b(table\\.contains|table\\.lookup_acl|table\\.lookup_backend|table\\.lookup_bool|table\\.lookup_float|table\\.lookup_integer|table\\.lookup_ip|table\\.lookup_rtime|table\\.lookup)\\b"},{"name":"entity.name.function.vcl","match":"\\b(uuid\\.dns|uuid\\.is_valid|uuid\\.is_version3|uuid\\.is_version4|uuid\\.is_version5|uuid\\.is_version7|uuid\\.oid|uuid\\.url|uuid\\.version3|uuid\\.version4|uuid\\.version5|uuid\\.version7|uuid\\.x500)\\b"},{"name":"support.variable.vcl","match":"\\b(re\\.group\\.[0-9])\\b"},{"name":"support.variable.vcl","match":"\\b(backend\\.conn\\.is_tls|backend\\.conn\\.tls_protocol|backend\\.socket\\.congestion_algorithm|backend\\.socket\\.cwnd|backend\\.socket\\.tcpi_advmss|backend\\.socket\\.tcpi_bytes_acked|backend\\.socket\\.tcpi_bytes_received|backend\\.socket\\.tcpi_data_segs_in|backend\\.socket\\.tcpi_data_segs_out|backend\\.socket\\.tcpi_delivery_rate|backend\\.socket\\.tcpi_delta_retrans|backend\\.socket\\.tcpi_last_data_sent|backend\\.socket\\.tcpi_max_pacing_rate|backend\\.socket\\.tcpi_min_rtt|backend\\.socket\\.tcpi_notsent_bytes|backend\\.socket\\.tcpi_pacing_rate|backend\\.socket\\.tcpi_pmtu|backend\\.socket\\.tcpi_rcv_mss|backend\\.socket\\.tcpi_rcv_rtt|backend\\.socket\\.tcpi_rcv_space|backend\\.socket\\.tcpi_rcv_ssthresh|backend\\.socket\\.tcpi_reordering|backend\\.socket\\.tcpi_rtt|backend\\.socket\\.tcpi_rttvar|backend\\.socket\\.tcpi_segs_in|backend\\.socket\\.tcpi_segs_out|backend\\.socket\\.tcpi_snd_cwnd|backend\\.socket\\.tcpi_snd_mss|backend\\.socket\\.tcpi_snd_ssthresh|backend\\.socket\\.tcpi_total_retrans|backend\\.{NAME}\\.connections_open|backend\\.{NAME}\\.connections_used|backend\\.{NAME}\\.healthy|bereq\\.between_bytes_timeout|bereq\\.connect_timeout|bereq\\.first_byte_timeout|beresp\\.backend\\.alternate_ips|beresp\\.backend\\.ip|beresp\\.backend\\.port|beresp\\.backend\\.requests|beresp\\.backend\\.src_ip|beresp\\.handshake_time_to_origin_ms|beresp\\.used_alternate_path_to_origin|req\\.backend\\.healthy|req\\.backend.ip|req\\.backend\\.is_origin|req\\.backend\\.is_shield|req\\.backend)\\b"},{"name":"support.variable.vcl","match":"\\b(bereq\\.body_bytes_written|bereq\\.bytes_written|bereq\\.header_bytes_written|bereq\\.is_clustering|bereq\\.method|bereq\\.proto|bereq\\.request|bereq\\.url\\.basename|bereq\\.url\\.dirname|bereq\\.url\\.ext|bereq\\.url\\.path|bereq\\.url\\.qs|bereq\\.url)\\b"},{"name":"support.variable.vcl","match":"\\b(beresp\\.backend\\.name|beresp\\.brotli|beresp\\.cacheable|beresp\\.do_stream|beresp\\.grace|beresp\\.gzip|beresp\\.hipaa|beresp\\.pci|beresp\\.proto|beresp\\.response|beresp\\.saintmode|beresp\\.stale_if_error|beresp\\.stale_while_revalidate|beresp\\.status|beresp\\.ttl)\\b"},{"name":"support.variable.vcl","match":"\\b(obj\\.age|obj\\.cacheable|obj\\.entered|obj\\.grace|obj\\.hits|obj\\.is_pci|obj\\.lastuse|obj\\.proto|obj\\.response|obj\\.stale_if_error|obj\\.stale_while_revalidate|obj\\.status|obj\\.ttl|req\\.digest\\.ratio|req\\.digest|req\\.hash|stale\\.exists)\\b"},{"name":"support.variable.vcl","match":"\\b(client\\.as\\.name|client\\.as\\.number|client\\.identity|client\\.ip|client\\.port|client\\.requests|client\\.socket\\.congestion_algorithm|client\\.socket\\.cwnd|client\\.socket\\.nexthop|client\\.socket\\.pace|client\\.socket\\.ploss|client\\.socket\\.tcp_info|client\\.socket\\.tcpi_advmss|client\\.socket\\.tcpi_bytes_acked|client\\.socket\\.tcpi_bytes_received|client\\.socket\\.tcpi_data_segs_in|client\\.socket\\.tcpi_data_segs_out|client\\.socket\\.tcpi_delivery_rate|client\\.socket\\.tcpi_delta_retrans|client\\.socket\\.tcpi_last_data_sent|client\\.socket\\.tcpi_max_pacing_rate|client\\.socket\\.tcpi_min_rtt|client\\.socket\\.tcpi_notsent_bytes|client\\.socket\\.tcpi_pacing_rate|client\\.socket\\.tcpi_pmtu|client\\.socket\\.tcpi_rcv_mss|client\\.socket\\.tcpi_rcv_rtt|client\\.socket\\.tcpi_rcv_space|client\\.socket\\.tcpi_rcv_ssthresh|client\\.socket\\.tcpi_reordering|client\\.socket\\.tcpi_rtt|client\\.socket\\.tcpi_rttvar|client\\.socket\\.tcpi_segs_in|client\\.socket\\.tcpi_segs_out|client\\.socket\\.tcpi_snd_cwnd|client\\.socket\\.tcpi_snd_mss|client\\.socket\\.tcpi_snd_ssthresh|client\\.socket\\.tcpi_total_retrans|fastly_info\\.edge\\.is_tls|fastly_info\\.h2\\.stream_id|fastly_info\\.is_h2|fastly_info\\.is_h3|quic\\.cc\\.cwnd|quic\\.cc\\.ssthresh|quic\\.num_bytes\\.received|quic\\.num_bytes\\.sent|quic\\.num_packets\\.ack_received|quic\\.num_packets\\.decryption_failed|quic\\.num_packets\\.late_acked|quic\\.num_packets\\.lost|quic\\.num_packets\\.received|quic\\.num_packets\\.sent|quic\\.rtt\\.latest|quic\\.rtt\\.minimum|quic\\.rtt\\.smoothed|quic\\.rtt\\.variance|req\\.is_ipv6|req\\.is_ssl|req\\.protocol|tls\\.client\\.cipher|tls\\.client\\.ciphers_list|tls\\.client\\.ciphers_list_sha|tls\\.client\\.ciphers_list_txt|tls\\.client\\.ciphers_sha|tls\\.client\\.handshake_sent_bytes|tls\\.client\\.iana_chosen_cipher_id|tls\\.client\\.ja3_md5|tls\\.client\\.protocol|tls\\.client\\.servername|tls\\.client\\.tlsexts_list|tls\\.client\\.tlsexts_list_sha|tls\\.client\\.tlsexts_list_txt|tls\\.client\\.tlsexts_sha|transport\\.bw_estimate|transport\\.type)\\b"},{"name":"support.variable.vcl","match":"\\b(client\\.bot\\.name|client\\.browser\\.name|client\\.browser\\.version|client\\.class\\.bot|client\\.class\\.browser|client\\.class\\.checker|client\\.class\\.downloader|client\\.class\\.feedreader|client\\.class\\.filter|client\\.class\\.masquerading|client\\.class\\.spam|client\\.display\\.height|client\\.display\\.ppi|client\\.display\\.touchscreen|client\\.display\\.width|client\\.identified|client\\.os\\.name|client\\.os\\.version|client\\.platform\\.ereader|client\\.platform\\.gameconsole|client\\.platform\\.hwtype|client\\.platform\\.mediaplayer|client\\.platform\\.mobile|client\\.platform\\.smarttv|client\\.platform\\.tablet|client\\.platform\\.tvplayer|fastly_info\\.h2\\.is_push|fastly_info\\.host_header|req\\.body\\.base64|req\\.body_bytes_read|req\\.body|req\\.bytes_read|req\\.enable_range_on_pass|req\\.enable_segmented_caching|req\\.hash_always_miss|req\\.hash_ignore_busy|req\\.header_bytes_read|req\\.is_background_fetch|req\\.is_purge|req\\.method|req\\.postbody|req\\.proto|req\\.request|req\\.url\\.basename|req\\.url\\.dirname|req\\.url\\.ext|req\\.url\\.path|req\\.url\\.qs|req\\.url|req\\.xid|time\\.elapsed\\.msec|time\\.elapsed\\.msec_frac|time\\.elapsed\\.sec|time\\.elapsed\\.usec|time\\.elapsed\\.usec_frac|time\\.elapsed|time\\.end\\.msec|time\\.end\\.msec_frac|time\\.end\\.sec|time\\.end\\.usec|time\\.end\\.usec_frac|time\\.end|time\\.interval_elapsed_ratio|time\\.start\\.msec|time\\.start\\.msec_frac|time\\.start\\.sec|time\\.start\\.usec|time\\.start\\.usec_frac|time\\.start)\\b"},{"name":"support.variable.vcl","match":"\\b(resp\\.body_bytes_written|resp\\.bytes_written|resp\\.completed|resp\\.header_bytes_written|resp\\.is_locally_generated|resp\\.proto|resp\\.response|resp\\.status|time\\.to_first_byte)\\b"},{"name":"support.variable.vcl","match":"\\b(beresp\\.do_esi|esi\\.allow_inside_cdata|req\\.esi_level|req\\.esi|req\\.is_esi_subreq|req\\.topurl)\\b"},{"name":"support.variable.vcl","match":"\\b(client\\.geo\\.area_code|client\\.geo\\.city\\.ascii|client\\.geo\\.city\\.latin1|client\\.geo\\.city\\.utf8|client\\.geo\\.city|client\\.geo\\.conn_speed|client\\.geo\\.conn_type|client\\.geo\\.continent_code|client\\.geo\\.country_code3|client\\.geo\\.country_code|client\\.geo\\.country_name\\.ascii|client\\.geo\\.country_name\\.latin1|client\\.geo\\.country_name\\.utf8|client\\.geo\\.country_name|client\\.geo\\.gmt_offset|client\\.geo\\.ip_override|client\\.geo\\.latitude|client\\.geo\\.longitude|client\\.geo\\.metro_code|client\\.geo\\.postal_code|client\\.geo\\.proxy_description|client\\.geo\\.proxy_type|client\\.geo\\.region\\.ascii|client\\.geo\\.region\\.latin1|client\\.geo\\.region\\.utf8|client\\.geo\\.region|client\\.geo\\.utc_offset)\\b"},{"name":"support.variable.vcl","match":"\\b(math\\.1_PI|math\\.2PI|math\\.2_PI|math\\.2_SQRTPI|math\\.E|math\\.FLOAT_DIG|math\\.FLOAT_EPSILON|math\\.FLOAT_MANT_DIG|math\\.FLOAT_MAX_10_EXP|math\\.FLOAT_MAX_EXP|math\\.FLOAT_MAX|math\\.FLOAT_MIN_10_EXP|math\\.FLOAT_MIN_EXP|math\\.FLOAT_MIN|math\\.FLOAT_RADIX|math\\.INTEGER_BIT|math\\.INTEGER_MAX|math\\.INTEGER_MIN|math\\.LN10|math\\.LN2|math\\.LOG10E|math\\.LOG2E|math\\.NAN|math\\.NEG_HUGE_VAL|math\\.NEG_INFINITY|math\\.PHI|math\\.PI_2|math\\.PI_4|math\\.PI|math\\.POS_HUGE_VAL|math\\.POS_INFINITY|math\\.SQRT1_2|math\\.SQRT2|math\\.TAU)\\b"},{"name":"support.variable.vcl","match":"\\b(fastly\\.error|fastly\\.ff\\.visits_this_pop_this_service|fastly\\.ff\\.visits_this_service|fastly_info\\.state|req\\.backend\\.ip|req\\.backend\\.name|req\\.backend\\.port|req\\.service_id|req\\.vcl\\.generation|req\\.vcl\\.md5|req\\.vcl\\.version|req\\.vcl|resp\\.stale\\.is_error|resp\\.stale\\.is_revalidating|resp\\.stale|workspace\\.bytes_free|workspace\\.bytes_total|workspace\\.overflowed)\\b"},{"name":"support.variable.vcl","match":"\\b(backend|director)\\.[^.]+\\.healthy\\b"},{"name":"support.variable.vcl","match":"\\b(ratecounter)\\.[^.]+\\.(bucket\\.10s|bucket\\.20s|bucket\\.30s|bucket\\.40s|bucket\\.50s|bucket\\.60s|rate\\.10s|rate\\.1s|rate\\.60s)\\b"},{"name":"support.variable.vcl","match":"\\b(segmented_caching\\.autopurged|segmented_caching\\.block_number|segmented_caching\\.block_size|segmented_caching\\.cancelled|segmented_caching\\.client_req\\.is_open_ended|segmented_caching\\.client_req\\.is_range|segmented_caching\\.client_req\\.range_high|segmented_caching\\.client_req\\.range_low|segmented_caching\\.completed|segmented_caching\\.error|segmented_caching\\.failed|segmented_caching\\.is_inner_req|segmented_caching\\.is_outer_req|segmented_caching\\.obj\\.complete_length|segmented_caching\\.rounded_req\\.range_high|segmented_caching\\.rounded_req\\.range_low|segmented_caching\\.total_blocks)\\b"},{"name":"support.variable.vcl","match":"\\b(req\\.grace|req\\.is_clustering|req\\.max_stale_if_error|req\\.max_stale_while_revalidate|req\\.restarts|server\\.datacenter|server\\.hostname|server\\.identity|server\\.ip|server\\.port|server\\.region)\\b"},{"name":"support.variable.vcl","match":"\\b(waf\\.anomaly_score|waf\\.blocked|waf\\.counter|waf\\.executed|waf\\.failures|waf\\.http_violation_score|waf\\.inbound_anomaly_score|waf\\.lfi_score|waf\\.logdata|waf\\.logged|waf\\.message|waf\\.passed|waf\\.php_injection_score|waf\\.rce_score|waf\\.rfi_score|waf\\.rule_id|waf\\.session_fixation_score|waf\\.severity|waf\\.sql_injection_score|waf\\.xss_score)\\b"},{"name":"support.variable.vcl","match":"\\b(header\\.filter_except|header\\.filter|header\\.get|header\\.set|header\\.unset)\\b"}]},"keywords":{"patterns":[{"name":"keyword.control.vcl","match":"\\b(else|elseif|elsif|error|if)\\b"},{"name":"meta.function.vcl","begin":"^\\s*(sub)\\s+([a-zA-Z_0-9]+)","end":"{","beginCaptures":{"1":{"name":"keyword.control.vcl"},"2":{"name":"entity.name.function.vcl"}}},{"name":"meta.function.vcl","begin":"^\\s*(return)\\s*\\((deliver_stale|deliver|fetch|hash|hit_for_pass|lookup|pass)\\s*\\)","end":";","beginCaptures":{"1":{"name":"keyword.control.vcl"},"2":{"name":"entity.name.function.vcl"}}},{"name":"keyword.other.vcl","match":"\\b(acl|backend|director|penaltybox|ratecounter|table)\\b"},{"name":"keyword.other.vcl","match":"\\b(add|declare local|error|esi|include|log|remove|restart|return|set|synthetic\\.base64|synthetic|unset)\\b"},{"name":"meta.function.vcl","begin":"^\\s*(call)\\s+([a-zA-Z_0-9]+)","end":";","beginCaptures":{"1":{"name":"keyword.control.vcl"},"2":{"name":"entity.name.function.vcl"}}},{"name":"keyword.operator.vcl","match":"(!|=|==|!=|\u003e=|\u003c=|\u003e|\u003c|~|!~|\\|\\||\u0026\u0026|[+*/%\u0026^|-]=|rol=|ror=|\\|\\|=|\\+)"}]},"macros":{"patterns":[{"name":"keyword.control.vcl","match":"^\\s*#FASTLY\\s+(deliver|error|fetch|hash|hit|log|miss|pass|recv)\\s*$"}]},"strings":{"patterns":[{"name":"string.quoted.double.vcl","begin":"{([a-z]+)?\"","end":"\"\\1}","patterns":[{"name":"constant.character.escape.vcl","match":"\\\\."}]},{"name":"string.quoted.double.vcl","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.vcl","match":"\\\\."}]},{"name":"string.quoted.double.vcl","match":"\\bLF\\b"}]},"types":{"patterns":[{"name":"entity.name.type.vcl","match":"\\b(ACL|BACKEND|BOOL|FLOAT|ID|INTEGER|IP|RTIME|STRING|TIME)\\b"},{"name":"storage.type.vcl","match":"\\b(chash|client|fallback|hash|random)\\b"}]},"variables":{"patterns":[{"name":"variable.other.vcl","match":"\\b(bereq|beresp|obj|req|resp)\\.http\\.[a-zA-Z0-9_.-]+(:[a-zA-Z0-9_.-]+)?"},{"name":"variable.other.vcl","match":"\\b(var)\\.[a-zA-Z0-9_-]+"},{"name":"variable.other.vcl","match":"\\bF_[a-zA-Z0-9_-]+"},{"name":"support.other.vcl","match":"\\.(address|always_use_host_header|auto_loadbalance|backend|between_bytes_timeout|bypass_local_route_table|client_cert|comment|connect_timeout|dynamic|first_byte_timeout|healthcheck|hostname|host_header|host|ipv4|ipv6|is_shield|max_connections|max_tls_version|min_tls_version|name|override_host|port|probe|share_key|ssl_ca_cert|ssl_cert_hostname|ssl_check_cert|ssl_cipehers|ssl_client_cert|ssl_client_key|ssl_sni_hostname|ssl|use_ssl|weight)"},{"name":"support.other.vcl","match":"\\.(dummy|expected_response|initial|interval|request|timeout|threshold|window)"},{"name":"support.other.vcl","match":"\\.(id|key|quorum|seed|retries|vnodes_per_node)"},{"name":"support.variable.vcl","match":"\\b(now\\.sec|now)\\b"}]}}}
@@ -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"}],"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)\\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":[{"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"}]}}}