github-linguist 9.3.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 (117) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/dart.inline.edgeql.json +1 -0
  3. data/grammars/go.inline.edgeql.json +1 -0
  4. data/grammars/inline.surrealql-js-literal.json +1 -0
  5. data/grammars/js.inline.edgeql.json +1 -0
  6. data/grammars/markdown.move.codeblock.json +1 -1
  7. data/grammars/markdown.surrealql.codeblock.json +1 -0
  8. data/grammars/markdown.vue.codeblock.json +1 -1
  9. data/grammars/markdown.wesl.codeblock.json +1 -0
  10. data/grammars/markdown.wgsl.codeblock.json +1 -0
  11. data/grammars/mdx.vue.codeblock.json +1 -1
  12. data/grammars/res.inline.edgeql.json +1 -0
  13. data/grammars/source.abl.json +1 -1
  14. data/grammars/source.agda.json +1 -1
  15. data/grammars/source.al.json +1 -1
  16. data/grammars/source.algol60.json +1 -0
  17. data/grammars/source.apex.json +1 -1
  18. data/grammars/source.b.json +1 -0
  19. data/grammars/source.bicep.json +1 -1
  20. data/grammars/source.brs.json +1 -1
  21. data/grammars/source.bru.json +1 -1
  22. data/grammars/source.c++.json +1 -1
  23. data/grammars/source.c.json +1 -1
  24. data/grammars/source.c3.json +1 -1
  25. data/grammars/source.cadence.json +1 -1
  26. data/grammars/source.cj.json +1 -0
  27. data/grammars/source.clar.json +1 -1
  28. data/grammars/source.clean.json +1 -1
  29. data/grammars/source.comment-string.wesl.json +1 -0
  30. data/grammars/source.comment-string.wgsl.json +1 -0
  31. data/grammars/source.cql.json +1 -0
  32. data/grammars/source.cs.json +1 -1
  33. data/grammars/source.csv.json +1 -0
  34. data/grammars/source.data-weave.json +1 -1
  35. data/grammars/source.dsv.json +1 -0
  36. data/grammars/source.erlang.json +1 -1
  37. data/grammars/source.fsharp.json +1 -1
  38. data/grammars/source.gfm.blade.json +1 -1
  39. data/grammars/source.go-template.json +1 -0
  40. data/grammars/source.go.injection.double.go-template.json +1 -0
  41. data/grammars/source.go.injection.raw.go-template.json +1 -0
  42. data/grammars/source.hack.json +1 -1
  43. data/grammars/source.hurl.json +1 -0
  44. data/grammars/source.isabelle.theory.json +1 -1
  45. data/grammars/source.jac.json +1 -0
  46. data/grammars/source.jai.json +1 -1
  47. data/grammars/source.just.json +1 -1
  48. data/grammars/source.kcl.json +1 -0
  49. data/grammars/source.langium.json +1 -0
  50. data/grammars/source.lean.markdown.json +1 -1
  51. data/grammars/source.lean4.json +1 -1
  52. data/grammars/source.lean4.markdown.json +1 -1
  53. data/grammars/source.lp.json +1 -0
  54. data/grammars/source.lua.json +1 -1
  55. data/grammars/source.luau.json +1 -1
  56. data/grammars/source.m2.json +1 -1
  57. data/grammars/source.mask.json +1 -1
  58. data/grammars/source.mdx.json +1 -1
  59. data/grammars/source.mermaid.zenuml.json +1 -1
  60. data/grammars/source.mo.json +1 -1
  61. data/grammars/source.mojo.json +1 -1
  62. data/grammars/source.moonbit.json +1 -1
  63. data/grammars/source.move.json +1 -1
  64. data/grammars/source.ned.json +1 -1
  65. data/grammars/source.nr.json +1 -1
  66. data/grammars/source.nushell.json +1 -1
  67. data/grammars/source.proto.json +1 -1
  68. data/grammars/source.pyjade.json +1 -1
  69. data/grammars/source.quakec.json +1 -1
  70. data/grammars/source.rascal.json +1 -1
  71. data/grammars/source.rascript.json +1 -0
  72. data/grammars/source.rego.json +1 -1
  73. data/grammars/source.roc.json +1 -1
  74. data/grammars/source.rpgle.json +1 -1
  75. data/grammars/source.shell.json +1 -1
  76. data/grammars/source.singularity.json +1 -1
  77. data/grammars/source.soql.json +1 -1
  78. data/grammars/source.sqf.json +1 -1
  79. data/grammars/source.surrealql.json +1 -0
  80. data/grammars/source.teal.json +1 -0
  81. data/grammars/source.tmdl.json +1 -0
  82. data/grammars/source.tsp.json +1 -1
  83. data/grammars/source.tsv.json +1 -0
  84. data/grammars/source.vb6.json +1 -0
  85. data/grammars/source.vba.json +1 -1
  86. data/grammars/source.vento.json +1 -1
  87. data/grammars/source.vscode.c3.json +1 -0
  88. data/grammars/source.wdl.json +1 -1
  89. data/grammars/source.wgsl.json +1 -1
  90. data/grammars/source.wwb.json +1 -1
  91. data/grammars/text.git-commit.json +1 -0
  92. data/grammars/text.haml.json +1 -1
  93. data/grammars/text.html.markdown.d2.json +1 -1
  94. data/grammars/text.html.vue.json +1 -0
  95. data/grammars/text.injection.go-template.json +1 -0
  96. data/grammars/text.k.json +1 -0
  97. data/grammars/text.markdown.go-template.codeblock.json +1 -0
  98. data/grammars/text.marko.json +1 -1
  99. data/grammars/text.md.json +1 -1
  100. data/grammars/text.slim.json +1 -1
  101. data/grammars/text.source.mps.json +1 -0
  102. data/grammars/text.valve-cfg.json +1 -1
  103. data/grammars/v.mod.json +1 -0
  104. data/grammars/version +1 -1
  105. data/grammars/vue.directives.json +1 -1
  106. data/grammars/vue.interpolations.json +1 -1
  107. data/grammars/vue.sfc.script.leading-operator-fix.json +1 -0
  108. data/lib/linguist/VERSION +1 -1
  109. data/lib/linguist/generated.rb +24 -0
  110. data/lib/linguist/generic.yml +1 -0
  111. data/lib/linguist/heuristics.yml +62 -6
  112. data/lib/linguist/languages.json +1 -1
  113. data/lib/linguist/languages.yml +222 -26
  114. data/lib/linguist/samples.json +1 -1
  115. metadata +40 -3
  116. data/grammars/inline.edgeql.json +0 -1
  117. 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"}}}}}
