github-linguist 9.0.0 → 9.1.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.
- checksums.yaml +4 -4
- data/grammars/liquid.injection.json +1 -1
- data/grammars/source.abap.json +1 -1
- data/grammars/source.abl.json +1 -1
- data/grammars/source.answersetprogramming.json +1 -0
- data/grammars/source.apacheconf.json +1 -0
- data/grammars/source.assembly.json +1 -1
- data/grammars/source.ats.json +1 -1
- data/grammars/source.brs.json +1 -1
- data/grammars/source.bst.json +1 -0
- data/grammars/source.c.linker.json +1 -0
- data/grammars/source.cairo0.json +1 -1
- data/grammars/source.cobol.json +1 -1
- data/grammars/source.cs.json +1 -1
- data/grammars/source.curry.json +1 -1
- data/grammars/source.dds.dspf.json +1 -1
- data/grammars/source.erlang.json +1 -1
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.git-revlist.json +1 -1
- data/grammars/source.gleam.json +1 -1
- data/grammars/source.hack.json +1 -1
- data/grammars/source.hcl.json +1 -1
- data/grammars/source.ice.json +1 -1
- data/grammars/source.ispc.json +1 -0
- data/grammars/source.jai.json +1 -0
- data/grammars/source.json.comments.json +1 -0
- data/grammars/source.just.json +1 -1
- data/grammars/source.kdl.json +1 -0
- data/grammars/source.lean.markdown.json +1 -1
- data/grammars/source.lean4.markdown.json +1 -1
- data/grammars/source.matlab.json +1 -1
- data/grammars/source.mo.json +1 -1
- data/grammars/source.moonbit.json +1 -1
- data/grammars/source.mzn.json +1 -0
- data/grammars/source.nr.json +1 -1
- data/grammars/source.openesql.json +1 -1
- data/grammars/source.overpassql.json +1 -0
- data/grammars/source.polar.json +1 -1
- data/grammars/source.prisma.json +1 -1
- data/grammars/source.purescript.json +1 -1
- data/grammars/source.ql.json +1 -1
- data/grammars/source.qsharp.json +1 -1
- data/grammars/source.rascal.json +1 -1
- data/grammars/source.rpgle.json +1 -1
- data/grammars/source.scala.json +1 -1
- data/grammars/source.scm.json +1 -0
- data/grammars/source.slang.json +1 -0
- data/grammars/source.slice.json +1 -1
- data/grammars/source.sourcepawn.json +1 -1
- data/grammars/source.stan.json +1 -1
- data/grammars/source.swift.json +1 -1
- data/grammars/source.tact.json +1 -1
- data/grammars/source.talon.json +1 -1
- data/grammars/source.templ.json +1 -1
- data/grammars/source.textgrid.json +1 -1
- data/grammars/source.toc.json +1 -1
- data/grammars/source.ts.prismaClientRawSQL.json +1 -1
- data/grammars/source.tsp.json +1 -1
- data/grammars/source.typst.json +1 -1
- data/grammars/source.vue.json +1 -1
- data/grammars/source.wdl.json +1 -1
- data/grammars/source.xmake.json +1 -0
- data/grammars/text.html.liquid.json +1 -1
- data/grammars/text.html.markdown.d2.json +1 -1
- data/grammars/text.rtf.json +1 -1
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +1 -1
- data/lib/linguist/heuristics.yml +57 -17
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +155 -23
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist/shebang.rb +1 -1
- metadata +16 -6
- data/grammars/source.apache-config.json +0 -1
- data/grammars/source.apache-config.mod_perl.json +0 -1
- data/grammars/text.html.erlang.yaws.json +0 -1
data/grammars/source.tact.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Tact","scopeName":"source.tact","patterns":[{"include":"#comment"},{"include":"#annotation"},{"include":"#literal"},{"include":"#invalid"},{"include":"#constant"},{"include":"#type"},{"include":"#expression"},{"include":"#punctuation"},{"include":"#keyword"},{"include":"#function"},{"include":"#variable"}],"repository":{"annotation":{"patterns":[{"begin":"^\\s*(@name)\\s*(\\()","end":"\\)","patterns":[{"name":"entity.name.function.func.tact","match":"(.*?)"}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.tact"},"2":{"name":"punctuation.brackets.round.tact"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.tact"}}},{"begin":"(?\u003c!\\.)(@interface)\\s*(\\()","end":"\\)","patterns":[{"include":"#string"}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.tact"},"2":{"name":"punctuation.brackets.round.tact"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.tact"}}},{"begin":"(?\u003c!\\.)(asm)\\s*(\\()","end":"\\)","patterns":[{"include":"#variable"},{"name":"keyword.operator.mapsto.tact","match":"-\u003e"},{"name":"constant.numeric.decimal.tact","match":"\\b(0[0-9]*)\\b"},{"name":"constant.numeric.decimal.tact","match":"\\b([1-9](?:_?[0-9])*)\\b"}],"beginCaptures":{"1":{"name":"
|
1
|
+
{"name":"Tact","scopeName":"source.tact","patterns":[{"include":"#comment"},{"include":"#annotation"},{"include":"#literal"},{"include":"#invalid"},{"include":"#constant"},{"include":"#type"},{"include":"#expression"},{"include":"#punctuation"},{"include":"#keyword"},{"include":"#function"},{"include":"#variable"}],"repository":{"annotation":{"patterns":[{"begin":"^\\s*(@name)\\s*(\\()","end":"\\)","patterns":[{"name":"entity.name.function.func.tact","match":"(.*?)"}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.tact"},"2":{"name":"punctuation.brackets.round.tact"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.tact"}}},{"begin":"(?\u003c!\\.)(@interface)\\s*(\\()","end":"\\)","patterns":[{"include":"#string"}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.tact"},"2":{"name":"punctuation.brackets.round.tact"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.tact"}}},{"begin":"(?\u003c!\\.)(asm)\\s*(\\()","end":"\\)","patterns":[{"include":"#variable"},{"name":"keyword.operator.mapsto.tact","match":"-\u003e"},{"name":"constant.numeric.decimal.tact","match":"\\b(0[0-9]*)\\b"},{"name":"constant.numeric.decimal.tact","match":"\\b([1-9](?:_?[0-9])*)\\b"}],"beginCaptures":{"1":{"name":"keyword.other.asm.tact"},"2":{"name":"punctuation.brackets.round.tact"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.tact"}}},{"name":"entity.other.attribute-name.tact","match":"(?\u003c!\\.)\\b(@name|@interface)\\b"},{"name":"keyword.other.asm.tact","match":"(?\u003c!\\.)\\b(asm)\\b"}]},"as-tlb":{"patterns":[{"match":"(?\u003c!\\.)\\b(as)\\s+(coins|varu?int(?:32|16)|remaining|bytes(?:32|64)|int257|u?int(?:25[0-6]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]?))\\b","captures":{"1":{"name":"keyword.other.as.tact storage.modifier.tact"},"2":{"name":"entity.name.type.tact"}}}]},"comment":{"patterns":[{"name":"comment.line.double-slash.tact","begin":"//","end":"$","patterns":[{"include":"#todo"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.line.double-slash.tact"}}},{"name":"comment.block.tact","begin":"\\s*/\\*","end":"\\*/","patterns":[{"include":"#todo"}],"beginCaptures":{"0":{"name":"comment.block.begin.tact punctuation.definition.comment.begin.tact"}},"endCaptures":{"0":{"name":"comment.block.end.tact punctuation.definition.comment.end.tact"}}}]},"constant":{"patterns":[{"name":"constant.other.builtin.tact","match":"(?\u003c=self\\.)(storageReserve)\\b"},{"name":"constant.other.builtin.tact","match":"(?\u003c!\\.)\\b(SendDefaultMode|SendRemainingValue|SendRemainingBalance|SendPayGasSeparately|SendIgnoreErrors|SendBounceIfActionFail|SendDestroyIfZero|SendOnlyEstimateFee|ReserveExact|ReserveAllExcept|ReserveAtMost|ReserveAddOriginalBalance|ReserveInvertSign|ReserveBounceIfActionFail)\\b"},{"name":"constant.other.caps.tact","match":"\\b([A-Z]{2}[A-Z0-9_]*)\\b"},{"match":"(?\u003c!\\.)\\b(const)\\s+([a-zA-Z_][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.other.tact"},"2":{"name":"constant.other.declaration.tact"}}},{"name":"constant.language.null.tact","match":"(?\u003c!\\.)\\b(null)\\b"}]},"escape-sequence":{"name":"constant.character.escape.tact","match":"(?:\\\\)(?:(\\\\)|(\")|([nrtvbf])|(x[a-fA-F0-9]{2})|(u[a-fA-F0-9]{4})|(u\\{[a-fA-F0-9]{1,6}\\}))","captures":{"1":{"name":"constant.character.escape.backslash.tact"},"2":{"name":"constant.character.escape.double-quote.tact"},"3":{"name":"constant.character.escape.special.tact"},"4":{"name":"constant.character.escape.hex.tact"},"5":{"name":"constant.character.escape.unicode.tact"},"6":{"name":"constant.character.escape.unicodepoint.tact"}}},"expression":{"patterns":[{"name":"keyword.operator.logical.tact","match":"(\\|\\||\u0026\u0026|!!?)(?!=)"},{"name":"keyword.operator.bitwise.tact","match":"(\\^|\u0026|\\||~|\u003c\u003c|\u003e\u003e)(?!=)"},{"name":"keyword.operator.assignment.tact","match":"(\\+=|-=|\\*=|/=|%=|\\^=|\u0026=|\\|=|\\|\\|=|\u0026\u0026=|\u003c\u003c=|\u003e\u003e=)"},{"name":"keyword.operator.assignment.equal.tact","match":"(?\u003c![\u003c\u003e])=(?!=)"},{"name":"keyword.operator.comparison.tact","match":"([!=]=|\u003c=?|\u003e=?)"},{"name":"keyword.operator.arithmetic.tact","match":"([+%*\\-])|(/(?!/))"},{"name":"keyword.operator.new.tact","match":"\\b(initOf)\\b"},{"name":"keyword.operator.new.tact","match":"\\b(codeOf)\\b"},{"begin":"(?!\\?\\.\\s*[^[:digit:]])(\\?)(?!\\?)","end":"\\s*(:)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.operator.ternary.tact"}},"endCaptures":{"1":{"name":"keyword.operator.ternary.tact"}}}]},"function":{"match":"\\b((?:[a-zA-Z_][a-zA-Z0-9_]*))\\s*(\\()","captures":{"1":{"name":"entity.name.function.tact"},"2":{"name":"punctuation.brackets.round.tact"}}},"invalid":{"patterns":[{"name":"invalid.illegal.identifier.tact","match":"\\b__(?:gen|tact)[a-zA-Z0-9_]*\\b"}]},"keyword":{"patterns":[{"name":"keyword.control.import.tact","match":"(?\u003c!\\.)\\b(import)\\b"},{"name":"keyword.control.tact","match":"(?\u003c=\\.\\.)\\b(else|catch|until|in(?!\\s*\\())\\b"},{"name":"keyword.control.tact","match":"(?\u003c!\\.)\\b(if|else|try|catch|repeat|do|until|while|foreach|in(?!\\s*\\()|return)\\b"},{"name":"keyword.other.tact","match":"(?\u003c!\\.)\\b(let|const)\\b"},{"name":"keyword.other.as.tact storage.modifier.tact","match":"(?\u003c!\\.)\\b(as)\\b"},{"name":"keyword.other.struct.tact","match":"(?\u003c!\\.)\\b(struct)\\b"},{"name":"keyword.other.message.tact","match":"(?\u003c!\\.)\\b(message)\\b"},{"name":"keyword.other.trait.tact","match":"(?\u003c!\\.)\\b(trait)\\b"},{"name":"keyword.other.contract.tact","match":"(?\u003c!\\.)\\b(contract)\\b"},{"name":"keyword.other.attribute.tact storage.modifier.tact","match":"(?\u003c!\\.)\\b(abstract|virtual|override)\\b"},{"name":"keyword.other.attribute.tact","match":"(?\u003c!\\.)\\b(extends|get|inline|mutates)\\b"},{"name":"keyword.other.function.tact","match":"(?\u003c!\\.)\\b(fun|native)\\b"},{"name":"keyword.other.function.tact","match":"(?\u003c!\\.)\\b(init|receive|bounced|external)(?=\\s*\\()"},{"name":"keyword.other.reserved.tact","match":"(?\u003c!\\.)\\b(extend|public)\\b"},{"name":"keyword.other.tact","match":"(?\u003c!\\.)\\b(primitive|with)\\b"}]},"literal":{"patterns":[{"name":"constant.numeric.hex.tact","match":"\\b(0[xX][a-fA-F0-9](?:_?[a-fA-F0-9])*)\\b"},{"name":"constant.numeric.oct.tact","match":"\\b(0[oO][0-7](?:_?[0-7])*)\\b"},{"name":"constant.numeric.bin.tact","match":"\\b(0[bB][01](?:_?[01])*)\\b"},{"name":"constant.numeric.decimal.tact","match":"\\b(0[0-9]*)\\b"},{"name":"constant.numeric.decimal.tact","match":"\\b([1-9](?:_?[0-9])*)\\b"},{"name":"constant.language.bool.tact","match":"(?\u003c!\\.)\\b(true|false)\\b"},{"include":"#string"},{"name":"variable.language.this.tact","match":"(?\u003c!\\.)\\b(self)\\b"}]},"punctuation":{"patterns":[{"name":"punctuation.comma.tact","match":","},{"name":"punctuation.brackets.curly.tact","match":"[{}]"},{"name":"punctuation.brackets.round.tact","match":"[()]"},{"name":"punctuation.semi.tact","match":";"},{"name":"punctuation.colon.tact","match":":"},{"name":"punctuation.dot.tact","match":"\\."}]},"simple-type":{"match":"(?\u003c!\\.)\\b([A-Z][a-zA-Z0-9_]*)(\\??)","captures":{"1":{"name":"entity.name.type.tact"},"2":{"name":"keyword.operator.optional.tact"}}},"string":{"name":"string.quoted.double.tact","begin":"\"","end":"\"","patterns":[{"include":"#escape-sequence"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tact"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.tact"}}},"todo":{"name":"keyword.comment.todo.tact","match":"\\b(FIXME|TODO|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG)\\b"},"type":{"patterns":[{"include":"#simple-type"},{"begin":"(?\u003c!\\.)\\b(bounced)\\s*(\u003c)","end":"\u003e","patterns":[{"include":"#simple-type"}],"beginCaptures":{"1":{"name":"entity.name.type.tact"},"2":{"name":"punctuation.brackets.angle.tact"}},"endCaptures":{"0":{"name":"punctuation.brackets.angle.tact"}}},{"begin":"(?\u003c!\\.)\\b(map)\\s*(\u003c)","end":"\u003e","patterns":[{"include":"#simple-type"},{"name":"punctuation.comma.tact","match":","},{"include":"#as-tlb"}],"beginCaptures":{"1":{"name":"entity.name.type.tact"},"2":{"name":"punctuation.brackets.angle.tact"}},"endCaptures":{"0":{"name":"punctuation.brackets.angle.tact"}}},{"include":"#as-tlb"}]},"variable":{"patterns":[{"name":"comment.unused-identifier.tact","match":"(?\u003c!\\.)\\b(_)\\b"},{"name":"variable.other.tact","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}]}}}
|
data/grammars/source.talon.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"TalonScript","scopeName":"source.talon","patterns":[{"include":"#body-header"},{"include":"#header"},{"include":"#body-noheader"},{"include":"#comment"},{"include":"#settings"}],"repository":{"action":{"name":"variable.parameter.talon","begin":"([a-zA-Z0-9._]+)(\\()","end":"(\\))","patterns":[{"include":"#action"},{"include":"#qstring-long"},{"include":"#qstring"},{"include":"#argsep"},{"include":"#number"},{"include":"#operator"},{"include":"#varname"}],"beginCaptures":{"1":{"name":"entity.name.function.talon","patterns":[{"name":"punctuation.separator.talon","match":"\\."}]},"2":{"name":"punctuation.definition.parameters.begin.talon"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.talon"}}},"action-gamepad":{"name":"entity.name.function.talon","match":"(deck|gamepad|action|face|parrot)(\\()(.*)(\\))","captures":{"2":{"name":"punctuation.definition.parameters.begin.talon"},"3":{"name":"variable.parameter.talon","patterns":[{"include":"#key-mods"}]},"4":{"name":"punctuation.definition.parameters.key.talon"}}},"action-key":{"name":"entity.name.function.talon","match":"key(\\()(.*)(\\))","captures":{"1":{"name":"punctuation.definition.parameters.begin.talon"},"2":{"name":"variable.parameter.talon","patterns":[{"include":"#key-prefixes"},{"include":"#key-mods"},{"include":"#keystring"}]},"3":{"name":"punctuation.definition.parameters.key.talon"}}},"argsep":{"name":"punctuation.separator.talon","match":","},"assignment":{"
|
1
|
+
{"name":"TalonScript","scopeName":"source.talon","patterns":[{"include":"#body-header"},{"include":"#header"},{"include":"#body-noheader"},{"include":"#comment"},{"include":"#settings"}],"repository":{"action":{"name":"variable.parameter.talon","begin":"([a-zA-Z0-9._]+)(\\()","end":"(\\))","patterns":[{"include":"#action"},{"include":"#qstring-long"},{"include":"#qstring"},{"include":"#argsep"},{"include":"#number"},{"include":"#operator"},{"include":"#varname"}],"beginCaptures":{"1":{"name":"entity.name.function.talon","patterns":[{"name":"punctuation.separator.talon","match":"\\."}]},"2":{"name":"punctuation.definition.parameters.begin.talon"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.talon"}}},"action-gamepad":{"name":"entity.name.function.talon","match":"(deck|gamepad|action|face|parrot)(\\()(.*)(\\))","captures":{"2":{"name":"punctuation.definition.parameters.begin.talon"},"3":{"name":"variable.parameter.talon","patterns":[{"include":"#key-mods"}]},"4":{"name":"punctuation.definition.parameters.key.talon"}}},"action-key":{"name":"entity.name.function.talon","match":"key(\\()(.*)(\\))","captures":{"1":{"name":"punctuation.definition.parameters.begin.talon"},"2":{"name":"variable.parameter.talon","patterns":[{"include":"#key-prefixes"},{"include":"#key-mods"},{"include":"#keystring"}]},"3":{"name":"punctuation.definition.parameters.key.talon"}}},"argsep":{"name":"punctuation.separator.talon","match":","},"assignment":{"begin":"(\\S*)(\\s?=\\s?)","end":"\n","patterns":[{"include":"#comment"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"variable.other.talon"},"2":{"name":"keyword.operator.talon"}}},"body-header":{"begin":"^-$","end":"(?=not)possible","patterns":[{"include":"#body-noheader"}]},"body-noheader":{"patterns":[{"include":"#comment"},{"include":"#other-rule-definition"},{"include":"#speech-rule-definition"}]},"capture":{"name":"variable.parameter.talon","match":"(\\\u003c[a-zA-Z0-9._]+\\\u003e)"},"comment":{"name":"comment.line.number-sign.talon","match":"(\\s*#.*)$"},"context":{"match":"(.*): (.*)","captures":{"1":{"name":"entity.name.tag.talon","patterns":[{"name":"keyword.operator.talon","match":"(and |or )"}]},"2":{"name":"entity.name.type.talon","patterns":[{"include":"#comment"},{"include":"#regexp"}]}}},"expression":{"patterns":[{"include":"#qstring-long"},{"include":"#action-key"},{"include":"#action"},{"include":"#operator"},{"include":"#number"},{"include":"#qstring"},{"include":"#varname"}]},"fstring":{"name":"constant.character.format.placeholder.talon","match":"{(.+?)}","captures":{"1":{"patterns":[{"include":"#action"},{"include":"#operator"},{"include":"#number"},{"include":"#varname"},{"include":"#qstring"}]}}},"header":{"begin":"(?=^app:|title:|os:|tag:|list:|language:)","end":"(?=^-$)","patterns":[{"include":"#comment"},{"include":"#context"}]},"key-mods":{"name":"keyword.operator.talon","match":"(:)(up|down|change|repeat|start|stop|\\d+)","captures":{"1":{"name":"keyword.operator.talon"},"2":{"name":"keyword.control.talon"}}},"key-prefixes":{"match":"(ctrl|shift|cmd|alt|win|super)(-)","captures":{"1":{"name":"keyword.control.talon"},"2":{"name":"keyword.operator.talon"}}},"keystring":{"name":"string.quoted.double.talon","begin":"(\"|')","end":"(\\1)|$","patterns":[{"include":"#string-body"},{"include":"#key-mods"},{"include":"#key-prefixes"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.talon"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.talon"}}},"list":{"name":"string.interpolated.talon","match":"({[a-zA-Z0-9._]+?})"},"number":{"name":"constant.numeric.talon","match":"(?\u003c=\\b)\\d+(\\.\\d+)?"},"operator":{"name":"keyword.operator.talon","match":"\\s(\\+|-|\\*|/|or)\\s"},"other-rule-definition":{"begin":"^([a-z]+\\(.*[^\\-]\\)|[a-z]+\\(.*--\\)|[a-z]+\\(-\\)|[a-z]+\\(\\)):","end":"(?=^[^\\s#])","patterns":[{"include":"#statement"}],"beginCaptures":{"1":{"name":"entity.name.tag.talon","patterns":[{"include":"#action-key"},{"include":"#action-gamepad"},{"include":"#rule-specials"}]}}},"qstring":{"name":"string.quoted.double.talon","begin":"(\"|')","end":"(\\1)|$","patterns":[{"include":"#string-body"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.talon"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.talon"}}},"qstring-long":{"name":"string.quoted.triple.talon","begin":"(\"\"\"|''')","end":"(\\1)","patterns":[{"include":"#string-body"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.talon"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.talon"}}},"regexp":{"name":"string.regexp.talon","begin":"(/)","end":"(/)","patterns":[{"name":"support.other.match.any.regexp","match":"\\."},{"name":"support.other.match.end.regexp","match":"\\$"},{"name":"support.other.match.begin.regexp","match":"\\^"},{"name":"constant.character.escape.talon","match":"\\\\\\.|\\\\\\*|\\\\\\^|\\\\\\$|\\\\\\+|\\\\\\?"},{"name":"constant.other.set.regexp","match":"\\[(\\\\\\]|[^\\]])*\\]"},{"name":"keyword.operator.quantifier.regexp","match":"\\*|\\+|\\?"}]},"rule-specials":{"match":"(settings|tag)(\\()(\\))","captures":{"1":{"name":"entity.name.function.talon"},"2":{"name":"punctuation.definition.parameters.begin.talon"},"3":{"name":"punctuation.definition.parameters.end.talon"}}},"speech-rule-definition":{"begin":"^(.*?):","end":"(?=^[^\\s#])","patterns":[{"include":"#statement"}],"beginCaptures":{"1":{"name":"entity.name.tag.talon","patterns":[{"name":"string.regexp.talon","match":"^\\^"},{"name":"string.regexp.talon","match":"\\$$"},{"name":"punctuation.definition.parameters.begin.talon","match":"\\("},{"name":"punctuation.definition.parameters.end.talon","match":"\\)"},{"name":"punctuation.separator.talon","match":"\\|"},{"include":"#capture"},{"include":"#list"}]}}},"statement":{"patterns":[{"include":"#comment"},{"include":"#qstring-long"},{"include":"#action-key"},{"include":"#action"},{"include":"#qstring"},{"include":"#assignment"}]},"string-body":{"patterns":[{"name":"string.quoted.double.talon","match":"{{|}}"},{"name":"constant.character.escape.python","match":"\\\\\\\\|\\\\n|\\\\t|\\\\r|\\\\\"|\\\\'"},{"include":"#fstring"}]},"varname":{"name":"variable.parameter.talon","match":"([a-zA-Z0-9._])(_(list|\\d+))?","captures":{"2":{"name":"constant.numeric.talon","patterns":[{"name":"keyword.operator.talon","match":"_"}]}}}}}
|
data/grammars/source.templ.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"templ","scopeName":"source.templ","patterns":[{"include":"#script-template"},{"include":"#css-template"},{"include":"#html-template"},{"include":"source.go"}],"repository":{"block-element":{"name":"meta.tag.block.any.html","begin":"(\u003c/?)((?i:address|blockquote|dd|div|section|article|aside|header|footer|nav|menu|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|pre)(?=\\s|\\\\|\u003e))","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.block.any.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},"call-expression":{"name":"call-expression.templ","begin":"({\\!)\\s+","end":"(})","patterns":[{"include":"source.go"}],"beginCaptures":{"0":{"name":"start.call-expression.templ"},"1":{"name":"punctuation.brace.open"}},"endCaptures":{"0":{"name":"end.call-expression.templ"},"1":{"name":"punctuation.brace.close"}}},"case-expression":{"begin":"^\\s*case .+?:$","end":"(^\\s*case .+?:$)|(^\\s*default:$)|(\\s*$)","patterns":[{"include":"#template-node"}],"captures":{"0":{"name":"case.switch.html-template.templ","patterns":[{"include":"source.go"}]}}},"close-element":{"name":"meta.tag.other.html","begin":"(\u003c/?)([a-zA-Z0-9:\\-]+)","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.other.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},"css-template":{"name":"css-template.templ","begin":"^(css) ([A-z_][A-z_0-9]*\\()","end":"(?\u003c=^}$)","patterns":[{"name":"params.css-template.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"block.css-template.templ","begin":"(?\u003c=\\)) ({)$","end":"^(})$","patterns":[{"name":"property.css-template.templ","begin":"\\s*((?:-(?:webkit|moz|o|ms|khtml)-)?(?:zoom|z-index|y|x|writing-mode|wrap|wrap-through|wrap-inside|wrap-flow|wrap-before|wrap-after|word-wrap|word-spacing|word-break|word|will-change|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|vector-effect|variant|user-zoom|user-select|up|unicode-(bidi|range)|trim|translate|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform-box|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-underline-position|text-transform|text-spacing|text-space-trim|text-space-collapse|text-size-adjust|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-orientation|text-justify|text-indent|text-height|text-emphasis-style|text-emphasis-skip|text-emphasis-position|text-emphasis-color|text-emphasis|text-decoration-style|text-decoration-stroke|text-decoration-skip|text-decoration-line|text-decoration-fill|text-decoration-color|text-decoration|text-combine-upright|text-anchor|text-align-last|text-align-all|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|system|symbols|suffix|style-type|style-position|style-image|style|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|string-set|stretch|stress|stop-opacity|stop-color|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak-as|speak|span|spacing|space-collapse|space|solid-opacity|solid-color|sizing|size-adjust|size|shape-rendering|shape-padding|shape-outside|shape-margin|shape-inside|shape-image-threshold|shadow|scroll-snap-type|scroll-snap-points-y|scroll-snap-points-x|scroll-snap-destination|scroll-snap-coordinate|scroll-behavior|scale|ry|rx|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-merge|ruby-align|ruby|rows|rotation-point|rotation|rotate|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resolution|resize|reset|replace|repeat|rendering-intent|region-fragment|rate|range|radius|r|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|prefix|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|perspective-origin|perspective|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-inline-start|padding-inline-end|padding-bottom|padding-block-start|padding-block-end|padding|pad|pack|overhang|overflow-y|overflow-x|overflow-wrap|overflow-style|overflow-inline|overflow-block|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset-start|offset-inline-start|offset-inline-end|offset-end|offset-block-start|offset-block-end|offset-before|offset-after|offset|object-position|object-fit|numeral|new|negative|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|motion-rotation|motion-path|motion-offset|motion|model|mix-blend-mode|min-zoom|min-width|min-inline-size|min-height|min-block-size|min|max-zoom|max-width|max-lines|max-inline-size|max-height|max-block-size|max|mask-type|mask-size|mask-repeat|mask-position|mask-origin|mask-mode|mask-image|mask-composite|mask-clip|mask-border-width|mask-border-source|mask-border-slice|mask-border-repeat|mask-border-outset|mask-border-mode|mask-border|mask|marquee-style|marquee-speed|marquee-play-count|marquee-loop|marquee-direction|marquee|marks|marker-start|marker-side|marker-mid|marker-end|marker|margin-top|margin-right|margin-left|margin-inline-start|margin-inline-end|margin-bottom|margin-block-start|margin-block-end|margin|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-snap|line-height|line-grid|line-break|line|lighting-color|level|letter-spacing|length|left-width|left-style|left-color|left|label|kerning|justify-self|justify-items|justify-content|justify|iteration-count|isolation|inline-size|inline-box-align|initial-value|initial-size|initial-letter-wrap|initial-letter-align|initial-letter|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-rendering|image-resolution|image-orientation|image|icon|hyphens|hyphenate-limit-zone|hyphenate-limit-lines|hyphenate-limit-last|hyphenate-limit-chars|hyphenate-character|hyphenate|height|header|hanging-punctuation|grid-template-rows|grid-template-columns|grid-template-areas|grid-template|grid-row-start|grid-row-gap|grid-row-end|grid-row|grid-rows|grid-gap|grid-column-start|grid-column-gap|grid-column-end|grid-column|grid-columns|grid-auto-rows|grid-auto-flow|grid-auto-columns|grid-area|grid|glyph-orientation-vertical|glyph-orientation-horizontal|gap|font-weight|font-variant-position|font-variant-numeric|font-variant-ligatures|font-variant-east-asian|font-variant-caps|font-variant-alternates|font-variant|font-synthesis|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|flow-into|flow-from|flow|flood-opacity|flood-color|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|filter|fill-rule|fill-opacity|fill|family|fallback|enable-background|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cy|cx|cursor|cue-before|cue-after|cue|crop|counter-set|counter-reset|counter-increment|counter|count|corner-shape|corners|continue|content|contain|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-rendering|color-profile|color-interpolation-filters|color-interpolation|color-adjust|color|collapse|clip-rule|clip-path|clip|clear|character|caret-shape|caret-color|caret|caption-side|buffered-rendering|break-inside|break-before|break-after|break|box-suppress|box-snap|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-limit|border-length|border-left-width|border-left-style|border-left-color|border-left|border-inline-start-width|border-inline-start-style|border-inline-start-color|border-inline-start|border-inline-end-width|border-inline-end-style|border-inline-end-color|border-inline-end|border-image-width|border-image-transform|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-clip-top|border-clip-right|border-clip-left|border-clip-bottom|border-clip|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border-block-start-width|border-block-start-style|border-block-start-color|border-block-start|border-block-end-width|border-block-end-style|border-block-end-color|border-block-end|border|bookmark-target|bookmark-level|bookmark-label|bookmark|block-size|binding|bidi|before|baseline-shift|baseline|balance|background-size|background-repeat|background-position-y|background-position-x|background-position-inline|background-position-block|background-position|background-origin|background-image|background-color|background-clip|background-blend-mode|background-attachment|background|backface-visibility|backdrop-filter|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|alt|all|alignment-baseline|alignment-adjust|alignment|align-last|align-self|align-items|align-content|align|after|adjust|additive-symbols)):\\s+","end":"(?\u003c=;$)","patterns":[{"name":"expression.property.css-template.templ","begin":"({)","end":"(})(;)$","patterns":[{"include":"source.go"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"},"2":{"name":"punctuation.terminator.rule.css"}}},{"name":"constant.property.css-template.templ","match":"(.*)(;)$","captures":{"1":{"name":"support.type.property-value.css"},"2":{"name":"punctuation.terminator.rule.css"}}}],"beginCaptures":{"1":{"name":"support.type.property-name.css"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}},"default-expression":{"begin":"^\\s*default:$","end":"(^\\s*case .+?:$)|(^\\s*default:$)|(\\s*$)","patterns":[{"include":"#template-node"}],"captures":{"0":{"name":"default.switch.html-template.templ","patterns":[{"include":"source.go"}]}}},"element":{"name":"meta.tag.any.html","begin":"(\u003c)([a-zA-Z0-9:\\-]++)(?=[^\u003e]*\u003e\u003c/\\2\u003e)","end":"(\u003e(\u003c)/)(\\2)(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"meta.scope.between-tag-pair.html"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.html"}}},"else-expression":{"name":"else.html-template.templ","begin":"\\s+(else)\\s+({)\\s*$","end":"^\\s*(})$","patterns":[{"include":"#template-node"}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}},"else-if-expression":{"name":"else-if.html-template.templ","begin":"\\s(else if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.else-if.html-template.templ","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}}},{"name":"block.else-if.html-template.templ","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#template-node"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"entities":{"patterns":[{"name":"constant.character.entity.html","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#[xX][0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}}},{"name":"invalid.illegal.bad-ampersand.html","match":"\u0026"}]},"for-expression":{"name":"for.html-template.templ","begin":"^\\s*for .+{","end":"\\s*}\\s*\n","patterns":[{"include":"#template-node"}],"captures":{"0":{"name":"meta.embedded.block.go","patterns":[{"include":"source.go"}]}}},"go-comment-block":{"name":"comment.block.go","begin":"(\\/\\*)","end":"(\\*\\/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.go"}}},"go-comment-double-slash":{"name":"comment.line.double-slash.go","begin":"(\\/\\/)","end":"(?:\\n|$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}}},"html-comment":{"name":"comment.block.html","begin":"\u003c!--","end":"--\u003e","beginCaptures":{"0":{"name":"punctuation.definition.comment.html"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.html"}}},"html-template":{"name":"html-template.templ","begin":"^(templ) ((?:\\([A-z_][A-z_0-9]* \\*?[A-z_][A-z_0-9]*\\) )?[A-z_][A-z_0-9]*(\\(|\\[))","end":"(?\u003c=^}$)","patterns":[{"name":"params.html-template.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"type-params.html-template.templ","begin":"(?\u003c=\\[)","end":"(\\])","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.square.go"}}},{"name":"block.html-template.templ","begin":"(?\u003c=\\)) ({)$","end":"^(})$","patterns":[{"include":"#template-node"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}},"if-expression":{"name":"if.html-template.templ","begin":"^\\s*(if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.if.html-template.templ","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}}},{"name":"block.if.html-template.templ","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#template-node"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"import-expression":{"patterns":[{"name":"import-expression.templ","begin":"(@)((?:[A-z_][A-z_0-9]*\\.)?[A-z_][A-z_0-9]*(?:\\(|{|$))","end":"(?\u003c=\\))$|(?\u003c=})$|(?\u003c=$)","patterns":[{"name":"struct-method.import-expression.templ","begin":"(?\u003c=[A-z_0-9]{)","end":"\\s*(})(\\.[A-z_][A-z_0-9]*\\()","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"},"2":{"patterns":[{"include":"source.go"}]}}},{"name":"params.import-expression.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"children.import-expression.templ","begin":"(?\u003c=\\))\\s({)$","end":"^\\s*(})$","patterns":[{"include":"#template-node"}],"beginCaptures":{"1":{"name":"punctuation.brace.open"}},"endCaptures":{"1":{"name":"punctuation.brace.close"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}}]},"inline-element":{"name":"meta.tag.inline.any.html","begin":"(\u003c/?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)(?=\\s|\\\\|\u003e))","end":"((?: ?/)?\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.inline.any.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},"script-element":{"name":"meta.tag.script.html","begin":"(\u003c)(script)([^\u003e]*)(\u003e)","end":"\u003c/script\u003e","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"0":{"patterns":[{"include":"#close-element"}]}}},"script-template":{"name":"script-template.templ","begin":"^(script) ([A-z_][A-z_0-9]*\\()","end":"(?\u003c=^}$)","patterns":[{"name":"params.script-template.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"block.script-template.templ","begin":"(?\u003c=\\)) ({)$","end":"^(})$","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}},"sgml":{"name":"meta.tag.sgml.html","begin":"\u003c!","end":"\u003e","patterns":[{"name":"meta.tag.sgml.doctype.html","begin":"(?i:DOCTYPE)","end":"(?=\u003e)","patterns":[{"name":"string.quoted.double.doctype.identifiers-and-DTDs.html","match":"\"[^\"\u003e]*\""}],"captures":{"1":{"name":"entity.name.tag.doctype.html"}}},{"name":"constant.other.inline-data.html","begin":"\\[CDATA\\[","end":"]](?=\u003e)"},{"name":"invalid.illegal.bad-comments-or-CDATA.html","match":"(\\s*)(?!--|\u003e)\\S(\\s*)"}],"captures":{"0":{"name":"punctuation.definition.tag.html"}}},"string-double-quoted":{"name":"string.quoted.double.html","begin":"\"","end":"\"","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},"string-expression":{"name":"expression.html-template.templ","begin":"{\\s+","end":"}","patterns":[{"include":"source.go"}],"beginCaptures":{"0":{"name":"start.string-expression.templ"}},"endCaptures":{"0":{"name":"end.string-expression.templ"}}},"style-element":{"name":"meta.tag.style.html","begin":"(\u003c)(style)([^\u003e]*)(\u003e)","end":"\u003c/style\u003e","patterns":[{"include":"source.css"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"0":{"patterns":[{"include":"#close-element"}]}}},"switch-expression":{"name":"switch.html-template.templ","begin":"^\\s*switch .+?{$","end":"^\\s*}$","patterns":[{"include":"#template-node"},{"include":"#case-expression"},{"include":"#default-expression"}],"captures":{"0":{"name":"meta.embedded.block.go","patterns":[{"include":"source.go"}]}}},"tag-else-attribute":{"name":"else.attribute.html","begin":"\\s(else)\\s({)$","end":"^\\s*(})$","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"name":"punctuation.brace.open"}},"endCaptures":{"1":{"name":"punctuation.brace.close"}}},"tag-else-if-attribute":{"name":"else-if.attribute.html","begin":"\\s(else if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.else-if.attribute.html","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.brace.open"}}},{"name":"block.else-if.attribute.html","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#tag-stuff"}],"endCaptures":{"1":{"name":"punctuation.brace.close"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"tag-generic-attribute":{"name":"entity.other.attribute-name.html","match":"(?\u003c=[^=])\\b([a-zA-Z0-9:-]+)"},"tag-id-attribute":{"name":"meta.attribute-with-value.id.html","begin":"\\b(id)\\b\\s*(=)","end":"(?!\\G)(?\u003c='|\"|[^\\s\u003c\u003e/])","patterns":[{"name":"string.quoted.double.html","contentName":"meta.toc-list.id.html","begin":"\"","end":"\"","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},{"name":"string.quoted.single.html","contentName":"meta.toc-list.id.html","begin":"'","end":"'","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},{"name":"string.unquoted.html","match":"(?\u003c==)(?:[^\\s{}\u003c\u003e/'\"]|/(?!\u003e))+","captures":{"0":{"name":"meta.toc-list.id.html"}}}],"captures":{"1":{"name":"entity.other.attribute-name.id.html"},"2":{"name":"punctuation.separator.key-value.html"}}},"tag-if-attribute":{"name":"if.attribute.html","begin":"^\\s*(if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.if.attribute.html","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.brace.open"}}},{"name":"block.if.attribute.html","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#tag-stuff"}],"endCaptures":{"1":{"name":"punctuation.brace.close"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"tag-stuff":{"patterns":[{"include":"#tag-id-attribute"},{"include":"#tag-generic-attribute"},{"include":"#string-double-quoted"},{"include":"#string-expression"},{"include":"#tag-if-attribute"},{"include":"#tag-else-if-attribute"},{"include":"#tag-else-attribute"}]},"template-node":{"patterns":[{"include":"#string-expression"},{"include":"#call-expression"},{"include":"#import-expression"},{"include":"#script-element"},{"include":"#style-element"},{"include":"#element"},{"include":"#html-comment"},{"include":"#go-comment-block"},{"include":"#go-comment-double-slash"},{"include":"#sgml"},{"include":"#block-element"},{"include":"#inline-element"},{"include":"#close-element"},{"include":"#else-if-expression"},{"include":"#if-expression"},{"include":"#else-expression"},{"include":"#for-expression"},{"include":"#switch-expression"}]}}}
|
1
|
+
{"name":"templ","scopeName":"source.templ","patterns":[{"include":"#script-template"},{"include":"#css-template"},{"include":"#html-template"},{"include":"source.go"}],"repository":{"block-element":{"name":"meta.tag.block.any.html","begin":"(\u003c/?)((?i:address|blockquote|dd|div|section|article|aside|header|footer|nav|menu|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|pre)(?=\\s|\\\\|\u003e))","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.block.any.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},"call-expression":{"name":"call-expression.templ","begin":"({\\!)\\s+","end":"(})","patterns":[{"include":"source.go"}],"beginCaptures":{"0":{"name":"start.call-expression.templ"},"1":{"name":"punctuation.brace.open"}},"endCaptures":{"0":{"name":"end.call-expression.templ"},"1":{"name":"punctuation.brace.close"}}},"case-expression":{"begin":"^\\s*case .+?:$","end":"(^\\s*case .+?:$)|(^\\s*default:$)|(\\s*$)","patterns":[{"include":"#template-node"}],"captures":{"0":{"name":"case.switch.html-template.templ","patterns":[{"include":"source.go"}]}}},"close-element":{"name":"meta.tag.other.html","begin":"(\u003c/?)([a-zA-Z0-9:\\-]+)","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.other.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},"css-template":{"name":"css-template.templ","begin":"^(css) ([A-z_][A-z_0-9]*\\()","end":"(?\u003c=^}$)","patterns":[{"name":"params.css-template.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"block.css-template.templ","begin":"(?\u003c=\\)) ({)$","end":"^(})$","patterns":[{"name":"property.css-template.templ","begin":"\\s*((?:-(?:webkit|moz|o|ms|khtml)-)?(?:zoom|z-index|y|x|writing-mode|wrap|wrap-through|wrap-inside|wrap-flow|wrap-before|wrap-after|word-wrap|word-spacing|word-break|word|will-change|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|vector-effect|variant|user-zoom|user-select|up|unicode-(bidi|range)|trim|translate|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform-box|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-underline-position|text-transform|text-spacing|text-space-trim|text-space-collapse|text-size-adjust|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-orientation|text-justify|text-indent|text-height|text-emphasis-style|text-emphasis-skip|text-emphasis-position|text-emphasis-color|text-emphasis|text-decoration-style|text-decoration-stroke|text-decoration-skip|text-decoration-line|text-decoration-fill|text-decoration-color|text-decoration|text-combine-upright|text-anchor|text-align-last|text-align-all|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|system|symbols|suffix|style-type|style-position|style-image|style|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|string-set|stretch|stress|stop-opacity|stop-color|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak-as|speak|span|spacing|space-collapse|space|solid-opacity|solid-color|sizing|size-adjust|size|shape-rendering|shape-padding|shape-outside|shape-margin|shape-inside|shape-image-threshold|shadow|scroll-snap-type|scroll-snap-points-y|scroll-snap-points-x|scroll-snap-destination|scroll-snap-coordinate|scroll-behavior|scale|ry|rx|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-merge|ruby-align|ruby|rows|rotation-point|rotation|rotate|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resolution|resize|reset|replace|repeat|rendering-intent|region-fragment|rate|range|radius|r|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|prefix|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|perspective-origin|perspective|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-inline-start|padding-inline-end|padding-bottom|padding-block-start|padding-block-end|padding|pad|pack|overhang|overflow-y|overflow-x|overflow-wrap|overflow-style|overflow-inline|overflow-block|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset-start|offset-inline-start|offset-inline-end|offset-end|offset-block-start|offset-block-end|offset-before|offset-after|offset|object-position|object-fit|numeral|new|negative|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|motion-rotation|motion-path|motion-offset|motion|model|mix-blend-mode|min-zoom|min-width|min-inline-size|min-height|min-block-size|min|max-zoom|max-width|max-lines|max-inline-size|max-height|max-block-size|max|mask-type|mask-size|mask-repeat|mask-position|mask-origin|mask-mode|mask-image|mask-composite|mask-clip|mask-border-width|mask-border-source|mask-border-slice|mask-border-repeat|mask-border-outset|mask-border-mode|mask-border|mask|marquee-style|marquee-speed|marquee-play-count|marquee-loop|marquee-direction|marquee|marks|marker-start|marker-side|marker-mid|marker-end|marker|margin-top|margin-right|margin-left|margin-inline-start|margin-inline-end|margin-bottom|margin-block-start|margin-block-end|margin|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-snap|line-height|line-grid|line-break|line|lighting-color|level|letter-spacing|length|left-width|left-style|left-color|left|label|kerning|justify-self|justify-items|justify-content|justify|iteration-count|isolation|inline-size|inline-box-align|initial-value|initial-size|initial-letter-wrap|initial-letter-align|initial-letter|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-rendering|image-resolution|image-orientation|image|icon|hyphens|hyphenate-limit-zone|hyphenate-limit-lines|hyphenate-limit-last|hyphenate-limit-chars|hyphenate-character|hyphenate|height|header|hanging-punctuation|grid-template-rows|grid-template-columns|grid-template-areas|grid-template|grid-row-start|grid-row-gap|grid-row-end|grid-row|grid-rows|grid-gap|grid-column-start|grid-column-gap|grid-column-end|grid-column|grid-columns|grid-auto-rows|grid-auto-flow|grid-auto-columns|grid-area|grid|glyph-orientation-vertical|glyph-orientation-horizontal|gap|font-weight|font-variant-position|font-variant-numeric|font-variant-ligatures|font-variant-east-asian|font-variant-caps|font-variant-alternates|font-variant|font-synthesis|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|flow-into|flow-from|flow|flood-opacity|flood-color|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|filter|fill-rule|fill-opacity|fill|family|fallback|enable-background|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cy|cx|cursor|cue-before|cue-after|cue|crop|counter-set|counter-reset|counter-increment|counter|count|corner-shape|corners|continue|content|contain|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-rendering|color-profile|color-interpolation-filters|color-interpolation|color-adjust|color|collapse|clip-rule|clip-path|clip|clear|character|caret-shape|caret-color|caret|caption-side|buffered-rendering|break-inside|break-before|break-after|break|box-suppress|box-snap|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-limit|border-length|border-left-width|border-left-style|border-left-color|border-left|border-inline-start-width|border-inline-start-style|border-inline-start-color|border-inline-start|border-inline-end-width|border-inline-end-style|border-inline-end-color|border-inline-end|border-image-width|border-image-transform|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-clip-top|border-clip-right|border-clip-left|border-clip-bottom|border-clip|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border-block-start-width|border-block-start-style|border-block-start-color|border-block-start|border-block-end-width|border-block-end-style|border-block-end-color|border-block-end|border|bookmark-target|bookmark-level|bookmark-label|bookmark|block-size|binding|bidi|before|baseline-shift|baseline|balance|background-size|background-repeat|background-position-y|background-position-x|background-position-inline|background-position-block|background-position|background-origin|background-image|background-color|background-clip|background-blend-mode|background-attachment|background|backface-visibility|backdrop-filter|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|alt|all|alignment-baseline|alignment-adjust|alignment|align-last|align-self|align-items|align-content|align|after|adjust|additive-symbols)):\\s+","end":"(?\u003c=;$)","patterns":[{"name":"expression.property.css-template.templ","begin":"({)","end":"(})(;)$","patterns":[{"include":"source.go"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"},"2":{"name":"punctuation.terminator.rule.css"}}},{"name":"constant.property.css-template.templ","match":"(.*)(;)$","captures":{"1":{"name":"support.type.property-value.css"},"2":{"name":"punctuation.terminator.rule.css"}}}],"beginCaptures":{"1":{"name":"support.type.property-name.css"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}},"default-expression":{"begin":"^\\s*default:$","end":"(^\\s*case .+?:$)|(^\\s*default:$)|(\\s*$)","patterns":[{"include":"#template-node"}],"captures":{"0":{"name":"default.switch.html-template.templ","patterns":[{"include":"source.go"}]}}},"element":{"name":"meta.tag.any.html","begin":"(\u003c)([a-zA-Z0-9:\\-]++)(?=[^\u003e]*\u003e\u003c/\\2\u003e)","end":"(\u003e(\u003c)/)(\\2)(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"meta.scope.between-tag-pair.html"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.html"}}},"else-expression":{"name":"else.html-template.templ","begin":"\\s+(else)\\s+({)\\s*$","end":"^\\s*(})$","patterns":[{"include":"#template-node"}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}},"else-if-expression":{"name":"else-if.html-template.templ","begin":"\\s(else if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.else-if.html-template.templ","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}}},{"name":"block.else-if.html-template.templ","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#template-node"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"entities":{"patterns":[{"name":"constant.character.entity.html","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#[xX][0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}}},{"name":"invalid.illegal.bad-ampersand.html","match":"\u0026"}]},"for-expression":{"name":"for.html-template.templ","begin":"^\\s*for .+{","end":"\\s*}\\s*\n","patterns":[{"include":"#template-node"}],"captures":{"0":{"name":"meta.embedded.block.go","patterns":[{"include":"source.go"}]}}},"go-comment-block":{"name":"comment.block.go","begin":"(\\/\\*)","end":"(\\*\\/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.go"}}},"go-comment-double-slash":{"name":"comment.line.double-slash.go","begin":"(\\/\\/)","end":"(?:\\n|$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}}},"html-comment":{"name":"comment.block.html","begin":"\u003c!--","end":"--\u003e","beginCaptures":{"0":{"name":"punctuation.definition.comment.html"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.html"}}},"html-template":{"name":"html-template.templ","begin":"^(templ) ((?:\\([A-z_][A-z_0-9]* \\*?[A-z_][A-z_0-9]*\\) )?[A-z_][A-z_0-9]*(\\(|\\[))","end":"(?\u003c=^}$)","patterns":[{"name":"params.html-template.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"type-params.html-template.templ","begin":"(?\u003c=\\[)","end":"(\\])","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.square.go"}}},{"name":"block.html-template.templ","begin":"(?\u003c=\\)) ({)$","end":"^(})$","patterns":[{"include":"#template-node"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}},"if-expression":{"name":"if.html-template.templ","begin":"^\\s*(if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.if.html-template.templ","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}}},{"name":"block.if.html-template.templ","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#template-node"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"import-expression":{"patterns":[{"name":"import-expression.templ","begin":"(@)((?:[A-z_][A-z_0-9]*\\.)?[A-z_][A-z_0-9]*(?:\\(|{|$))","end":"(?\u003c=\\))$|(?\u003c=})$|(?\u003c=$)","patterns":[{"name":"struct-method.import-expression.templ","begin":"(?\u003c=[A-z_0-9]{)","end":"\\s*(})(\\.[A-z_][A-z_0-9]*\\()","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"},"2":{"patterns":[{"include":"source.go"}]}}},{"name":"params.import-expression.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"children.import-expression.templ","begin":"(?\u003c=\\))\\s({)$","end":"^\\s*(})$","patterns":[{"include":"#template-node"}],"beginCaptures":{"1":{"name":"punctuation.brace.open"}},"endCaptures":{"1":{"name":"punctuation.brace.close"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}}]},"inline-element":{"name":"meta.tag.inline.any.html","begin":"(\u003c/?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)(?=\\s|\\\\|\u003e))","end":"((?: ?/)?\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.inline.any.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},"raw-go":{"name":"raw-go.templ","begin":"{{","end":"}}","patterns":[{"include":"source.go"}],"beginCaptures":{"0":{"name":"start.raw-go.templ"},"1":{"name":"punctuation.brace.open"}},"endCaptures":{"0":{"name":"end.raw-go.templ"},"1":{"name":"punctuation.brace.open"}}},"script-element":{"name":"meta.tag.script.html","begin":"(\u003c)(script)([^\u003e]*)(\u003e)","end":"\u003c/script\u003e","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"0":{"patterns":[{"include":"#close-element"}]}}},"script-template":{"name":"script-template.templ","begin":"^(script) ([A-z_][A-z_0-9]*\\()","end":"(?\u003c=^}$)","patterns":[{"name":"params.script-template.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"block.script-template.templ","begin":"(?\u003c=\\)) ({)$","end":"^(})$","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}},"sgml":{"name":"meta.tag.sgml.html","begin":"\u003c!","end":"\u003e","patterns":[{"name":"meta.tag.sgml.doctype.html","begin":"(?i:DOCTYPE)","end":"(?=\u003e)","patterns":[{"name":"string.quoted.double.doctype.identifiers-and-DTDs.html","match":"\"[^\"\u003e]*\""}],"captures":{"1":{"name":"entity.name.tag.doctype.html"}}},{"name":"constant.other.inline-data.html","begin":"\\[CDATA\\[","end":"]](?=\u003e)"},{"name":"invalid.illegal.bad-comments-or-CDATA.html","match":"(\\s*)(?!--|\u003e)\\S(\\s*)"}],"captures":{"0":{"name":"punctuation.definition.tag.html"}}},"string-double-quoted":{"name":"string.quoted.double.html","begin":"\"","end":"\"","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},"string-expression":{"name":"expression.html-template.templ","begin":"{\\s+","end":"}","patterns":[{"include":"source.go"}],"beginCaptures":{"0":{"name":"start.string-expression.templ"}},"endCaptures":{"0":{"name":"end.string-expression.templ"}}},"style-element":{"name":"meta.tag.style.html","begin":"(\u003c)(style)([^\u003e]*)(\u003e)","end":"\u003c/style\u003e","patterns":[{"include":"source.css"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"0":{"patterns":[{"include":"#close-element"}]}}},"switch-expression":{"name":"switch.html-template.templ","begin":"^\\s*switch .+?{$","end":"^\\s*}$","patterns":[{"include":"#template-node"},{"include":"#case-expression"},{"include":"#default-expression"}],"captures":{"0":{"name":"meta.embedded.block.go","patterns":[{"include":"source.go"}]}}},"tag-else-attribute":{"name":"else.attribute.html","begin":"\\s(else)\\s({)$","end":"^\\s*(})$","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"name":"punctuation.brace.open"}},"endCaptures":{"1":{"name":"punctuation.brace.close"}}},"tag-else-if-attribute":{"name":"else-if.attribute.html","begin":"\\s(else if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.else-if.attribute.html","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.brace.open"}}},{"name":"block.else-if.attribute.html","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#tag-stuff"}],"endCaptures":{"1":{"name":"punctuation.brace.close"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"tag-generic-attribute":{"name":"entity.other.attribute-name.html","match":"(?\u003c=[^=])\\b([a-zA-Z0-9:-]+)"},"tag-id-attribute":{"name":"meta.attribute-with-value.id.html","begin":"\\b(id)\\b\\s*(=)","end":"(?!\\G)(?\u003c='|\"|[^\\s\u003c\u003e/])","patterns":[{"name":"string.quoted.double.html","contentName":"meta.toc-list.id.html","begin":"\"","end":"\"","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},{"name":"string.quoted.single.html","contentName":"meta.toc-list.id.html","begin":"'","end":"'","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},{"name":"string.unquoted.html","match":"(?\u003c==)(?:[^\\s{}\u003c\u003e/'\"]|/(?!\u003e))+","captures":{"0":{"name":"meta.toc-list.id.html"}}}],"captures":{"1":{"name":"entity.other.attribute-name.id.html"},"2":{"name":"punctuation.separator.key-value.html"}}},"tag-if-attribute":{"name":"if.attribute.html","begin":"^\\s*(if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.if.attribute.html","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.brace.open"}}},{"name":"block.if.attribute.html","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#tag-stuff"}],"endCaptures":{"1":{"name":"punctuation.brace.close"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"tag-stuff":{"patterns":[{"include":"#tag-id-attribute"},{"include":"#tag-generic-attribute"},{"include":"#string-double-quoted"},{"include":"#string-expression"},{"include":"#tag-if-attribute"},{"include":"#tag-else-if-attribute"},{"include":"#tag-else-attribute"}]},"template-node":{"patterns":[{"include":"#string-expression"},{"include":"#call-expression"},{"include":"#import-expression"},{"include":"#script-element"},{"include":"#style-element"},{"include":"#element"},{"include":"#html-comment"},{"include":"#go-comment-block"},{"include":"#go-comment-double-slash"},{"include":"#sgml"},{"include":"#block-element"},{"include":"#inline-element"},{"include":"#close-element"},{"include":"#else-if-expression"},{"include":"#if-expression"},{"include":"#else-expression"},{"include":"#for-expression"},{"include":"#switch-expression"},{"include":"#raw-go"}]}}}
|
@@ -1 +1 @@
|
|
1
|
-
{"name":"TextGRID","scopeName":"source.textgrid","patterns":[{"name":"constant.numeric.textgrid","match":"((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)"},{"name":"string.quoted.double.textgrid","contentName":"meta.string-contents.quoted.double.textgrid","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.textgrid"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.textgrid"}}},{"name":"constant.language.textgrid","match":"(x(min|max)|class|name|text|size)"},{"name":"entity.name.type.module.textgrid","match":"(intervals|item)"},{"name":"keyword.control.language.textgrid","match":"(File type|Object class|\\\u003cexists\\\u003e)"},{"name":"keyword.operator.key.textgrid","match":"="},{"match":"tiers(\\?)","captures":{"0":{"name":"constant.language.textgrid"},"1":{"name":"entity.name.type.module.textgrid"}}}]}
|
1
|
+
{"name":"TextGRID","scopeName":"source.textgrid","patterns":[{"name":"constant.numeric.textgrid","match":"((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)"},{"name":"string.quoted.double.textgrid","contentName":"meta.string-contents.quoted.double.textgrid","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.textgrid"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.textgrid"}}},{"name":"constant.language.textgrid","match":"(x(min|max)|class|name|text|size|number|mark)"},{"name":"entity.name.type.module.textgrid","match":"(intervals|points|item)"},{"name":"keyword.control.language.textgrid","match":"(File type|Object class|\\\u003cexists\\\u003e|\\\u003cabsent\\\u003e)"},{"name":"keyword.operator.key.textgrid","match":"="},{"match":"tiers(\\?)","captures":{"0":{"name":"constant.language.textgrid"},"1":{"name":"entity.name.type.module.textgrid"}}}]}
|
data/grammars/source.toc.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"TOC (WoW)","scopeName":"source.toc","patterns":[{"match":"^(##\\s*(\\S+))\\s*(:)\\s*(.*)$","captures":{"1":{"name":"keyword.tag.toc"},"2":{"name":"keyword.tag.toc","patterns":[{"name":"entity.name.tag.custom.toc","match":"[Xx]-[^:]+"},{"name":"entity.name.tag.localized.toc","match":"(?i)(Title-|Notes-|)(?-i)(enUS|enCN|enGB|enTW|frFR|deDE|esES|esMX|itIT|ptBR|ptPT|ruRU|koKR|zhTW|zhCN)"},{"name":"entity.name.tag.toc","match":"(?i)(Interface|Title|Notes|RequiredDeps|\\bDep[^:]*|OptionalDeps|LoadOnDemand|LoadWith|LoadManagers|SavedVariablesPerCharacter|SavedVariables|DefaultState|Author|Version|AddonCompartmentFunc(OnEnter|OnLeave)?|IconAtlas|IconTexture)"},{"name":"entity.name.tag.restricted.toc","match":"(?i)(AllowLoad(GameType)?|OnlyBetaAndPTR|SavedVariablesMachine|Secure|LoadFirst|UseSecureEnvironment)"},{"name":"invalid.tag.toc","match":"\\S[^:]+"}]},"3":{"name":"punctuation.separator.key-value"},"4":{"name":"string.value.toc","patterns":[{"match":"(\\|c)([a-fA-F0-9]{8})","captures":{"1":{"name":"constant.character.escape.toc"},"2":{"name":"string.escape.coloring.toc"}}},{"name":"constant.character.escape.toc","match":"(\\|r)"},{"name":"constant.other.packager.toc","match":"@.*?@"}]}}},{"name":"comment.toc","match":"#.*$"},{"name":"meta.require.xml.toc","match":"^(?!#)[^ ].+\\.xml"},{"name":"constant.other.packager.toc","match":"@.*?@"}]}
|
1
|
+
{"name":"TOC (WoW)","scopeName":"source.toc","patterns":[{"match":"^(##\\s*(\\S+))\\s*(:)\\s*(.*)$","captures":{"1":{"name":"keyword.tag.toc"},"2":{"name":"keyword.tag.toc","patterns":[{"name":"entity.name.tag.custom.toc","match":"[Xx]-[^:]+"},{"name":"entity.name.tag.localized.toc","match":"(?i)(Title-|Notes-|Category-|)(?-i)(enUS|enCN|enGB|enTW|frFR|deDE|esES|esMX|itIT|ptBR|ptPT|ruRU|koKR|zhTW|zhCN)"},{"name":"entity.name.tag.toc","match":"(?i)(Interface|Title|Notes|RequiredDeps|\\bDep[^:]*|OptionalDeps|LoadOnDemand|LoadWith|LoadManagers|SavedVariablesPerCharacter|SavedVariables|DefaultState|Author|Version|AddonCompartmentFunc(OnEnter|OnLeave)?|IconAtlas|IconTexture|Category|Group)"},{"name":"entity.name.tag.restricted.toc","match":"(?i)(AllowLoad(GameType)?|OnlyBetaAndPTR|SavedVariablesMachine|Secure|LoadFirst|UseSecureEnvironment)"},{"name":"invalid.tag.toc","match":"\\S[^:]+"}]},"3":{"name":"punctuation.separator.key-value"},"4":{"name":"string.value.toc","patterns":[{"match":"(\\|c)([a-fA-F0-9]{8})","captures":{"1":{"name":"constant.character.escape.toc"},"2":{"name":"string.escape.coloring.toc"}}},{"name":"constant.character.escape.toc","match":"(\\|r)"},{"name":"constant.other.packager.toc","match":"@.*?@"}]}}},{"name":"comment.toc","match":"#.*$"},{"name":"meta.require.xml.toc","match":"^(?!#)[^ ].+\\.xml"},{"name":"constant.other.packager.toc","match":"@.*?@"}]}
|
@@ -1 +1 @@
|
|
1
|
-
{"name":"Prisma Client: raw SQL highlighting","scopeName":"source.ts.prismaClientRawSQL","patterns":[{"name":"string.template.ts","begin":"(?=(([_$[:alpha:]][_$[:alnum:]]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)(#?(?i)\\$queryRaw|\\$executeRaw)(\u003c\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?\u003c==)\\\u003e|\\\u003c\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))(([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?\u003c==)\\\u003e|\\\u003c\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?\u003c==)\\\u003e)*(?\u003c!=)\\\u003e))*(?\u003c!=)\\\u003e)*(?\u003c!=)\u003e\\s*)?`)","end":"(?\u003c=`)","patterns":[{"begin":"(?=(([_$[:alpha:]][_$[:alnum:]]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)(#?(?i)\\$queryRaw|\\$executeRaw))","end":"(?=(\u003c\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?\u003c==)\\\u003e|\\\u003c\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))(([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?\u003c==)\\\u003e|\\\u003c\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?\u003c==)\\\u003e)*(?\u003c!=)\\\u003e))*(?\u003c!=)\\\u003e)*(?\u003c!=)\u003e\\s*)?`)","patterns":[{"include":"source.ts#support-function-call-identifiers"},{"name":"entity.name.function.tagged-template.ts","match":"(#?(?i)\\$queryRaw|\\$executeRaw)"}]},{"include":"source.ts#type-arguments"},{"include":"#embedded-sql"}]}],"repository":{"embedded-sql":{"name":"string.template.ts","contentName":"meta.embedded.block.sql","begin":"`","end":"`","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"source.ts#string-character-escape"},{"include":"source.sql"},{},{"match":"."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.template.begin.js"}},"endCaptures":{"0":{"name":"punctuation.definition.string.template.end.js"}}}}}
|
1
|
+
{"name":"Prisma Client: raw SQL highlighting","scopeName":"source.ts.prismaClientRawSQL","patterns":[{"name":"string.template.ts","begin":"(?=(([_$[:alpha:]][_$[:alnum:]]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)(#?(?i)\\$queryRaw|\\$executeRaw|sql)(\u003c\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?\u003c==)\\\u003e|\\\u003c\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))(([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?\u003c==)\\\u003e|\\\u003c\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?\u003c==)\\\u003e)*(?\u003c!=)\\\u003e))*(?\u003c!=)\\\u003e)*(?\u003c!=)\u003e\\s*)?`)","end":"(?\u003c=`)","patterns":[{"begin":"(?=(([_$[:alpha:]][_$[:alnum:]]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)(#?(?i)\\$queryRaw|\\$executeRaw|sql))","end":"(?=(\u003c\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?\u003c==)\\\u003e|\\\u003c\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))(([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?\u003c==)\\\u003e|\\\u003c\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?\u003c==)\\\u003e)*(?\u003c!=)\\\u003e))*(?\u003c!=)\\\u003e)*(?\u003c!=)\u003e\\s*)?`)","patterns":[{"include":"source.ts#support-function-call-identifiers"},{"name":"entity.name.function.tagged-template.ts","match":"(#?(?i)\\$queryRaw|\\$executeRaw|sql)"}]},{"include":"source.ts#type-arguments"},{"include":"#embedded-sql"}]}],"repository":{"embedded-sql":{"name":"string.template.ts","contentName":"meta.embedded.block.sql","begin":"`","end":"`","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"source.ts#string-character-escape"},{"include":"source.sql"},{},{"match":"."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.template.begin.js"}},"endCaptures":{"0":{"name":"punctuation.definition.string.template.end.js"}}}}}
|
data/grammars/source.tsp.json
CHANGED
@@ -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"}}},"else-expression":{"name":"meta.else-expression.typespec","begin":"\\b(else)\\b","end":"((?\u003c=\\})|(?=,|;|@|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))","patterns":[{"include":"#projection-expression"},{"include":"#projection-body"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"else-if-expression":{"name":"meta.else-if-expression.typespec","begin":"\\b(else)\\s+(if)\\b","end":"((?\u003c=\\})|(?=,|;|@|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))","patterns":[{"include":"#projection-expression"},{"include":"#projection-body"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"keyword.other.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-call":{"name":"meta.function-call.typespec","begin":"(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)\\s*(\\()","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"entity.name.function.tsp"},"2":{"name":"punctuation.parenthesis.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.tsp"}}},"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|`(?:[^`\\\\]|\\\\.)*`"},"if-expression":{"name":"meta.if-expression.typespec","begin":"\\b(if)\\b","end":"((?\u003c=\\})|(?=,|;|@|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))","patterns":[{"include":"#projection-expression"},{"include":"#projection-body"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"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"}}},"projection":{"name":"meta.projection.typespec","begin":"(from|to)","end":"((?\u003c=\\})|(?=,|;|@|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))","patterns":[{"include":"#projection-parameters"},{"include":"#projection-body"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"}}},"projection-body":{"name":"meta.projection-body.typespec","begin":"\\{","end":"\\}","patterns":[{"include":"#projection-expression"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}}},"projection-expression":{"patterns":[{"include":"#else-if-expression"},{"include":"#if-expression"},{"include":"#else-expression"},{"include":"#function-call"}]},"projection-parameter":{"name":"meta.projection-parameter.typespec","begin":"(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"(?=\\))|(?=,|;|@|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b)","beginCaptures":{"1":{"name":"variable.name.tsp"}}},"projection-parameters":{"name":"meta.projection-parameters.typespec","begin":"\\(","end":"\\)","patterns":[{"include":"#token"},{"include":"#projection-parameter"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.tsp"}}},"projection-statement":{"name":"meta.projection-statement.typespec","begin":"\\b(projection)\\b\\s+(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)(#)(\\b[_$[:alpha:]][_$[:alnum:]]*\\b|`(?:[^`\\\\]|\\\\.)*`)","end":"((?\u003c=\\})|(?=,|;|@|\\)|\\}|\\b(?:extern)\\b|\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\b))","patterns":[{"include":"#projection-statement-body"}],"beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"keyword.operator.selector.tsp"},"4":{"name":"variable.name.tsp"}}},"projection-statement-body":{"name":"meta.projection-statement-body.typespec","begin":"\\{","end":"\\}","patterns":[{"include":"#projection"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.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":"#projection-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":"(?=,|;|@|\\)|\\}|\\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"}}}}}
|