@@ -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|Database)|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"}]}}}
@@ -1 +1 @@
1
- {"name":"Vento","scopeName":"source.vento","patterns":[{"name":"comment.block.vento","begin":"{{#","end":"#}}"},{"include":"#js_code"},{"include":"#template_tag"},{"include":"#front_matter"},{"name":"html.vento","include":"text.html.basic"}],"repository":{"front_matter":{"name":"meta.embedded.block.yaml","contentName":"source.yaml","begin":"^---[a-zA-Z0-9_-]*\\s*\\n","end":"---\\s*\\n","patterns":[{"include":"source.yaml"}]},"js_code":{"name":"meta.embedded.block.javascript","contentName":"source.js","begin":"{{(-)?\u003e","end":"(-)?}}","patterns":[{"include":"source.js"}]},"template_keyword":{"name":"keyword.vento","match":"\\b(for|of|if|else\\s+if|else|include|set|layout|echo|function|async\\s+function|import|from|export|await|continue|break|slot)\\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"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"C3","scopeName":"source.vscode.c3","patterns":[{"include":"#top_level"},{"include":"#statements"}],"repository":{"assign_right_expression":{"begin":"=","end":"(?=;)","patterns":[{"include":"#comments"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.c3"}}},"attribute":{"patterns":[{"name":"meta.annotation.c3","begin":"@(?:(?:align|allow_deprecated|benchmark|bigendian|builtin|callconv|cname|compact|const|deprecated|dynamic|export|extern|finalizer|format|if|inline|init|jump|link|littleendian|local|maydiscard|naked|noalias|nodiscard|noinit|noinline|nopadding|norecurse|noreturn|nosanitize|nostrip|obfuscate|operator|operator_r|operator_s|optional|overlap|packed|private|public|pure|reflect|safeinfer|safemacro|simd|section|structlike|tag|test|unused|used|wasm|weak|winmain)\\b|(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b))","end":"(?=[^ \\t(])|(?\u003c=\\))","patterns":[{"include":"#parens"}],"beginCaptures":{"0":{"name":"keyword.annotation.c3"}}}]},"block":{"patterns":[{"name":"meta.block.c3","begin":"\\{","end":"\\}","patterns":[{"include":"#statements"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.c3"}}}]},"block_comment":{"name":"comment.block.c3","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block_comment_body"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.c3"}}},"block_comment_body":{"patterns":[{"begin":"/\\*","end":"\\*/","patterns":[{"include":"#block_comment_body"}]}]},"brackets":{"patterns":[{"name":"meta.brackets.c3","begin":"\\[\u003c?","end":"\u003e?\\]","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.c3"}}}]},"builtin":{"patterns":[{"match":"(\\$\\$(?:\\b_*[A-Z][_A-Z0-9]*\\b))|(\\$\\$(?:\\b_*[a-z][_a-zA-Z0-9]*\\b))","captures":{"1":{"name":"constant.language.c3"},"2":{"name":"entity.name.function.builtin.c3"}}}]},"bytes_literal":{"patterns":[{"name":"string.quoted.other.c3","begin":"(x)([\"'`])","end":"\\2","patterns":[{"name":"constant.numeric.integer.c3","match":"[\\sfA-Fa-f0-9]+"}],"beginCaptures":{"1":{"name":"keyword.other.c3"},"2":{"name":"punctuation.definition.string.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.c3"}}},{"name":"string.quoted.other.c3","begin":"(b64)([\"'`])","end":"\\2","patterns":[{"name":"constant.numeric.integer.c3","match":"[\\sA-Za-z0-9+/=]+"}],"beginCaptures":{"1":{"name":"keyword.other.c3"},"2":{"name":"punctuation.definition.string.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.c3"}}}]},"char_literal":{"name":"string.quoted.single.c3","begin":"'","end":"'","patterns":[{"include":"#escape_sequence"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.c3"}}},"comments":{"patterns":[{"include":"#line_comment"},{"include":"#block_comment"},{"include":"#doc_comment"}]},"constants":{"patterns":[{"name":"constant.language.c3","match":"\\b(true|false|null)\\b"},{"begin":"(?:\\b_*[A-Z][_A-Z0-9]*\\b)","end":"(?=[^{ \\t])|(?\u003c=\\})","patterns":[{"include":"#generic_params"}],"beginCaptures":{"0":{"name":"variable.other.constant.c3"}}}]},"control_statements":{"patterns":[{"begin":"\\$for\\b","end":":","patterns":[{"include":"#statements"}],"beginCaptures":{"0":{"name":"keyword.control.ct.c3"}},"endCaptures":{"0":{"name":"punctuation.separator.c3"}}},{"begin":"\\$foreach\\b","end":"(?\u003c=:)","patterns":[{"include":"#comments"},{"name":"variable.other.c3","match":"\\$(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)"},{"name":"punctuation.separator.c3","match":","},{"begin":":","end":":","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.c3"}},"endCaptures":{"0":{"name":"punctuation.separator.c3"}}}],"beginCaptures":{"0":{"name":"keyword.control.ct.c3"}}},{"begin":"\\bfor\\b","end":"(?\u003c=\\))","patterns":[{"include":"#comments"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#statements"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.c3"}}}],"beginCaptures":{"0":{"name":"keyword.control.c3"}}},{"begin":"\\$(?:switch|case|default|if)\\b","end":":","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.control.ct.c3"}},"endCaptures":{"0":{"name":"punctuation.separator.c3"}}},{"begin":"\\b(?:case|default)\\b","end":":","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.control.c3"}},"endCaptures":{"0":{"name":"punctuation.separator.c3"}}}]},"doc_comment":{"begin":"(?=\u003c\\*)","end":"(\\*\u003e)","patterns":[{"include":"#doc_comment_body"}],"endCaptures":{"0":{"name":"comment.block.documentation.c3"},"1":{"name":"punctuation.definition.comment.end.c3"}}},"doc_comment_body":{"patterns":[{"begin":"(\u003c\\*)\\s*(?=@)","end":"(?=\\*\u003e)","patterns":[{"match":"@param(?:\\s*\\[\u0026?(?:in|out|inout)\\])?\\s*(?:([$#]?(?:\\b_*[a-z][_a-zA-Z0-9]*\\b))|(\\$(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b))|(\\.\\.\\.))","captures":{"0":{"name":"comment.block.documentation.c3"},"1":{"name":"variable.parameter.c3"},"2":{"name":"support.type.c3 entity.name.type.c3"},"3":{"name":"keyword.operator.variadic.c3"}}},{"begin":"@(?:require\\b|ensure\\b|return\\?)","end":"(?=:|\\*\u003e|$)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"comment.block.documentation.c3"}}},{"name":"comment.block.documentation.c3","match":"@(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)"},{"name":"comment.block.documentation.c3","match":":"},{"name":"comment.block.documentation.c3","begin":"([\"`])","end":"\\\\1"}],"beginCaptures":{"0":{"name":"comment.block.documentation.c3"},"1":{"name":"punctuation.definition.comment.begin.c3"}}},{"name":"comment.block.documentation.c3","begin":"(\u003c\\*)","end":"(?=^\\s*@|\\*\u003e)","beginCaptures":{"0":{"name":"comment.block.documentation.c3"},"1":{"name":"punctuation.definition.comment.begin.c3"}}},{"end":"(?=\\*\u003e)","patterns":[{"match":"^\\s*@param(?:\\s*\\[\u0026?(?:in|out|inout)\\])?\\s*(?:([$#]?(?:\\b_*[a-z][_a-zA-Z0-9]*\\b))|(\\$(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b))|(\\.\\.\\.))","captures":{"0":{"name":"comment.block.documentation.c3"},"1":{"name":"variable.parameter.c3"},"2":{"name":"support.type.c3 entity.name.type.c3"},"3":{"name":"keyword.operator.variadic.c3"}}},{"begin":"^\\s*@(?:require\\b|ensure\\b|return\\?)","end":"(?=:|\\*\u003e|$)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"comment.block.documentation.c3"}}},{"name":"comment.block.documentation.c3","match":"^\\s*@(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)"},{"name":"comment.block.documentation.c3","match":":"},{"name":"comment.block.documentation.c3","begin":"([\"`])","end":"\\\\1"}]}]},"escape_sequence":{"name":"constant.character.escape.c3","match":"\\\\([0abefnrtv'\"\\\\]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})"},"expression":{"patterns":[{"include":"#comments"},{"include":"#function"},{"include":"#constants"},{"include":"#builtin"},{"include":"#literals"},{"include":"#operators"},{"include":"#keywords"},{"include":"#type"},{"include":"#path"},{"include":"#function_call"},{"include":"#variable"},{"include":"#parens"},{"include":"#brackets"},{"include":"#block"},{"include":"#punctuation"},{"include":"#leftover_at_ident"}]},"function":{"begin":"(?=\\b(fn|macro)\\b)","end":"(?=[={;])","patterns":[{"name":"meta.function.c3","begin":"\\b(fn|macro)\\b","end":"(?=\\()","patterns":[{"include":"#comments"},{"include":"#function_header"}],"beginCaptures":{"1":{"name":"keyword.declaration.function.c3"}}},{"name":"meta.function.parameters.c3","begin":"\\(","end":"\\)","patterns":[{"include":"#parameters"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.c3"}}},{"contentName":"meta.function.c3","begin":"(?\u003c=\\))","end":"(?=[{=;])","patterns":[{"include":"#comments"},{"include":"#attribute"}]}]},"function_call":{"name":"meta.function_call.c3","begin":"([@#]?(?:\\b_*[a-z][_a-zA-Z0-9]*\\b))(?=\\s*(\\{.*\\})?\\s*\\()","end":"(?\u003c=\\))","patterns":[{"include":"#generic_params"},{"name":"meta.group.c3","begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"begin":"([$#]?(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)|\\$(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b))\\s*(:)(?!:)","end":"(?=\\))|([;,])","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"variable.parameter.c3"},"2":{"name":"punctuation.separator.c3"}},"endCaptures":{"1":{"name":"punctuation.separator.c3"}}},{"begin":"(?=\\S)","end":"(?=\\))|([;,])","patterns":[{"include":"#expression"}],"endCaptures":{"1":{"name":"punctuation.separator.c3"}}},{"name":"punctuation.separator.c3","match":";"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.c3"}}}],"beginCaptures":{"1":{"name":"entity.name.function.c3"}}},"function_header":{"patterns":[{"include":"#type"},{"name":"punctuation.accessor.c3","match":"\\."},{"name":"entity.name.function.c3","match":"@?(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)"}]},"generic_params":{"patterns":[{"name":"meta.generic.c3","begin":"\\{","end":"\\}","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.generic.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.definition.generic.end.c3"}}}]},"integer_literal":{"name":"constant.numeric.integer.c3","match":"\\b(?:0[xX][a-fA-F0-9](?:_?[a-fA-F0-9])*|0[oO][0-7](_?[0-7])*|0[bB][0-1](_?[0-1])*|[0-9](?:_?[0-9])*)(?:[UuIi](?:8|16|32|64|128)|[Uu][Ll]{0,2}|[Ll]{1,2})?"},"keywords":{"patterns":[{"name":"keyword.other.ct.c3","match":"\\$(?:alignof|assert|assignable|default|defined|echo|embed|eval|error|exec|extnameof|feature|include|is_const|kindof|nameof|offsetof|qnameof|sizeof|stringify|vacount|vaconst|vaarg|vaexpr|vasplat)\\b"},{"name":"keyword.control.ct.c3","match":"\\$(?:case|else|endfor|endforeach|endif|endswitch|for|foreach|if|switch)\\b"},{"name":"keyword.other.c3","match":"\\b(?:assert|asm|catch|inline|import|module|interface|try|var)\\b"},{"name":"keyword.control.c3","match":"\\b(?:break|case|continue|default|defer|do|else|for|foreach|foreach_r|if|nextcase|return|switch|while)\\b"}]},"leftover_at_ident":{"patterns":[{"name":"meta.annotation.c3","match":"@(?:pure|inline|noinline)","captures":{"0":{"name":"keyword.annotation.c3"}}},{"begin":"@(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)","end":"(?=[^{ \\t])|(?\u003c=\\})","patterns":[{"include":"#generic_params"}],"beginCaptures":{"0":{"name":"entity.name.function.c3"}}}]},"line_comment":{"name":"comment.line.double-slash.c3","match":"//.*$"},"literals":{"patterns":[{"include":"#string_literal"},{"include":"#char_literal"},{"include":"#raw_string_literal"},{"include":"#real_literal"},{"include":"#integer_literal"},{"include":"#bytes_literal"}]},"modifier_keywords":{"patterns":[{"name":"storage.modifier.c3","match":"\\b(?:const|extern|static|tlocal|inline)\\b"}]},"module_path":{"patterns":[{"include":"#path"},{"name":"meta.path.c3","match":"((?:\\b_*[a-z][_a-zA-Z0-9]*\\b))","captures":{"1":{"name":"entity.name.scope-resolution.c3"}}}]},"operators":{"patterns":[{"name":"keyword.declaration.function.arrow.c3","match":"=\u003e"},{"name":"keyword.operator.assignment.augmented.c3","match":"(?:[-%\u0026*+/^|]|\u003e\u003e|\u003c\u003c|\\+\\+\\+)="},{"name":"keyword.operator.comparison.c3","match":"\u003c=|\u003e=|==|\u003c|\u003e|!="},{"name":"keyword.operator.variadic.c3","match":"\\.\\.\\."},{"name":"keyword.operator.range.c3","match":"\\.\\."},{"name":"keyword.operator.arithmetic.c3","match":"\\+\\+\\+?|--"},{"name":"keyword.operator.arithmetic.c3","match":"\u003c\u003c|\u003e\u003e|\u0026\u0026\u0026?|\\|\\|\\|?"},{"name":"keyword.operator.arithmetic.c3","match":"[-%+/^|~]"},{"name":"keyword.operator.assignment.c3","match":"="},{"name":"keyword.operator.c3","match":"\\?\\?\\??|\\?:|[!?]|[\u0026*:]"}]},"parameters":{"patterns":[{"include":"#comments"},{"begin":"\\$(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b)","end":"(?=[;,)])","patterns":[{"include":"#comments"},{"include":"#attribute"},{"begin":"=","end":"(?=[;,)])","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.c3"}}}],"beginCaptures":{"0":{"name":"support.type.c3 entity.name.type.c3"}}},{"include":"#type"},{"include":"#punctuation"},{"name":"keyword.operator.variadic.c3","match":"\\.\\.\\."},{"name":"keyword.operator.address.c3","match":"\u0026"},{"begin":";","end":"(?=\\))","patterns":[{"include":"#comments"},{"name":"entity.name.function.c3","match":"@(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)"},{"include":"#parameters"}],"beginCaptures":{"0":{"name":"punctuation.separator.c3"}}},{"begin":"[$#]?(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)","end":"(?=[;,)])","patterns":[{"include":"#comments"},{"include":"#attribute"},{"name":"keyword.operator.variadic.c3","match":"\\.\\.\\."},{"begin":"=","end":"(?=[;,)])","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.c3"}}}],"beginCaptures":{"0":{"name":"variable.parameter.c3"}}}]},"parens":{"patterns":[{"name":"meta.group.c3","begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.c3"}}}]},"path":{"name":"meta.path.c3","match":"((?:\\b_*[a-z][_a-zA-Z0-9]*\\b))\\s*(::)","captures":{"1":{"name":"entity.name.scope-resolution.c3"},"2":{"name":"punctuation.separator.scope-resolution.c3"}}},"punctuation":{"patterns":[{"name":"punctuation.separator.c3","match":","},{"name":"punctuation.separator.c3","match":":"},{"name":"punctuation.accessor.c3","match":"\\.(?!\\.\\.)"}]},"raw_string_literal":{"name":"string.quoted.other.c3","begin":"`","end":"`(?!`)","patterns":[{"name":"constant.character.escape.c3","match":"``"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.c3"}}},"real_literal":{"patterns":[{"name":"constant.numeric.float.c3","match":"\\b[0-9](?:_?[0-9])*(?:[Ff](?:16|32|64|128)?|[Dd])"},{"name":"constant.numeric.float.c3","match":"\\b(?:[0-9](?:_?[0-9])*[Ee][+-]?[0-9]+|[0-9](?:_?[0-9])*\\.(?!\\.)(?:[0-9](?:_?[0-9])*)?(?:[Ee][+-]?[0-9]+)?)(?:[Ff](?:16|32|64|128)?|[Dd])?"},{"name":"constant.numeric.float.c3","match":"\\b0[xX][a-fA-F0-9](?:_?[a-fA-F0-9])*(?:\\.(?:[a-fA-F0-9](?:_?[a-fA-F0-9])*)?)?[Pp][+-]?[0-9]+(?:[Ff](?:16|32|64|128)?|[Dd])?"}]},"statements":{"patterns":[{"include":"#comments"},{"include":"#modifier_keywords"},{"name":"punctuation.terminator.c3","match":";"},{"include":"#control_statements"},{"include":"#attribute"},{"include":"#block"},{"include":"#expression"}]},"string_literal":{"name":"string.quoted.double.c3","begin":"\"","end":"\"","patterns":[{"include":"#escape_sequence"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.c3"}}},"structlike":{"begin":"(?=\\b(?:(struct|bitstruct)|(union))\\b)","end":"(?\u003c=\\})","patterns":[{"name":"meta.struct.c3","begin":"\\b(?:(struct|bitstruct)|(union))\\b","end":"(?=\\{)","patterns":[{"include":"#comments"},{"name":"support.type.c3 entity.name.type.struct.c3","match":"(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b)"},{"name":"variable.other.member.c3","match":"(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)"},{"include":"#attribute"},{"begin":":","end":"(?=\\{)","patterns":[{"include":"#comments"},{"include":"#type_no_generics"},{"include":"#attribute"}],"beginCaptures":{"0":{"name":"punctuation.separator.c3"}}},{"name":"meta.group.c3","begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#path"},{"include":"#type"},{"include":"#punctuation"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.c3"}}}],"beginCaptures":{"1":{"name":"keyword.declaration.struct.c3"},"2":{"name":"keyword.declaration.union.c3"}}},{"name":"meta.struct.body.c3","begin":"\\{","end":"\\}","patterns":[{"include":"#comments"},{"include":"#structlike"},{"include":"#modifier_keywords"},{"include":"#type"},{"name":"variable.other.member.c3","match":"(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)"},{"include":"#attribute"},{"name":"punctuation.terminator.c3","match":";"},{"begin":":","end":"(?=;)","patterns":[{"include":"#attribute"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.separator.c3"}}}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.c3"}}}]},"top_level":{"patterns":[{"include":"#comments"},{"include":"#modifier_keywords"},{"begin":"\\$(?:assert|include|echo|exec)\\b","end":";","patterns":[{"include":"#comments"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.other.c3"}},"endCaptures":{"0":{"name":"punctuation.terminator.c3"}}},{"name":"meta.module.c3","begin":"\\bmodule\\b","end":";","patterns":[{"include":"#comments"},{"include":"#attribute"},{"include":"#module_path"},{"include":"#generic_params"}],"beginCaptures":{"0":{"name":"keyword.declaration.module.c3"}},"endCaptures":{"0":{"name":"punctuation.terminator.c3"}}},{"name":"meta.import.c3","begin":"\\bimport\\b","end":";","patterns":[{"include":"#comments"},{"include":"#attribute"},{"include":"#module_path"},{"name":"punctuation.separator.c3","match":","}],"beginCaptures":{"0":{"name":"keyword.declaration.import.c3"}},"endCaptures":{"0":{"name":"punctuation.terminator.c3"}}},{"include":"#function"},{"name":"meta.alias.c3","begin":"\\balias\\b","end":";","patterns":[{"include":"#comments"},{"begin":"(?=((?:\\b_*[a-z][_a-zA-Z0-9]*\\b))\\s*=\\s*module)","end":"(?=;)","patterns":[{"begin":"((?:\\b_*[a-z][_a-zA-Z0-9]*\\b))","end":"(?=;)","patterns":[{"include":"#comments"},{"include":"#attribute"},{"begin":"=","end":"(?=;)","patterns":[{"include":"#comments"},{"begin":"module","end":"(?=;)","patterns":[{"include":"#comments"},{"include":"#module_path"}],"beginCaptures":{"0":{"name":"keyword.declaration.module.c3"}}}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.c3"}}}]}]},{"begin":"(@(?:\\b_*[a-z][_a-zA-Z0-9]*\\b))|((?:\\b_*[a-z][_a-zA-Z0-9]*\\b))|((?:\\b_*[A-Z][_A-Z0-9]*\\b))","end":"(?=;)","patterns":[{"include":"#comments"},{"include":"#attribute"},{"include":"#assign_right_expression"}],"beginCaptures":{"1":{"name":"entity.name.function.c3"},"2":{"name":"variable.global.c3"},"3":{"name":"variable.other.constant.c3"}}},{"begin":"(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b)","end":"(?=;)","patterns":[{"include":"#comments"},{"include":"#attribute"},{"include":"#assign_right_expression"}],"beginCaptures":{"0":{"name":"support.type.c3 entity.name.type.c3"}}}],"beginCaptures":{"0":{"name":"keyword.declaration.alias.c3"}},"endCaptures":{"0":{"name":"punctuation.terminator.c3"}}},{"name":"meta.typedef.c3","begin":"\\btypedef\\b","end":";","patterns":[{"include":"#comments"},{"begin":"(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b)","end":"(?=;)","patterns":[{"include":"#comments"},{"include":"#parens"},{"include":"#attribute"},{"include":"#assign_right_expression"}],"beginCaptures":{"0":{"name":"support.type.c3 entity.name.type.c3"}}}],"beginCaptures":{"0":{"name":"keyword.declaration.typedef.c3"}},"endCaptures":{"0":{"name":"punctuation.terminator.c3"}}},{"name":"meta.faultdef.c3","begin":"\\bfaultdef\\b","end":";","patterns":[{"include":"#comments"},{"include":"#attribute"},{"name":"variable.other.constant.c3","match":"(?:\\b_*[A-Z][_A-Z0-9]*\\b)"},{"name":"punctuation.separator.c3","match":","}],"beginCaptures":{"0":{"name":"keyword.declaration.faultdef.c3"}},"endCaptures":{"0":{"name":"punctuation.terminator.c3"}}},{"name":"meta.attrdef.c3","begin":"\\battrdef\\b","end":";","patterns":[{"include":"#comments"},{"begin":"@(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b)","end":"(?=;)","patterns":[{"include":"#comments"},{"include":"#attribute"},{"name":"meta.group.c3","begin":"\\(","end":"\\)","patterns":[{"include":"#parameters"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.c3"}}},{"begin":"=","end":"(?=;)","patterns":[{"include":"#comments"},{"include":"#attribute"},{"name":"punctuation.separator.c3","match":","}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.c3"}}}],"beginCaptures":{"0":{"name":"keyword.annotation.c3"}}}],"beginCaptures":{"0":{"name":"keyword.declaration.attrdef.c3"}},"endCaptures":{"0":{"name":"punctuation.terminator.c3"}}},{"include":"#structlike"},{"begin":"(?=\\benum\\b)","end":"(?\u003c=\\})","patterns":[{"name":"meta.enum.c3","begin":"\\benum\\b","end":"(?=\\{)","patterns":[{"include":"#comments"},{"name":"support.type.c3 entity.name.type.enum.c3","match":"(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b)"},{"include":"#attribute"},{"begin":":","end":"(?=\\{)","patterns":[{"include":"#comments"},{"name":"storage.modifier.c3","match":"\\b(?:inline|const)\\b"},{"include":"#type_no_generics"},{"contentName":"meta.group.c3","begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"name":"storage.modifier.c3","match":"\\b(?:inline|const)\\b"},{"include":"#parameters"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.c3"}}},{"include":"#attribute"}],"beginCaptures":{"0":{"name":"punctuation.separator.c3"}}}],"beginCaptures":{"0":{"name":"keyword.declaration.enum.c3"}}},{"name":"meta.enum.body.c3","begin":"\\{","end":"\\}","patterns":[{"include":"#comments"},{"begin":"=","end":"(?=,)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.c3"}}},{"include":"#attribute"},{"name":"variable.other.constant.c3","match":"(?:\\b_*[A-Z][_A-Z0-9]*\\b)"},{"name":"punctuation.separator.c3","match":","}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.c3"}}}]},{"begin":"(?=\\binterface\\b)","end":"(?\u003c=\\})","patterns":[{"name":"meta.interface.c3","begin":"\\binterface\\b","end":"(?=\\{)","patterns":[{"include":"#comments"},{"name":"support.type.c3 entity.name.type.interface.c3","match":"(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b)"},{"include":"#attribute"},{"begin":":","end":"(?=\\{)","patterns":[{"include":"#comments"},{"include":"#punctuation"},{"include":"#type_no_generics"}],"beginCaptures":{"0":{"name":"punctuation.separator.c3"}}}],"beginCaptures":{"0":{"name":"keyword.declaration.interface.c3"}}},{"name":"meta.interface.body.c3","begin":"\\{","end":"\\}","patterns":[{"include":"#comments"},{"name":"punctuation.terminator.c3","match":";"},{"include":"#function"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.c3"}}}]}]},"type":{"patterns":[{"include":"#path"},{"begin":"\\b(void|bool|char|double|float|float16|bfloat|int128|ichar|int|iptr|isz|long|short|uint128|uint|ulong|uptr|ushort|usz|float128|any|fault|typeid)\\b|(\\$?\\b(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b)\\b)","end":"(?=\\*\u003e|[^ \\t*\\[?{])","patterns":[{"include":"#comments"},{"include":"#generic_params"},{"include":"#type_suffix"}],"beginCaptures":{"1":{"name":"storage.type.built-in.primitive.c3"},"2":{"name":"support.type.c3 entity.name.type.c3"}}},{"include":"#type_expr"}]},"type_expr":{"patterns":[{"begin":"\\$(?:typeof|typefrom|evaltype)\\b","end":"(?\u003c=\\))","patterns":[{"include":"#parens"}],"beginCaptures":{"0":{"name":"storage.type.c3"}}},{"begin":"\\$vatype\\b","end":"(?\u003c=\\])","patterns":[{"include":"#brackets"}],"beginCaptures":{"0":{"name":"storage.type.c3"}}},{"include":"#type_suffix"}]},"type_no_generics":{"patterns":[{"include":"#path"},{"begin":"\\b(void|bool|char|double|float|float16|bfloat|int128|ichar|int|iptr|isz|long|short|uint128|uint|ulong|uptr|ushort|usz|float128|any|fault|typeid)\\b|(\\$?\\b(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b)\\b)","end":"(?=[^ \\t*\\[?@])","patterns":[{"include":"#comments"},{"include":"#type_suffix"}],"beginCaptures":{"1":{"name":"storage.type.built-in.primitive.c3"},"2":{"name":"support.type.c3 entity.name.type.c3"}}},{"include":"#type_expr"}]},"type_suffix":{"patterns":[{"include":"#brackets"},{"name":"keyword.operator.address.c3","match":"\\*"},{"name":"keyword.operator.c3","match":"\\?"}]},"variable":{"begin":"(?\u003c!#)\\$?(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)","end":"(?=[^{ \\t])|(?\u003c=\\})","patterns":[{"include":"#generic_params"}],"beginCaptures":{"0":{"name":"variable.other.c3"}}}}}
@@ -1 +1 @@
1
- {"name":"wdl","scopeName":"source.wdl","patterns":[{"include":"#single-number-sign-comments"},{"include":"#double-number-sign-comments"},{"name":"entity.version.wdl","match":"(version)\\s+(.*)","captures":{"1":{"name":"keyword.other.version.wdl"},"2":{"name":"entity.version.number.wdl"}}},{"contentName":"entity.struct.wdl","begin":"(struct)\\s+([A-Za-z][A-Za-z0-9_]+)?","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.struct.wdl"},"2":{"name":"variable.name.struct.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.struct-start.wdl"}}},{"contentName":"entity.task.wdl","begin":"(task)\\s+([A-Za-z][A-Za-z0-9_]+)?","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.task.wdl"},"2":{"name":"variable.name.task.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.task-start.wdl"}}},{"begin":"(workflow)\\s+([A-Za-z][A-Za-z0-9_]+)","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.workflow.wdl"},"2":{"name":"variable.name.workflow.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.workflow-start.wdl"}}},{"include":"#input-block"},{"include":"#command-block-curly"},{"include":"#command-block-heredoc"},{"include":"#output-block"},{"include":"#requirements-block"},{"include":"#hints-block"},{"include":"#runtime-block"},{"include":"#meta-block"},{"include":"#parameter_meta-block"},{"include":"#atom"}],"repository":{"atom":{"patterns":[{"include":"#double-number-sign-comments"},{"include":"#single-number-sign-comments"},{"include":"#numeric"},{"include":"#strings"},{"include":"#keywords"},{"include":"#identity"}]},"bash-arguments":{"name":"string.unquoted.argument.shell","match":"\\b[a-zA-Z0-9/._][a-zA-Z0-9/._-]*\\b"},"bash-arithmetic":{"name":"meta.expression.arithmetic.shell","begin":"(\\(\\()","end":"(\\)\\))","patterns":[{"include":"#bash-variables"},{"include":"#bash-arithmetic-operators"},{"include":"#bash-numeric"},{"include":"#bash-arithmetic-variables"}],"beginCaptures":{"1":{"name":"punctuation.definition.evaluation.begin.shell"}},"endCaptures":{"1":{"name":"punctuation.definition.evaluation.end.shell"}}},"bash-arithmetic-operators":{"name":"keyword.operator.arithmetic.shell","match":"\\*\\*|==|!=|\u003c=|\u003e=|\u0026\u0026|\\|\\||\u003c\u003c|\u003e\u003e|[!~+\\-*/%\u003c\u003e\u0026|^=]"},"bash-arithmetic-variables":{"name":"variable.other.shell","match":"\\b[a-zA-Z_][a-zA-Z0-9_]*\\b"},"bash-assignments":{"patterns":[{"match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)(=)","captures":{"1":{"name":"variable.other.assignment.shell"},"2":{"name":"keyword.operator.assignment.shell"}}}]},"bash-commands":{"patterns":[{"name":"entity.name.function.shell"}]},"bash-comments":{"name":"comment.line.number-sign.shell","match":"#.*$"},"bash-double-quoted-strings":{"name":"string.quoted.double.shell","begin":"\"","end":"\"","patterns":[{"include":"#bash-variables"},{"name":"constant.character.escape.shell","match":"\\\\([\"$`\\\\\\r\\n])"}]},"bash-heredoc-generic":{"name":"string.unquoted.heredoc.shell","begin":"(\u003c\u003c-?)\\s*([a-zA-Z_][a-zA-Z0-9_]*)","end":"^\\s*(\\2)\\s*$","patterns":[{"include":"#placeholder"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"entity.name.tag.heredoc.shell"}},"endCaptures":{"1":{"name":"entity.name.tag.heredoc.shell"}}},"bash-heredoc-python":{"contentName":"source.python.embedded.shell","begin":"(\u003c\u003c-?)\\s*([pP][yY][tT][hH][oO][nN])","end":"^\\s*(\\2)\\s*$","patterns":[{"include":"#placeholder"},{"include":"source.python"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"entity.name.tag.heredoc.python.shell"}},"endCaptures":{"1":{"name":"entity.name.tag.heredoc.python.shell"}}},"bash-heredocs":{"patterns":[{"include":"#bash-heredoc-python"},{"include":"#bash-heredoc-generic"}]},"bash-in-wdl":{"patterns":[{"include":"#bash-heredocs"},{"include":"#bash-comments"},{"include":"#bash-strings"},{"include":"#bash-arithmetic"},{"include":"#bash-variables"},{"include":"#bash-assignments"},{"include":"#bash-options"},{"include":"#bash-keywords"},{"include":"#bash-commands"},{"include":"#bash-arguments"}]},"bash-keywords":{"patterns":[{"name":"keyword.control.shell","match":"\\b(if|then|else|fi|for|in|while|do|done|case|esac|until|select)\\b"},{"name":"support.function.builtin.shell","match":"\\b(echo|set|unset|export|readonly|shift|source|local|declare|getopts|read|let)\\b"}]},"bash-numeric":{"name":"constant.numeric.shell","match":"\\b(0[xX][0-9a-fA-F]+|\\d+)\\b"},"bash-options":{"patterns":[{"name":"constant.other.option.shell","match":"(?\u003c=^|\\s)(--[a-zA-Z0-9][a-zA-Z0-9-]*|-\\w+)\\b"}]},"bash-single-quoted-strings":{"name":"string.quoted.single.shell","begin":"'","end":"'"},"bash-strings":{"patterns":[{"include":"#bash-single-quoted-strings"},{"include":"#bash-double-quoted-strings"}]},"bash-variables":{"patterns":[{"name":"variable.other.shell","match":"(\\$)[a-zA-Z_][a-zA-Z0-9_]*","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.shell","begin":"\\$\\{","end":"\\}","beginCaptures":{"0":{"name":"punctuation.definition.variable.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.parameter.special.shell","match":"\\$([0-9@*#?$$!_])"}]},"command-block-curly":{"contentName":"source.shell.embedded.wdl","begin":"(?:\\s*)(command)\\s+({)","end":"^(?:\\s*)(})(?:\\s*)$","patterns":[{"include":"#placeholder"},{"include":"#bash-in-wdl"}],"beginCaptures":{"1":{"name":"storage.type.command.wdl"},"2":{"name":"punctuation.bracket.curly.command-start.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.command-end.wdl"}}},"command-block-heredoc":{"contentName":"source.shell.embedded.wdl","begin":"(?:\\s*)(command)\\s+(\u003c\u003c\u003c)","end":"^(?:\\s*)(\u003e\u003e\u003e)(?:\\s*)$","patterns":[{"include":"#placeholder"},{"include":"#bash-in-wdl"}],"beginCaptures":{"1":{"name":"storage.type.command.wdl"},"2":{"name":"punctuation.heredoc.command-start.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.command-end.wdl"}}},"double-number-sign-comments":{"name":"comment.line.double-number-sign.documentation","begin":"(?:\\s*)(?:##) ?","while":"(?:^|\\G)\\s*(?:##) ?","patterns":[{"include":"source.gfm"}]},"double-quoted-strings":{"name":"string.quoted.double.wdl","begin":"\"","end":"\"","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"escaped-character":{"name":"constant.character.escape.wdl","match":"(\\\\\\\\)|(\\\\n)|(\\\\t)|(\\\\')|(\\\\\")|(\\\\~)|(\\\\\\$)|(\\\\[0-7]{3})|(\\\\x[0-9a-fA-F]{2})|(\\\\u[0-9a-fA-F]{4})|(\\\\U[0-9a-fA-F]{8})","captures":{"1":{"name":"constant.character.escape.backslash.wdl"},"10":{"name":"constant.character.escape.four-byte-unicode.wdl"},"11":{"name":"constant.character.escape.eight-byte-unicode.wdl"},"2":{"name":"constant.character.escape.newline.wdl"},"3":{"name":"constant.character.escape.tab.wdl"},"4":{"name":"constant.character.escape.single-quote.wdl"},"5":{"name":"constant.character.escape.double-quote.wdl"},"6":{"name":"constant.character.escape.tilde.wdl"},"7":{"name":"constant.character.escape.dollar-sign.wdl"},"8":{"name":"constant.character.escape.octal.wdl"},"9":{"name":"constant.character.escape.hex.wdl"}}},"hints-block":{"name":"entity.hints-block.wdl","begin":"(?:\\s*)(hints)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.hints.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.hints-start.wdl"}}},"identity":{"name":"variable.other.wdl","match":"\\b[A-Za-z][A-Za-z0-9_]*\\b"},"input-block":{"name":"entity.input-block.wdl","begin":"(?:\\s*)(input)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.input.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.input-start.wdl"}}},"keywords":{"patterns":[{"name":"keyword.other.wdl","match":"\\b(import|version)\\b"},{"name":"storage.modifier.wdl","match":"\\b(alias|as|in|scatter)\\b"},{"name":"keyword.control.wdl","match":"\\b(call|else|if|then)\\b"},{"name":"storage.type","match":"\\b(command|hints|inputs|meta|object|outputs|parameter_meta|requirements|runtime)\\b\\s*(?!:)"},{"name":"constant.language.wdl","match":"\\b(true|false|left|right|null)\\b"},{"name":"keyword.wdl","match":"\\b(after|alias|as|call|command|else|env|false|hints|if|in|import|input|meta|null|object|output|parameter_meta|requirements|runtime|scatter|then|true|version)\\b\\s*(?!:)"},{"name":"entity.name.type.wdl","match":"\\b(Array|Boolean|Directory|File|Float|Int|Map|None|Object|Pair|String)\\b"}]},"meta-block":{"name":"entity.meta-block.wdl","begin":"(?:\\s*)(meta)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.meta.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.meta-start.wdl"}}},"multi-line-strings":{"name":"string.unquoted.multi-line.wdl","begin":"\u003c\u003c\u003c","end":"\u003e\u003e\u003e","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"numeric":{"name":"constant.numeric.wdl","match":"-?(?:[0-9]+\\.[0-9]*(e|E)?|[0-9]+(e|E)?|[1-9][0-9]*|0[0-7]+|0[xX][0-9a-fA-F]|0)"},"output-block":{"name":"entity.output-block.wdl","begin":"(?:\\s*)(output)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.output.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.output-start.wdl"}}},"parameter_meta-block":{"name":"entity.parameter_meta-block.wdl","begin":"(?:\\s*)(parameter_meta)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.parameter_meta.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.parameter_meta-start.wdl"}}},"placeholder":{"name":"meta.other.placeholder.wdl","begin":"[$~]{","end":"}","patterns":[{"include":"source.wdl"}]},"requirements-block":{"name":"entity.requirements-block.wdl","begin":"(?:\\s*)(requirements)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.requirements.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.requirements-start.wdl"}}},"runtime-block":{"name":"entity.runtime-block.wdl","begin":"(?:\\s*)(runtime)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.runtime.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.runtime-start.wdl"}}},"single-number-sign-comments":{"name":"comment.line.number-sign.documentation","begin":"(?:\\s*)(?:#(?!#))","while":"(?:^|\\G)(?:\\s*)(?:#(?!#))"},"single-quoted-strings":{"name":"string.quoted.single.wdl","begin":"'","end":"'","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"strings":{"patterns":[{"include":"#single-quoted-strings"},{"include":"#double-quoted-strings"},{"include":"#multi-line-strings"}]}}}
1
+ {"name":"wdl","scopeName":"source.wdl","patterns":[{"include":"#single-number-sign-comments"},{"include":"#double-number-sign-comments"},{"name":"entity.version.wdl","match":"(version)\\s+(.*)","captures":{"1":{"name":"keyword.other.version.wdl"},"2":{"name":"entity.version.number.wdl"}}},{"contentName":"entity.struct.wdl","begin":"(struct)\\s+([A-Za-z][A-Za-z0-9_]+)?","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.struct.wdl"},"2":{"name":"variable.name.struct.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.struct-start.wdl"}}},{"contentName":"entity.enum.wdl","begin":"(enum)\\s+([A-Za-z][A-Za-z0-9_]+)?","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.enum.wdl"},"2":{"name":"variable.name.enum.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.enum-start.wdl"}}},{"contentName":"entity.task.wdl","begin":"(task)\\s+([A-Za-z][A-Za-z0-9_]+)?","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.task.wdl"},"2":{"name":"variable.name.task.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.task-start.wdl"}}},{"begin":"(workflow)\\s+([A-Za-z][A-Za-z0-9_]+)","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.workflow.wdl"},"2":{"name":"variable.name.workflow.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.workflow-start.wdl"}}},{"include":"#input-block"},{"include":"#command-block-curly"},{"include":"#command-block-heredoc"},{"include":"#output-block"},{"include":"#requirements-block"},{"include":"#hints-block"},{"include":"#runtime-block"},{"include":"#meta-block"},{"include":"#parameter_meta-block"},{"include":"#atom"}],"repository":{"atom":{"patterns":[{"include":"#double-number-sign-comments"},{"include":"#single-number-sign-comments"},{"include":"#numeric"},{"include":"#strings"},{"include":"#keywords"},{"include":"#identity"}]},"bash-arguments":{"name":"string.unquoted.argument.shell","match":"\\b[a-zA-Z0-9/._][a-zA-Z0-9/._-]*\\b"},"bash-arithmetic":{"name":"meta.expression.arithmetic.shell","begin":"(\\(\\()","end":"(\\)\\))","patterns":[{"include":"#bash-variables"},{"include":"#bash-arithmetic-operators"},{"include":"#bash-numeric"},{"include":"#bash-arithmetic-variables"}],"beginCaptures":{"1":{"name":"punctuation.definition.evaluation.begin.shell"}},"endCaptures":{"1":{"name":"punctuation.definition.evaluation.end.shell"}}},"bash-arithmetic-operators":{"name":"keyword.operator.arithmetic.shell","match":"\\*\\*|==|!=|\u003c=|\u003e=|\u0026\u0026|\\|\\||\u003c\u003c|\u003e\u003e|[!~+\\-*/%\u003c\u003e\u0026|^=]"},"bash-arithmetic-variables":{"name":"variable.other.shell","match":"\\b[a-zA-Z_][a-zA-Z0-9_]*\\b"},"bash-assignments":{"patterns":[{"match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)(=)","captures":{"1":{"name":"variable.other.assignment.shell"},"2":{"name":"keyword.operator.assignment.shell"}}}]},"bash-commands":{"patterns":[{"name":"entity.name.function.shell"}]},"bash-comments":{"name":"comment.line.number-sign.shell","match":"#.*$"},"bash-double-quoted-strings":{"name":"string.quoted.double.shell","begin":"\"","end":"\"","patterns":[{"include":"#bash-variables"},{"name":"constant.character.escape.shell","match":"\\\\([\"$`\\\\\\r\\n])"}]},"bash-heredoc-generic":{"name":"string.unquoted.heredoc.shell","begin":"(\u003c\u003c-?)\\s*([a-zA-Z_][a-zA-Z0-9_]*)","end":"^\\s*(\\2)\\s*$","patterns":[{"include":"#placeholder"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"entity.name.tag.heredoc.shell"}},"endCaptures":{"1":{"name":"entity.name.tag.heredoc.shell"}}},"bash-heredoc-python":{"contentName":"source.python.embedded.shell","begin":"(\u003c\u003c-?)\\s*([pP][yY][tT][hH][oO][nN])","end":"^\\s*(\\2)\\s*$","patterns":[{"include":"#placeholder"},{"include":"source.python"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"entity.name.tag.heredoc.python.shell"}},"endCaptures":{"1":{"name":"entity.name.tag.heredoc.python.shell"}}},"bash-heredocs":{"patterns":[{"include":"#bash-heredoc-python"},{"include":"#bash-heredoc-generic"}]},"bash-in-wdl":{"patterns":[{"include":"#bash-heredocs"},{"include":"#bash-comments"},{"include":"#bash-strings"},{"include":"#bash-arithmetic"},{"include":"#bash-variables"},{"include":"#bash-assignments"},{"include":"#bash-options"},{"include":"#bash-keywords"},{"include":"#bash-commands"},{"include":"#bash-arguments"}]},"bash-keywords":{"patterns":[{"name":"keyword.control.shell","match":"\\b(if|then|else|fi|for|in|while|do|done|case|esac|until|select)\\b"},{"name":"support.function.builtin.shell","match":"\\b(echo|set|unset|export|readonly|shift|source|local|declare|getopts|read|let)\\b"}]},"bash-numeric":{"name":"constant.numeric.shell","match":"\\b(0[xX][0-9a-fA-F]+|\\d+)\\b"},"bash-options":{"patterns":[{"name":"constant.other.option.shell","match":"(?\u003c=^|\\s)(--[a-zA-Z0-9][a-zA-Z0-9-]*|-\\w+)\\b"}]},"bash-single-quoted-strings":{"name":"string.quoted.single.shell","begin":"'","end":"'"},"bash-strings":{"patterns":[{"include":"#bash-single-quoted-strings"},{"include":"#bash-double-quoted-strings"}]},"bash-variables":{"patterns":[{"name":"variable.other.shell","match":"(\\$)[a-zA-Z_][a-zA-Z0-9_]*","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.shell","begin":"\\$\\{","end":"\\}","beginCaptures":{"0":{"name":"punctuation.definition.variable.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.parameter.special.shell","match":"\\$([0-9@*#?$$!_])"}]},"command-block-curly":{"contentName":"source.shell.embedded.wdl","begin":"(?:\\s*)(command)\\s+({)","end":"^(?:\\s*)(})(?:\\s*)$","patterns":[{"include":"#placeholder"},{"include":"#bash-in-wdl"}],"beginCaptures":{"1":{"name":"storage.type.command.wdl"},"2":{"name":"punctuation.bracket.curly.command-start.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.command-end.wdl"}}},"command-block-heredoc":{"contentName":"source.shell.embedded.wdl","begin":"(?:\\s*)(command)\\s+(\u003c\u003c\u003c)","end":"^(?:\\s*)(\u003e\u003e\u003e)(?:\\s*)$","patterns":[{"include":"#placeholder"},{"include":"#bash-in-wdl"}],"beginCaptures":{"1":{"name":"storage.type.command.wdl"},"2":{"name":"punctuation.heredoc.command-start.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.command-end.wdl"}}},"double-number-sign-comments":{"name":"comment.line.double-number-sign.documentation","begin":"(?:\\s*)(?:##) ?","while":"(?:^|\\G)\\s*(?:##) ?","patterns":[{"include":"text.md"}]},"double-quoted-strings":{"name":"string.quoted.double.wdl","begin":"\"","end":"\"","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"escaped-character":{"name":"constant.character.escape.wdl","match":"(\\\\\\\\)|(\\\\n)|(\\\\t)|(\\\\')|(\\\\\")|(\\\\~)|(\\\\\\$)|(\\\\[0-7]{3})|(\\\\x[0-9a-fA-F]{2})|(\\\\u[0-9a-fA-F]{4})|(\\\\U[0-9a-fA-F]{8})","captures":{"1":{"name":"constant.character.escape.backslash.wdl"},"10":{"name":"constant.character.escape.four-byte-unicode.wdl"},"11":{"name":"constant.character.escape.eight-byte-unicode.wdl"},"2":{"name":"constant.character.escape.newline.wdl"},"3":{"name":"constant.character.escape.tab.wdl"},"4":{"name":"constant.character.escape.single-quote.wdl"},"5":{"name":"constant.character.escape.double-quote.wdl"},"6":{"name":"constant.character.escape.tilde.wdl"},"7":{"name":"constant.character.escape.dollar-sign.wdl"},"8":{"name":"constant.character.escape.octal.wdl"},"9":{"name":"constant.character.escape.hex.wdl"}}},"hints-block":{"name":"entity.hints-block.wdl","begin":"(?:\\s*)(hints)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.hints.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.hints-start.wdl"}}},"identity":{"name":"variable.other.wdl","match":"\\b[A-Za-z][A-Za-z0-9_]*\\b"},"input-block":{"name":"entity.input-block.wdl","begin":"(?:\\s*)(input)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.input.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.input-start.wdl"}}},"keywords":{"patterns":[{"name":"keyword.other.wdl","match":"\\b(import|version)\\b"},{"name":"storage.modifier.wdl","match":"\\b(alias|as|in|scatter)\\b"},{"name":"keyword.control.wdl","match":"\\b(call|else|if|then)\\b"},{"name":"storage.type","match":"\\b(command|hints|inputs|meta|object|outputs|parameter_meta|requirements|runtime)\\b\\s*(?!:)"},{"name":"constant.language.wdl","match":"\\b(true|false|left|right|null)\\b"},{"name":"keyword.wdl","match":"\\b(after|alias|as|call|command|else|enum|env|false|hints|if|in|import|input|meta|null|object|output|parameter_meta|requirements|runtime|scatter|then|true|version)\\b\\s*(?!:)"},{"name":"entity.name.type.wdl","match":"\\b(Array|Boolean|Directory|File|Float|Int|Map|None|Object|Pair|String)\\b"}]},"meta-block":{"name":"entity.meta-block.wdl","begin":"(?:\\s*)(meta)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.meta.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.meta-start.wdl"}}},"multi-line-strings":{"name":"string.unquoted.multi-line.wdl","begin":"\u003c\u003c\u003c","end":"\u003e\u003e\u003e","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"numeric":{"name":"constant.numeric.wdl","match":"-?(?:[0-9]+\\.[0-9]*(e|E)?|[0-9]+(e|E)?|[1-9][0-9]*|0[0-7]+|0[xX][0-9a-fA-F]|0)"},"output-block":{"name":"entity.output-block.wdl","begin":"(?:\\s*)(output)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.output.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.output-start.wdl"}}},"parameter_meta-block":{"name":"entity.parameter_meta-block.wdl","begin":"(?:\\s*)(parameter_meta)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.parameter_meta.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.parameter_meta-start.wdl"}}},"placeholder":{"name":"meta.other.placeholder.wdl","begin":"[$~]{","end":"}","patterns":[{"include":"source.wdl"}]},"requirements-block":{"name":"entity.requirements-block.wdl","begin":"(?:\\s*)(requirements)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.requirements.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.requirements-start.wdl"}}},"runtime-block":{"name":"entity.runtime-block.wdl","begin":"(?:\\s*)(runtime)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.runtime.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.runtime-start.wdl"}}},"single-number-sign-comments":{"name":"comment.line.number-sign.documentation","begin":"(?:\\s*)(?:#(?!#))","while":"(?:^|\\G)(?:\\s*)(?:#(?!#))"},"single-quoted-strings":{"name":"string.quoted.single.wdl","begin":"'","end":"'","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"strings":{"patterns":[{"include":"#single-quoted-strings"},{"include":"#double-quoted-strings"},{"include":"#multi-line-strings"}]}}}
@@ -1 +1 @@
1
- {"name":"WGSL","scopeName":"source.wgsl","patterns":[{"include":"#line_ending_comments"},{"include":"#block_comments"},{"include":"#attributes"},{"include":"#functions"},{"include":"#keywords"},{"include":"#function_calls"},{"include":"#literals"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"},{"include":"#reserved_words"},{"include":"#address_spaces"},{"include":"#memory_access_modes"},{"include":"#operators"},{"include":"#built-in_value_names"},{"include":"#bevy_preprocessor_directives"}],"repository":{"address_spaces":{"name":"storage.modifier.address_spaces.wgsl","match":"\\b(function|private|workgroup|uniform|storage|handle)\\b"},"attributes":{"patterns":[{"match":"(@)\\s*([_$[:alpha:]][_$[:alnum:]]*)\\b","captures":{"1":{"name":"punctuation.attribute.wgsl"},"2":{"name":"entity.other.attribute.wgsl"}}}]},"bevy_preprocessor_directives":{"name":"invalid.deprecated.wgsl","match":"^#(ifdef|else|endif|import|define_import_path)\\b"},"block_comments":{"name":"comment.block.wgsl","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block_comments"}]},"built-in_value_names":{"name":"variable.language.built-ins.wgsl","match":"\\b(vertex_index|instance_index|position|front_facing|frag_depth|sample_index|sample_mask|local_invocation_id|local_invocation_index|global_invocation_id|workgroup_id|num_workgroups|subgroup_invocation_id|subgroup_size)\\b"},"function_arguments":{"patterns":[{"include":"#line_ending_comments"},{"include":"#block_comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#function_calls"},{"include":"#literals"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"},{"include":"#reserved_words"},{"include":"#address_spaces"},{"include":"#memory_access_modes"},{"include":"#operators"},{"include":"#built-in_value_names"}]},"function_calls":{"patterns":[{"name":"meta.function.wgsl","begin":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(\u003c[^|\u0026()]+\u003e)?(\\()","end":"\\)","patterns":[{"include":"#function_arguments"}],"beginCaptures":{"1":{"name":"entity.name.function.wgsl"},"2":{"patterns":[{"include":"#function_arguments"}]},"3":{"name":"punctuation.brackets.round.wgsl"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.wgsl"}}}]},"functions":{"patterns":[{"name":"meta.function.definition.wgsl","begin":"\\b(fn)\\s+([_$[:alpha:]][_$[:alnum:]]*)\\s*((\\()|(\u003c))","end":"\\{","patterns":[{"include":"#function_arguments"}],"beginCaptures":{"1":{"name":"keyword.fn.wgsl"},"2":{"name":"entity.name.function.definition.wgsl"},"4":{"name":"punctuation.brackets.round.wgsl"}},"endCaptures":{"0":{"name":"punctuation.brackets.curly.wgsl"}}}]},"keywords":{"patterns":[{"name":"keyword.other.declarations-and-types.wgsl","match":"\\b(alias|const|fn|let|override|struct|var)\\b"},{"name":"keyword.control.wgsl","match":"\\b(break|case|continue|continuing|default|discard|(?\u003c!#)else|for|if|loop|return|switch|while)\\b"},{"name":"keyword.other.assertions.wgsl","match":"\\b(const_assert)\\b"},{"name":"keyword.other.directive.wgsl","match":"(?\u003c!@)\\b(diagnostic|enable|requires)\\b"}]},"line_ending_comments":{"name":"comment.line.double-slash.wgsl","match":"\\s*//.*"},"literals":{"patterns":[{"name":"constant.numeric.decimal.int.wgsl","match":"\\b(0[iu]?|[1-9][0-9]*[iu]?)\\b"},{"name":"constant.numeric.hex.int.wgsl","match":"\\b(0[xX][0-9a-fA-F]+[iu]?)\\b"},{"name":"constant.numeric.decimal.float.wgsl","match":"\\b(0[fh]|[1-9][0-9]*[fh]|[0-9]*\\.[0-9]+([eE][+-]?[0-9]+)?[fh]?|[0-9]+\\.[0-9]*([eE][+-]?[0-9]+)?[fh]?|[0-9]+[eE][+-]?[0-9]+[fh]?)\\b"},{"name":"constant.numeric.hex.float.wgsl","match":"\\b(0[xX][0-9a-fA-F]*\\.[0-9a-fA-F]+([pP][+-]?[0-9]+[fh]?)?|0[xX][0-9a-fA-F]+\\.[0-9a-fA-F]*([pP][+-]?[0-9]+[fh]?)?|0[xX][0-9a-fA-F]+[pP][+-]?[0-9]+[fh]?)\\b"},{"name":"constant.language.boolean.wgsl","match":"\\b(true|false)\\b"}]},"matrix_types":{"patterns":[{"name":"storage.type.matrixes.wgsl","match":"\\b(mat[2-4]x[2-4])\\b"},{"name":"storage.type.matrixes.wgsl","match":"\\b(mat[2-4]x[2-4])(f|h)\\b"}]},"memory_access_modes":{"name":"storage.modifier.memory_access_modes.wgsl","match":"\\b(read|write|read_write)\\b"},"memory_views":{"name":"storage.type.ptr.wgsl","match":"\\b(ptr)\\b"},"operators":{"patterns":[{"name":"keyword.operator.logical.wgsl","match":"(\\^|\\||\\|\\||\u0026\u0026|\u003c\u003c|\u003e\u003e|!)(?!=)"},{"name":"keyword.operator.address-of.and.wgsl","match":"\u0026(?![\u0026=])"},{"name":"keyword.operator.assignment.wgsl","match":"(\\+=|-=|\\*=|/=|%=|\\^=|\u0026=|\\|=|\u003c\u003c=|\u003e\u003e=)"},{"name":"keyword.operator.assignment.equal.wgsl","match":"(?\u003c![\u003c\u003e])=(?!=|\u003e)"},{"name":"keyword.operator.comparison.wgsl","match":"(=(=)?(?!\u003e)|!=|\u003c=|(?\u003c!=)\u003e=)"},{"name":"keyword.operator.math.wgsl","match":"(([+%]|(\\*(?!\\w)))(?!=))|(-(?!\u003e))|(/(?!/))"},{"name":"keyword.operator.access.dot.wgsl","match":"\\.(?!\\.)"},{"name":"keyword.operator.arrow.skinny.wgsl","match":"-\u003e"},{"name":"keyword.operator.type.annotation.wgsl","match":":"}]},"plain_types":{"patterns":[{"name":"storage.type.boolean.wgsl","match":"\\b(bool)\\b"},{"name":"storage.type.integer.wgsl","match":"\\b(i32|u32)\\b"},{"name":"storage.type.floating-point.wgsl","match":"\\b(f32|f16)\\b"},{"include":"#vector_types"},{"include":"#matrix_types"},{"name":"storage.type.wgsl","match":"\\b(atomic)\\b"},{"name":"storage.type.wgsl","match":"\\b(array)\\b"},{"name":"entity.name.type.wgsl","match":"\\b([A-Z][_$[:alnum:]]*)\\b"},{"name":"storage.type.wgsl","match":"\\b(i64|u64|f64)\\b"}]},"punctuation":{"patterns":[{"name":"punctuation.comma.wgsl","match":","},{"name":"punctuation.brackets.curly.wgsl","match":"[{}]"},{"name":"punctuation.brackets.round.wgsl","match":"[()]"},{"name":"punctuation.semi.wgsl","match":";"},{"name":"punctuation.brackets.square.wgsl","match":"[\\[\\]]"},{"name":"punctuation.brackets.angle.wgsl","match":"(?\u003c!=)[\u003c\u003e]"}]},"reserved_words":{"name":"keyword.other.reserved_words.wgsl","match":"\\b(aNULL|Self|abstract|active|alignas|alignof|as|asm|asm_fragment|async|attribute|auto|await|become|cast|catch|class|co_await|co_return|co_yield|coherent|column_major|common|compile|compile_fragment|concept|const_cast|consteval|constexpr|constinit|crate|debugger|decltype|delete|demote|demote_to_helper|do|dynamic_cast|enum|explicit|export|extends|extern|external|fallthrough|filter|final|finally|friend|from|fxgroup|get|goto|groupshared|highp|impl|implements|import|inline|instanceof|interface|layout|lowp|macro|macro_rules|match|mediump|meta|mod|module|move|mut|mutable|namespace|new|nil|noexcept|noinline|nointerpolation|non_coherent|noncoherent|noperspective|null|nullptr|of|operator|package|packoffset|partition|pass|patch|pixelfragment|precise|precision|premerge|priv|protected|pub|public|readonly|ref|regardless|register|reinterpret_cast|require|resource|restrict|self|set|shared|sizeof|smooth|snorm|static|static_assert|static_cast|std|subroutine|super|target|template|this|thread_local|throw|trait|try|type|typedef|typeid|typename|typeof|union|unless|unorm|unsafe|unsized|use|using|varying|virtual|volatile|wgsl|where|with|writeonly|yield)\\b"},"texture_and_sampler_types":{"patterns":[{"name":"storage.type.sampled-texture.wgsl","match":"\\b(texture_1d|texture_2d|texture_2d_array|texture_3d|texture_cube|texture_cube_array)\\b"},{"name":"storage.type.sampled-texture.wgsl","match":"\\b(texture_multisampled_2d|texture_depth_multisampled_2d)\\b"},{"name":"storage.type.external-sampled-texture.wgsl","match":"\\b(texture_external)\\b"},{"name":"storage.type.external-sampled-texture.wgsl","match":"\\b(texture_storage_1d|texture_storage_2d|texture_storage_2d_array|texture_storage_3d)\\b"},{"name":"storage.type.depth-texture.wgsl","match":"\\b(texture_depth_2d|texture_depth_2d_array|texture_depth_cube|texture_depth_cube_array)\\b"},{"name":"storage.type.sampler.wgsl","match":"\\b(sampler|sampler_comparison)\\b"}]},"types":{"patterns":[{"include":"#plain_types"},{"include":"#memory_views"},{"include":"#texture_and_sampler_types"}]},"variables":{"patterns":[{"name":"variable.other.wgsl","match":"\\b([_$[:alpha:]][_$[:alnum:]]*)\\b"}]},"vector_types":{"patterns":[{"name":"storage.type.vectors.wgsl","match":"\\b(vec)([2-4])\\b"},{"name":"storage.type.vectors.wgsl","match":"\\b(vec)([2-4])(i|u|f|h)\\b"}]}}}
1
+ {"name":"WGSL","scopeName":"source.wgsl","patterns":[{"include":"#line_ending_comments"},{"include":"#block_comments"},{"include":"#attributes"},{"include":"#functions"},{"include":"#keywords"},{"include":"#function_calls"},{"include":"#literals"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"},{"include":"#reserved_words"},{"include":"#address_spaces"},{"include":"#memory_access_modes"},{"include":"#operators"},{"include":"#built-in_value_names"}],"repository":{"address_spaces":{"name":"storage.modifier.address_spaces.wgsl","match":"\\b(function|private|workgroup|uniform|storage|handle)\\b"},"attributes":{"patterns":[{"match":"(@)\\s*([_$[:alpha:]][_$[:alnum:]]*)\\b","captures":{"1":{"name":"punctuation.attribute.wgsl"},"2":{"name":"entity.other.attribute.wgsl"}}}]},"block_comments":{"name":"comment.block.wgsl","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block_comments"}]},"built-in_value_names":{"name":"variable.language.built-ins.wgsl","match":"\\b(vertex_index|instance_index|position|front_facing|frag_depth|sample_index|sample_mask|local_invocation_id|local_invocation_index|global_invocation_id|workgroup_id|num_workgroups|subgroup_invocation_id|subgroup_size)\\b"},"function_arguments":{"patterns":[{"include":"#line_ending_comments"},{"include":"#block_comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#function_calls"},{"include":"#literals"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"},{"include":"#reserved_words"},{"include":"#address_spaces"},{"include":"#memory_access_modes"},{"include":"#operators"},{"include":"#built-in_value_names"}]},"function_calls":{"patterns":[{"name":"meta.function.wgsl","begin":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(\u003c[^|\u0026()]+\u003e)?(\\()","end":"\\)","patterns":[{"include":"#function_arguments"}],"beginCaptures":{"1":{"name":"entity.name.function.wgsl"},"2":{"patterns":[{"include":"#function_arguments"}]},"3":{"name":"punctuation.brackets.round.wgsl"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.wgsl"}}}]},"functions":{"patterns":[{"name":"meta.function.definition.wgsl","begin":"\\b(fn)\\s+([_$[:alpha:]][_$[:alnum:]]*)\\s*((\\()|(\u003c))","end":"\\{","patterns":[{"include":"#function_arguments"}],"beginCaptures":{"1":{"name":"keyword.fn.wgsl"},"2":{"name":"entity.name.function.definition.wgsl"},"4":{"name":"punctuation.brackets.round.wgsl"}},"endCaptures":{"0":{"name":"punctuation.brackets.curly.wgsl"}}}]},"keywords":{"patterns":[{"name":"keyword.other.declarations-and-types.wgsl","match":"\\b(alias|const|fn|let|override|struct|var)\\b"},{"name":"keyword.control.wgsl","match":"\\b(break|case|continue|continuing|default|discard|(?\u003c!#)else|for|if|loop|return|switch|while)\\b"},{"name":"keyword.other.assertions.wgsl","match":"\\b(const_assert)\\b"},{"name":"keyword.other.directive.wgsl","match":"(?\u003c!@)\\b(diagnostic|enable|requires)\\b"}]},"line_ending_comments":{"name":"comment.line.double-slash.wgsl","match":"\\s*//.*"},"literals":{"patterns":[{"name":"constant.numeric.decimal.int.wgsl","match":"\\b(0[iu]?|[1-9][0-9]*[iu]?)\\b"},{"name":"constant.numeric.hex.int.wgsl","match":"\\b(0[xX][0-9a-fA-F]+[iu]?)\\b"},{"name":"constant.numeric.decimal.float.wgsl","match":"\\b(0[fh]|[1-9][0-9]*[fh]|[0-9]*\\.[0-9]+([eE][+-]?[0-9]+)?[fh]?|[0-9]+\\.[0-9]*([eE][+-]?[0-9]+)?[fh]?|[0-9]+[eE][+-]?[0-9]+[fh]?)\\b"},{"name":"constant.numeric.hex.float.wgsl","match":"\\b(0[xX][0-9a-fA-F]*\\.[0-9a-fA-F]+([pP][+-]?[0-9]+[fh]?)?|0[xX][0-9a-fA-F]+\\.[0-9a-fA-F]*([pP][+-]?[0-9]+[fh]?)?|0[xX][0-9a-fA-F]+[pP][+-]?[0-9]+[fh]?)\\b"},{"name":"constant.language.boolean.wgsl","match":"\\b(true|false)\\b"}]},"matrix_types":{"patterns":[{"name":"storage.type.matrixes.wgsl","match":"\\b(mat[2-4]x[2-4])\\b"},{"name":"storage.type.matrixes.wgsl","match":"\\b(mat[2-4]x[2-4])(f|h)\\b"}]},"memory_access_modes":{"name":"storage.modifier.memory_access_modes.wgsl","match":"\\b(read|write|read_write)\\b"},"memory_views":{"name":"storage.type.ptr.wgsl","match":"\\b(ptr)\\b"},"operators":{"patterns":[{"name":"keyword.operator.logical.wgsl","match":"(\\^|\\||\\|\\||\u0026\u0026|\u003c\u003c|\u003e\u003e|!)(?!=)"},{"name":"keyword.operator.address-of.and.wgsl","match":"\u0026(?![\u0026=])"},{"name":"keyword.operator.assignment.wgsl","match":"(\\+=|-=|\\*=|/=|%=|\\^=|\u0026=|\\|=|\u003c\u003c=|\u003e\u003e=)"},{"name":"keyword.operator.assignment.equal.wgsl","match":"(?\u003c![\u003c\u003e])=(?!=|\u003e)"},{"name":"keyword.operator.comparison.wgsl","match":"(=(=)?(?!\u003e)|!=|\u003c=|(?\u003c!=)\u003e=)"},{"name":"keyword.operator.math.wgsl","match":"(([+%]|(\\*(?!\\w)))(?!=))|(-(?!\u003e))|(/(?!/))"},{"name":"keyword.operator.access.dot.wgsl","match":"\\.(?!\\.)"},{"name":"keyword.operator.arrow.skinny.wgsl","match":"-\u003e"},{"name":"keyword.operator.type.annotation.wgsl","match":":"}]},"plain_types":{"patterns":[{"name":"storage.type.boolean.wgsl","match":"\\b(bool)\\b"},{"name":"storage.type.integer.wgsl","match":"\\b(i32|u32)\\b"},{"name":"storage.type.floating-point.wgsl","match":"\\b(f32|f16)\\b"},{"include":"#vector_types"},{"include":"#matrix_types"},{"name":"storage.type.wgsl","match":"\\b(atomic)\\b"},{"name":"storage.type.wgsl","match":"\\b(array)\\b"},{"name":"entity.name.type.wgsl","match":"\\b([A-Z][_$[:alnum:]]*)\\b"},{"name":"storage.type.wgsl","match":"\\b(i64|u64|f64)\\b"}]},"punctuation":{"patterns":[{"name":"punctuation.comma.wgsl","match":","},{"name":"punctuation.brackets.curly.wgsl","match":"[{}]"},{"name":"punctuation.brackets.round.wgsl","match":"[()]"},{"name":"punctuation.semi.wgsl","match":";"},{"name":"punctuation.brackets.square.wgsl","match":"[\\[\\]]"},{"name":"punctuation.brackets.angle.wgsl","match":"(?\u003c!=)[\u003c\u003e]"}]},"reserved_words":{"name":"keyword.other.reserved_words.wgsl","match":"\\b(aNULL|Self|abstract|active|alignas|alignof|as|asm|asm_fragment|async|attribute|auto|await|become|cast|catch|class|co_await|co_return|co_yield|coherent|column_major|common|compile|compile_fragment|concept|const_cast|consteval|constexpr|constinit|crate|debugger|decltype|delete|demote|demote_to_helper|do|dynamic_cast|enum|explicit|export|extends|extern|external|fallthrough|filter|final|finally|friend|from|fxgroup|get|goto|groupshared|highp|impl|implements|import|inline|instanceof|interface|layout|lowp|macro|macro_rules|match|mediump|meta|mod|module|move|mut|mutable|namespace|new|nil|noexcept|noinline|nointerpolation|non_coherent|noncoherent|noperspective|null|nullptr|of|operator|package|packoffset|partition|pass|patch|pixelfragment|precise|precision|premerge|priv|protected|pub|public|readonly|ref|regardless|register|reinterpret_cast|require|resource|restrict|self|set|shared|sizeof|smooth|snorm|static|static_assert|static_cast|std|subroutine|super|target|template|this|thread_local|throw|trait|try|type|typedef|typeid|typename|typeof|union|unless|unorm|unsafe|unsized|use|using|varying|virtual|volatile|wgsl|where|with|writeonly|yield)\\b"},"texture_and_sampler_types":{"patterns":[{"name":"storage.type.sampled-texture.wgsl","match":"\\b(texture_1d|texture_2d|texture_2d_array|texture_3d|texture_cube|texture_cube_array)\\b"},{"name":"storage.type.sampled-texture.wgsl","match":"\\b(texture_multisampled_2d|texture_depth_multisampled_2d)\\b"},{"name":"storage.type.external-sampled-texture.wgsl","match":"\\b(texture_external)\\b"},{"name":"storage.type.external-sampled-texture.wgsl","match":"\\b(texture_storage_1d|texture_storage_2d|texture_storage_2d_array|texture_storage_3d)\\b"},{"name":"storage.type.depth-texture.wgsl","match":"\\b(texture_depth_2d|texture_depth_2d_array|texture_depth_cube|texture_depth_cube_array)\\b"},{"name":"storage.type.sampler.wgsl","match":"\\b(sampler|sampler_comparison)\\b"}]},"types":{"patterns":[{"include":"#plain_types"},{"include":"#memory_views"},{"include":"#texture_and_sampler_types"}]},"variables":{"patterns":[{"name":"variable.other.wgsl","match":"\\b([_$[:alpha:]][_$[:alnum:]]*)\\b"}]},"vector_types":{"patterns":[{"name":"storage.type.vectors.wgsl","match":"\\b(vec)([2-4])\\b"},{"name":"storage.type.vectors.wgsl","match":"\\b(vec)([2-4])(i|u|f|h)\\b"}]}}}
@@ -1 +1 @@
1
- {"scopeName":"source.wwb","patterns":[{"include":"#keywords"},{"include":"#types"},{"include":"source.vba"}],"repository":{"keywords":{"patterns":[{"name":"keyword.control.wwb","match":"((?i)\\b(AndAlso|OrElse|IsNot|Return)\\b)"}]},"types":{"patterns":[{"name":"support.type.builtin.wwb","match":"((?i)\\b(Decimal|Huge_|PortInt|SByte|UHuge_|UInteger|ULong)\\b)"}]}}}
1
+ {"name":"WinWrap Basic","scopeName":"source.wwb","patterns":[{"include":"#keywords"},{"include":"#types"},{"include":"source.vba"}],"repository":{"keywords":{"patterns":[{"name":"keyword.control.wwb","match":"((?i)\\b(AndAlso|OrElse|IsNot|Return)\\b)"}]},"types":{"patterns":[{"name":"support.type.builtin.wwb","match":"((?i)\\b(Decimal|Huge_|PortInt|SByte|UHuge_|UInteger|ULong)\\b)"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"Git Commit","scopeName":"text.git-commit","patterns":[{"include":"#main"}],"repository":{"comment":{"name":"comment.line.git-commit","begin":"^#","end":"$","patterns":[{"name":"meta.generic.variable.other.modified.git-commit","match":"(modified)(:) +(.+)","captures":{"1":{"name":"markup.changed.git-commit"},"3":{"name":"markup.bold.filename.git-commit"}}},{"name":"meta.generic.variable.other.renamed.git-commit","match":"(renamed)(:) +(.+)(-\u003e)(.+)","captures":{"1":{"name":"markup.changed.git-commit"},"3":{"name":"markup.bold.filename.git-commit"},"4":{"name":"markup.raw.token.git-commit"},"5":{"name":"markup.bold.filename.git-commit"}}},{"name":"meta.generic.variable.other.deleted.git-commit","match":"(deleted)(:) +(.+)","captures":{"1":{"name":"markup.deleted.git-commit"},"3":{"name":"markup.bold.filename.git-commit"}}},{"name":"meta.generic.variable.other.new-file.git-commit","match":"(new file)(:) +(.+)","captures":{"1":{"name":"markup.inserted.git-commit"},"3":{"name":"markup.bold.filename.git-commit"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.git-commit"}}},"main":{"patterns":[{"include":"#comment"}]}}}