github-linguist 9.0.0 → 9.2.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/bin/github-linguist +3 -3
- data/grammars/etc.json +1 -1
- data/grammars/inline.edgeql.json +1 -1
- data/grammars/liquid.injection.json +1 -1
- data/grammars/source.4dm.json +1 -1
- data/grammars/source.QB64.json +1 -1
- data/grammars/source.abap.json +1 -1
- data/grammars/source.abl.json +1 -1
- data/grammars/source.aiken.json +1 -0
- data/grammars/source.answersetprogramming.json +1 -0
- data/grammars/source.apacheconf.json +1 -0
- data/grammars/source.apex.json +1 -1
- data/grammars/source.assembly.json +1 -1
- data/grammars/source.ats.json +1 -1
- data/grammars/source.ballerina.json +1 -1
- data/grammars/source.brs.json +1 -1
- data/grammars/source.bst.json +1 -0
- data/grammars/source.c++.json +1 -1
- data/grammars/source.c.calendar.json +1 -0
- data/grammars/source.c.json +1 -1
- data/grammars/source.c.linker.json +1 -0
- data/grammars/source.cairo0.json +1 -1
- data/grammars/source.cl.json +1 -1
- data/grammars/source.clue.json +1 -0
- data/grammars/source.cmake.json +1 -1
- data/grammars/source.cmakecache.json +1 -1
- data/grammars/source.cobol.json +1 -1
- data/grammars/source.cs.json +1 -1
- data/grammars/source.curlrc.json +1 -1
- data/grammars/source.curry.json +1 -1
- data/grammars/source.daslang.json +1 -0
- 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.hx.json +1 -1
- data/grammars/source.ice.json +1 -1
- data/grammars/source.ilecobol.json +1 -0
- 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.julia.console.json +1 -1
- data/grammars/source.julia.json +1 -1
- data/grammars/source.just.json +1 -1
- data/grammars/source.kdl.json +1 -0
- data/grammars/source.koka.json +1 -0
- data/grammars/source.lean.markdown.json +1 -1
- data/grammars/source.lean4.markdown.json +1 -1
- data/grammars/source.leo.json +1 -0
- data/grammars/source.livescript.json +1 -1
- data/grammars/source.m2.json +1 -1
- data/grammars/source.m3u.json +1 -0
- 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.nasl.json +1 -1
- data/grammars/source.nim.json +1 -1
- data/grammars/source.nr.json +1 -1
- data/grammars/source.nushell.json +1 -1
- data/grammars/source.objc.json +1 -1
- data/grammars/source.odin.json +1 -1
- data/grammars/source.openesql.json +1 -1
- data/grammars/source.openqasm.json +1 -0
- 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.rescript.json +1 -1
- data/grammars/source.roc.json +1 -1
- data/grammars/source.rpgle.json +1 -1
- data/grammars/source.rust.json +1 -1
- data/grammars/source.sail.json +1 -0
- 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.slint.json +1 -1
- data/grammars/source.smithy.json +1 -1
- data/grammars/source.soql.json +1 -1
- data/grammars/source.sourcepawn.json +1 -1
- data/grammars/source.stan.json +1 -1
- data/grammars/source.sway.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.torrc.json +1 -0
- 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.uplc.json +1 -0
- data/grammars/source.vba.json +1 -1
- data/grammars/source.vento.json +1 -0
- data/grammars/source.vue.json +1 -1
- data/grammars/source.wdl.json +1 -1
- data/grammars/source.wit.json +1 -1
- data/grammars/source.xmake.json +1 -0
- data/grammars/source.zmodel.json +1 -0
- data/grammars/text.adblock.json +1 -1
- data/grammars/text.html.liquid.json +1 -1
- data/grammars/text.html.markdown.d2.json +1 -1
- data/grammars/text.html.vento.json +1 -0
- data/grammars/text.rtf.json +1 -1
- data/grammars/text.valve-cfg.json +1 -1
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +24 -2
- data/lib/linguist/heuristics.yml +65 -18
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +298 -33
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist/shebang.rb +1 -1
- metadata +34 -14
- data/grammars/source.apache-config.json +0 -1
- data/grammars/source.apache-config.mod_perl.json +0 -1
- data/grammars/source.c.platform.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|SendPayFwdFeesSeparately|SendIgnoreErrors|SendBounceIfActionFail|SendDestroyIfZero|SendOnlyEstimateFee|ReserveExact|ReserveAllExcept|ReserveAtMost|ReserveAddOriginalBalance|ReserveInvertSign|ReserveBounceIfActionFail|TactExitCodeNullReferenceException|TactExitCodeInvalidSerializationPrefix|TactExitCodeInvalidIncomingMessage|TactExitCodeConstraintsError|TactExitCodeAccessDenied|TactExitCodeContractStopped|TactExitCodeInvalidArgument|TactExitCodeContractCodeNotFound|TactExitCodeInvalidStandardAddress|TactExitCodeNotBasechainAddress)\\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(?!\\s*:)"},{"name":"keyword.other.message.tact","match":"(?\u003c!\\.)\\b(message)\\b(?!\\s*(?::|\\(\\s*M|\\(\\s*\\)))"},{"name":"keyword.other.trait.tact","match":"(?\u003c!\\.)\\b(trait)\\b(?!\\s*:)"},{"name":"keyword.other.contract.tact","match":"(?\u003c!\\.)\\b(contract)\\b(?!\\s*:)"},{"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|set)\\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":"#comment-invalid"},{"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":"#comment-invalid"},{"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*(#.*)$"},"comment-invalid":{"name":"invalid.illegal","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":"#comment-invalid"},{"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":"#comment-invalid"},{"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+)(?=[^a-zA-Z0-9._]))?","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=\\))\\s*({)$","end":"^(})$","patterns":[{"name":"property.css-template.templ","begin":"\\s*((?:-(?:webkit|moz|o|ms|khtml)-)?(?:zoom|z-index|y|x|writing-mode|wrap|wrap-through|wrap-inside|wrap-flow|wrap-before|wrap-after|word-wrap|word-spacing|word-break|word|will-change|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|vector-effect|variant|user-zoom|user-select|up|unicode-(bidi|range)|trim|translate|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform-box|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-underline-position|text-transform|text-spacing|text-space-trim|text-space-collapse|text-size-adjust|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-orientation|text-justify|text-indent|text-height|text-emphasis-style|text-emphasis-skip|text-emphasis-position|text-emphasis-color|text-emphasis|text-decoration-style|text-decoration-stroke|text-decoration-skip|text-decoration-line|text-decoration-fill|text-decoration-color|text-decoration|text-combine-upright|text-anchor|text-align-last|text-align-all|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|system|symbols|suffix|style-type|style-position|style-image|style|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|string-set|stretch|stress|stop-opacity|stop-color|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak-as|speak|span|spacing|space-collapse|space|solid-opacity|solid-color|sizing|size-adjust|size|shape-rendering|shape-padding|shape-outside|shape-margin|shape-inside|shape-image-threshold|shadow|scroll-snap-type|scroll-snap-points-y|scroll-snap-points-x|scroll-snap-destination|scroll-snap-coordinate|scroll-behavior|scale|ry|rx|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-merge|ruby-align|ruby|rows|rotation-point|rotation|rotate|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resolution|resize|reset|replace|repeat|rendering-intent|region-fragment|rate|range|radius|r|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|prefix|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|perspective-origin|perspective|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-inline-start|padding-inline-end|padding-bottom|padding-block-start|padding-block-end|padding|pad|pack|overhang|overflow-y|overflow-x|overflow-wrap|overflow-style|overflow-inline|overflow-block|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset-start|offset-inline-start|offset-inline-end|offset-end|offset-block-start|offset-block-end|offset-before|offset-after|offset|object-position|object-fit|numeral|new|negative|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|motion-rotation|motion-path|motion-offset|motion|model|mix-blend-mode|min-zoom|min-width|min-inline-size|min-height|min-block-size|min|max-zoom|max-width|max-lines|max-inline-size|max-height|max-block-size|max|mask-type|mask-size|mask-repeat|mask-position|mask-origin|mask-mode|mask-image|mask-composite|mask-clip|mask-border-width|mask-border-source|mask-border-slice|mask-border-repeat|mask-border-outset|mask-border-mode|mask-border|mask|marquee-style|marquee-speed|marquee-play-count|marquee-loop|marquee-direction|marquee|marks|marker-start|marker-side|marker-mid|marker-end|marker|margin-top|margin-right|margin-left|margin-inline-start|margin-inline-end|margin-bottom|margin-block-start|margin-block-end|margin|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-snap|line-height|line-grid|line-break|line|lighting-color|level|letter-spacing|length|left-width|left-style|left-color|left|label|kerning|justify-self|justify-items|justify-content|justify|iteration-count|isolation|inline-size|inline-box-align|initial-value|initial-size|initial-letter-wrap|initial-letter-align|initial-letter|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-rendering|image-resolution|image-orientation|image|icon|hyphens|hyphenate-limit-zone|hyphenate-limit-lines|hyphenate-limit-last|hyphenate-limit-chars|hyphenate-character|hyphenate|height|header|hanging-punctuation|grid-template-rows|grid-template-columns|grid-template-areas|grid-template|grid-row-start|grid-row-gap|grid-row-end|grid-row|grid-rows|grid-gap|grid-column-start|grid-column-gap|grid-column-end|grid-column|grid-columns|grid-auto-rows|grid-auto-flow|grid-auto-columns|grid-area|grid|glyph-orientation-vertical|glyph-orientation-horizontal|gap|font-weight|font-variant-position|font-variant-numeric|font-variant-ligatures|font-variant-east-asian|font-variant-caps|font-variant-alternates|font-variant|font-synthesis|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|flow-into|flow-from|flow|flood-opacity|flood-color|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|filter|fill-rule|fill-opacity|fill|family|fallback|enable-background|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cy|cx|cursor|cue-before|cue-after|cue|crop|counter-set|counter-reset|counter-increment|counter|count|corner-shape|corners|continue|content|contain|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-rendering|color-profile|color-interpolation-filters|color-interpolation|color-adjust|color|collapse|clip-rule|clip-path|clip|clear|character|caret-shape|caret-color|caret|caption-side|buffered-rendering|break-inside|break-before|break-after|break|box-suppress|box-snap|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-limit|border-length|border-left-width|border-left-style|border-left-color|border-left|border-inline-start-width|border-inline-start-style|border-inline-start-color|border-inline-start|border-inline-end-width|border-inline-end-style|border-inline-end-color|border-inline-end|border-image-width|border-image-transform|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-clip-top|border-clip-right|border-clip-left|border-clip-bottom|border-clip|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border-block-start-width|border-block-start-style|border-block-start-color|border-block-start|border-block-end-width|border-block-end-style|border-block-end-color|border-block-end|border|bookmark-target|bookmark-level|bookmark-label|bookmark|block-size|binding|bidi|before|baseline-shift|baseline|balance|background-size|background-repeat|background-position-y|background-position-x|background-position-inline|background-position-block|background-position|background-origin|background-image|background-color|background-clip|background-blend-mode|background-attachment|background|backface-visibility|backdrop-filter|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|alt|all|alignment-baseline|alignment-adjust|alignment|align-last|align-self|align-items|align-content|align|after|adjust|additive-symbols)):\\s+","end":"(?\u003c=;$)","patterns":[{"name":"expression.property.css-template.templ","begin":"({)","end":"(})(;)$","patterns":[{"include":"source.go"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"},"2":{"name":"punctuation.terminator.rule.css"}}},{"name":"constant.property.css-template.templ","match":"(.*)(;)$","captures":{"1":{"name":"support.type.property-value.css"},"2":{"name":"punctuation.terminator.rule.css"}}}],"beginCaptures":{"1":{"name":"support.type.property-name.css"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}},"default-expression":{"begin":"^\\s*default:$","end":"(^\\s*case .+?:$)|(^\\s*default:$)|(\\s*$)","patterns":[{"include":"#template-node"}],"captures":{"0":{"name":"default.switch.html-template.templ","patterns":[{"include":"source.go"}]}}},"element":{"name":"meta.tag.any.html","begin":"(\u003c)([a-zA-Z0-9:\\-]++)(?=[^\u003e]*\u003e\u003c/\\2\u003e)","end":"(\u003e(\u003c)/)(\\2)(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"meta.scope.between-tag-pair.html"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.html"}}},"else-expression":{"name":"else.html-template.templ","begin":"\\s+(else)\\s+({)\\s*$","end":"^\\s*(})$","patterns":[{"include":"#template-node"}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}},"else-if-expression":{"name":"else-if.html-template.templ","begin":"\\s(else if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.else-if.html-template.templ","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}}},{"name":"block.else-if.html-template.templ","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#template-node"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"entities":{"patterns":[{"name":"constant.character.entity.html","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#[xX][0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}}},{"name":"invalid.illegal.bad-ampersand.html","match":"\u0026"}]},"for-expression":{"name":"for.html-template.templ","begin":"^\\s*for .+{","end":"\\s*}\\s*\n","patterns":[{"include":"#template-node"}],"captures":{"0":{"name":"meta.embedded.block.go","patterns":[{"include":"source.go"}]}}},"go-comment-block":{"name":"comment.block.go","begin":"(\\/\\*)","end":"(\\*\\/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.go"}}},"go-comment-double-slash":{"name":"comment.line.double-slash.go","begin":"(\\/\\/)","end":"(?:\\n|$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}}},"html-comment":{"name":"comment.block.html","begin":"\u003c!--","end":"--\u003e","beginCaptures":{"0":{"name":"punctuation.definition.comment.html"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.html"}}},"html-template":{"name":"html-template.templ","begin":"^(templ) ((?:\\([A-z_][A-z_0-9]* \\*?[A-z_][A-z_0-9]*\\) )?[A-z_][A-z_0-9]*(\\(|\\[))","end":"(?\u003c=^}$)","patterns":[{"name":"params.html-template.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"type-params.html-template.templ","begin":"(?\u003c=\\[)","end":"(\\])","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.square.go"}}},{"name":"block.html-template.templ","begin":"(?\u003c=\\))\\s*({)$","end":"^(})$","patterns":[{"include":"#template-node"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}},"if-expression":{"name":"if.html-template.templ","begin":"^\\s*(if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.if.html-template.templ","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}}},{"name":"block.if.html-template.templ","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#template-node"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"import-expression":{"patterns":[{"name":"import-expression.templ","begin":"(@)((?:[A-z_][A-z_0-9]*\\.)?[A-z_][A-z_0-9]*(?:\\(|{|$))","end":"(?\u003c=\\))$|(?\u003c=})$|(?\u003c=$)","patterns":[{"name":"struct-method.import-expression.templ","begin":"(?\u003c=[A-z_0-9]{)","end":"\\s*(})(\\.[A-z_][A-z_0-9]*\\()","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"},"2":{"patterns":[{"include":"source.go"}]}}},{"name":"params.import-expression.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"children.import-expression.templ","begin":"(?\u003c=\\))\\s({)$","end":"^\\s*(})$","patterns":[{"include":"#template-node"}],"beginCaptures":{"1":{"name":"punctuation.brace.open"}},"endCaptures":{"1":{"name":"punctuation.brace.close"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}}]},"inline-element":{"name":"meta.tag.inline.any.html","begin":"(\u003c/?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)(?=\\s|\\\\|\u003e))","end":"((?: ?/)?\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.inline.any.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},"raw-go":{"name":"raw-go.templ","begin":"{{","end":"}}","patterns":[{"include":"source.go"}],"beginCaptures":{"0":{"name":"start.raw-go.templ"},"1":{"name":"punctuation.brace.open"}},"endCaptures":{"0":{"name":"end.raw-go.templ"},"1":{"name":"punctuation.brace.open"}}},"script-element":{"name":"meta.tag.script.html","begin":"(\u003c)(script)([^\u003e]*)(\u003e)","end":"\u003c/script\u003e","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"0":{"patterns":[{"include":"#close-element"}]}}},"script-template":{"name":"script-template.templ","begin":"^(script) ([A-z_][A-z_0-9]*\\()","end":"(?\u003c=^}$)","patterns":[{"name":"params.script-template.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"block.script-template.templ","begin":"(?\u003c=\\))\\s*({)$","end":"^(})$","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}},"sgml":{"name":"meta.tag.sgml.html","begin":"\u003c!","end":"\u003e","patterns":[{"name":"meta.tag.sgml.doctype.html","begin":"(?i:DOCTYPE)","end":"(?=\u003e)","patterns":[{"name":"string.quoted.double.doctype.identifiers-and-DTDs.html","match":"\"[^\"\u003e]*\""}],"captures":{"1":{"name":"entity.name.tag.doctype.html"}}},{"name":"constant.other.inline-data.html","begin":"\\[CDATA\\[","end":"]](?=\u003e)"},{"name":"invalid.illegal.bad-comments-or-CDATA.html","match":"(\\s*)(?!--|\u003e)\\S(\\s*)"}],"captures":{"0":{"name":"punctuation.definition.tag.html"}}},"string-double-quoted":{"name":"string.quoted.double.html","begin":"\"","end":"\"","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},"string-expression":{"name":"expression.html-template.templ","begin":"{\\s+","end":"}","patterns":[{"include":"source.go"}],"beginCaptures":{"0":{"name":"start.string-expression.templ"}},"endCaptures":{"0":{"name":"end.string-expression.templ"}}},"style-element":{"name":"meta.tag.style.html","begin":"(\u003c)(style)([^\u003e]*)(\u003e)","end":"\u003c/style\u003e","patterns":[{"include":"source.css"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"0":{"patterns":[{"include":"#close-element"}]}}},"switch-expression":{"name":"switch.html-template.templ","begin":"^\\s*switch .+?{$","end":"^\\s*}$","patterns":[{"include":"#template-node"},{"include":"#case-expression"},{"include":"#default-expression"}],"captures":{"0":{"name":"meta.embedded.block.go","patterns":[{"include":"source.go"}]}}},"tag-else-attribute":{"name":"else.attribute.html","begin":"\\s(else)\\s({)$","end":"^\\s*(})$","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"name":"punctuation.brace.open"}},"endCaptures":{"1":{"name":"punctuation.brace.close"}}},"tag-else-if-attribute":{"name":"else-if.attribute.html","begin":"\\s(else if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.else-if.attribute.html","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.brace.open"}}},{"name":"block.else-if.attribute.html","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#tag-stuff"}],"endCaptures":{"1":{"name":"punctuation.brace.close"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"tag-generic-attribute":{"name":"entity.other.attribute-name.html","match":"(?\u003c=[^=])\\b([a-zA-Z0-9:-]+)"},"tag-id-attribute":{"name":"meta.attribute-with-value.id.html","begin":"\\b(id)\\b\\s*(=)","end":"(?!\\G)(?\u003c='|\"|[^\\s\u003c\u003e/])","patterns":[{"name":"string.quoted.double.html","contentName":"meta.toc-list.id.html","begin":"\"","end":"\"","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},{"name":"string.quoted.single.html","contentName":"meta.toc-list.id.html","begin":"'","end":"'","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},{"name":"string.unquoted.html","match":"(?\u003c==)(?:[^\\s{}\u003c\u003e/'\"]|/(?!\u003e))+","captures":{"0":{"name":"meta.toc-list.id.html"}}}],"captures":{"1":{"name":"entity.other.attribute-name.id.html"},"2":{"name":"punctuation.separator.key-value.html"}}},"tag-if-attribute":{"name":"if.attribute.html","begin":"^\\s*(if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.if.attribute.html","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.brace.open"}}},{"name":"block.if.attribute.html","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#tag-stuff"}],"endCaptures":{"1":{"name":"punctuation.brace.close"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"tag-stuff":{"patterns":[{"include":"#tag-id-attribute"},{"include":"#tag-generic-attribute"},{"include":"#string-double-quoted"},{"include":"#string-expression"},{"include":"#tag-if-attribute"},{"include":"#tag-else-if-attribute"},{"include":"#tag-else-attribute"}]},"template-node":{"patterns":[{"include":"#string-expression"},{"include":"#call-expression"},{"include":"#import-expression"},{"include":"#script-element"},{"include":"#style-element"},{"include":"#element"},{"include":"#html-comment"},{"include":"#go-comment-block"},{"include":"#go-comment-double-slash"},{"include":"#sgml"},{"include":"#block-element"},{"include":"#inline-element"},{"include":"#close-element"},{"include":"#else-if-expression"},{"include":"#if-expression"},{"include":"#else-expression"},{"include":"#for-expression"},{"include":"#switch-expression"},{"include":"#raw-go"}]}}}
|
@@ -1 +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
|
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|AllowLoadGameType|SavedVariablesPerCharacter|SavedVariables|LoadSavedVariablesFirst|DefaultState|Author|Version|AddonCompartmentFunc(OnEnter|OnLeave)?|IconAtlas|IconTexture|Category|Group)"},{"name":"entity.name.tag.restricted.toc","match":"(?i)(AllowLoad|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":"entity.name.file.toc","begin":"^(?!#)\\s*(?=[\\w\\[])","end":"\\n","patterns":[{"include":"#inline-conditional-directive"},{"include":"#inline-variable-directive"}]},{"name":"constant.other.packager.toc","match":"@.*?@"}],"repository":{"inline-conditional-directive":{"name":"keyword.tag.toc","match":"\\[(\\w+)(\\s+)([^\\]]*)\\]","captures":{"1":{"name":"keyword.tag.toc","patterns":[{"name":"entity.name.tag.toc","match":"(?i)(AllowLoadGameType)"},{"name":"entity.name.tag.restricted.toc","match":"(?i)(AllowLoad)"},{"name":"invalid.tag.toc","match":".+"}]},"2":{"name":"punctuation.separator.key-value"},"3":{"name":"string.escape.coloring.toc"}}},"inline-variable-directive":{"name":"keyword.tag.toc","match":"\\[(\\w+)\\]","captures":{"1":{"name":"keyword.tag.toc","patterns":[{"name":"entity.name.tag.variable.toc","match":"(?i)(Family|Game)"},{"name":"invalid.tag.toc","match":"\\S[^:]+"}]}}}}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"Tor Configuration","scopeName":"source.torrc","patterns":[{"begin":"\\A(?=[ \\t]*$|This document)","end":"(?=\\S)","patterns":[{"name":"meta.document.torrc-spec","begin":"^(?=This document specifies the current format and semantics of the torrc)","end":"(?=A)B","patterns":[{"name":"meta.section.file-syntax.torrc-spec","contentName":"source.embedded.abnf","begin":"(?i)^(\\s*)((1\\.)\\s+File\\s+Syntax)[ \\t]*$","end":"(?=^(?:(?!\\s)|\\1)(?:\\d+\\.)+\\s+)","patterns":[{"include":"source.abnf"}],"beginCaptures":{"1":{"name":"punctuation.whitespace.leading.indentation.torrc-spec"},"2":{"name":"markup.heading.1.numbered.torrc-spec"},"3":{"name":"constant.numeric.section-number.torrc-spec"}}},{"name":"meta.section.syntax-examples.torrc-spec","contentName":"source.embedded.torrc","begin":"(?i)^(\\s*)(((?:\\d+\\.){2})\\s+Syntax\\s+examples)[ \\t]*$","end":"(?=A)B","patterns":[{"include":"source.torrc#main"}],"beginCaptures":{"1":{"name":"punctuation.whitespace.leading.indentation.torrc-spec"},"2":{"name":"markup.heading.2.numbered.torrc-spec"},"3":{"name":"constant.numeric.section-number.torrc-spec"}}},{"name":"meta.section.other.torrc-spec","contentName":"text.embedded.plain","begin":"(?i)^(\\s*)((\\d+\\.)\\s+(?!Syntax\\s+examples\\s*$)\\S.*)[ \\t]*$","end":"(?=^(?:(?!\\s)|\\1)(?:\\d+\\.)+\\s+)","patterns":[{}],"beginCaptures":{"1":{"name":"punctuation.whitespace.leading.indentation.torrc-spec"},"2":{"name":"markup.heading.1.numbered.torrc-spec"},"3":{"name":"constant.numeric.section-number.torrc-spec"}}}]}],"applyEndPatternLast":true},{"include":"#main"}],"repository":{"address":{"patterns":[{"name":"meta.address.torrc","match":"(?ix)\n(?:\n\t# “hostname:…”\n\t([^\\[\\]\\s:#,]+) (:)\n\t|\n\t# No first part, just match anything that quacks like an IP addy\n\t(?=\\[)\n)\n\n# DRY and TextMate-friendly hack to assert balanced but optional brackets\n(?:\n\t# If an opening bracket follows, require an accompanying closing bracket \n\t(?= \\[ [^\\[\\]\\s,\\#]*+ \\])\n\t|\n\t# Otherwise, avoid matching unbalanced brackets\n\t(?!\\[)\n)\n\n(\\[)?\n(?: (\\d{1,3}(?:\\.\\d{1,3})+) # IPv4 address\n| (:*[0-9A-F]+(?::+[0-9A-F]*)*+) # IPv6 address\n| (\\d+) # Port?\n)\n(\\])?\n(?=\\s|,|$|\\#)","captures":{"1":{"patterns":[{"include":"source.hosts#modern"}]},"2":{"patterns":[{"include":"etc#colon"}]},"3":{"name":"punctuation.definition.address.begin.torrc"},"4":{"patterns":[{"include":"etc#ipv4"}]},"5":{"patterns":[{"include":"etc#ipv6"}]},"6":{"patterns":[{"include":"#port"}]},"7":{"name":"punctuation.definition.address.end.torrc"}}},{"match":"(\\[)([^\\[\\]]+)(\\])((/)(\\d+))","captures":{"1":{"name":"punctuation.definition.ipv6-address.begin.torrc"},"2":{"patterns":[{"include":"etc#ipv6"}]},"3":{"name":"punctuation.definition.ipv6-address.end.torrc"},"4":{"name":"meta.cidr-notation"},"5":{"name":"keyword.operator.assignment.cidr"},"6":{"patterns":[{"include":"etc#intNoExp"}]}}}]},"anyIP":{"match":"\\*[46]?(?::\\*)?","captures":{"0":{"patterns":[{"name":"keyword.operator.wildcard.match-ipv$1.torrc","match":"\\*(\\d)"},{"name":"keyword.operator.wildcard.match-all.torrc","match":"\\*"},{"include":"etc#colon"}]}}},"cc":{"name":"constant.language.country-code.${2:/downcase}.torrc","match":"(\\{)(?:([A-Za-z]{2})|(\\?\\?))(\\})","captures":{"1":{"name":"punctuation.definition.country-code.begin.torrc"},"3":{"name":"constant.character.escape.wildcard.match-any.torrc"},"4":{"name":"punctuation.definition.country-code.end.torrc"}}},"comment":{"name":"comment.line.number-sign.torrc","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.torrc"}}},"commentEmbedded":{"contentName":"comment.line.number-sign.embedded.torrc","begin":"[ \\t]*(?=#)","end":"(?!\\G)^","patterns":[{"name":"punctuation.definition.comment.torrc","match":"\\G#"}]},"entry":{"name":"meta.entry.${3:/downcase/asciify}.torrc","begin":"^\\s*(?:(/)|(\\+))?((?:[^\\s#\\0\\\\]|\\\\(?!$))++)","end":"(?!\\G)","patterns":[{"name":"meta.numeric-setting.torrc","begin":"(?ix)\n# Unitless\n(?\u003c= AddressDisableIPv6\n| AllowNonRFC953Hostnames\n| AssumeReachableIPv6\n| AssumeReachable\n| AuthDirHasIPv6Connectivity\n| AuthDirListBadExits\n| AuthDirListMiddleOnly\n| AuthDirMaxServersPerAddr\n| AuthDirPinKeys\n| AuthDirRejectRequestsUnderLoad\n| AuthDirSharedRandomness\n| AuthDirTestEd25519LinkKeys\n| AuthDirTestReachability\n| AuthoritativeDirectory\n| AutomapHostsOnResolve\n| AvoidDiskWrites\n| BridgeAuthoritativeDir\n| BridgeRecordUsageByCountry\n| BridgeRelay\n| CacheDirectoryGroupReadable\n| CellStatistics\n| CircuitBuildTimeout\n| CircuitPadding\n| CircuitPriorityHalflife\n| CircuitStreamTimeout\n| CircuitsAvailableTimeout\n| ClientBootstrapConsensusAuthorityDownloadInitialDelay\n| ClientBootstrapConsensusAuthorityOnlyDownloadInitialDelay\n| ClientBootstrapConsensusFallbackDownloadInitialDelay\n| ClientBootstrapConsensusMaxInProgressTries\n| ClientDNSRejectInternalAddresses\n| ClientOnly\n| ClientPreferIPv6DirPort\n| ClientPreferIPv6ORPort\n| ClientRejectInternalAddresses\n| ClientUseIPv4\n| ClientUseIPv6\n| CompiledProofOfWorkHash\n| ConfluxEnabled\n| ConnDirectionStatistics\n| ConnLimit\n| ConnectionPadding\n| ConstrainedSockets\n| ControlPortFileGroupReadable\n| ControlSocketsGroupWritable\n| CookieAuthFileGroupReadable\n| CookieAuthentication\n| CountPrivateBandwidth\n| DataDirectoryGroupReadable\n| DirAllowPrivateAddresses\n| DirAuthorityFallbackRate\n| DirCache\n| DirReqStatistics\n| DisableAllSwap\n| DisableDebuggerAttachment\n| DisableNetwork\n| DisableOOSCheck\n| DoSCircuitCreationBurst\n| DoSCircuitCreationDefenseType\n| DoSCircuitCreationEnabled\n| DoSCircuitCreationMinConnections\n| DoSCircuitCreationRate\n| DoSConnectionConnectBurst\n| DoSConnectionConnectRate\n| DoSConnectionDefenseType\n| DoSConnectionEnabled\n| DoSConnectionMaxConcurrentCount\n| DoSRefuseSingleHopClientRendezvous\n| DoSStreamCreationBurst\n| DoSStreamCreationDefenseType\n| DoSStreamCreationEnabled\n| DoSStreamCreationRate\n| DormantCanceledByStartup\n| DormantOnFirstStartup\n| DormantTimeoutDisabledByIdleStreams\n| DormantTimeoutEnabled\n| DownloadExtraInfo\n| EnforceDistinctSubnets\n| EntryStatistics\n| ExitPolicyRejectLocalInterfaces\n| ExitPolicyRejectPrivate\n| ExitPortStatistics\n| ExitRelay\n| ExtORPortCookieAuthFileGroupReadable\n| ExtendAllowPrivateAddresses\n| ExtendByEd25519ID\n| ExtraInfoStatistics\n| FascistFirewall\n| FetchDirInfoEarly\n| FetchDirInfoExtraEarly\n| FetchHidServDescriptors\n| FetchServerDescriptors\n| FetchUselessDescriptors\n| GeoIPExcludeUnknown\n| HardwareAccel\n| HiddenServiceAllowUnknownPorts\n| HiddenServiceDirGroupReadable\n| HiddenServiceEnableIntroDoSBurstPerSec\n| HiddenServiceEnableIntroDoSDefense\n| HiddenServiceEnableIntroDoSRatePerSec\n| HiddenServiceMaxStreamsCloseCircuit\n| HiddenServiceMaxStreams\n| HiddenServiceNonAnonymousMode\n| HiddenServiceNumIntroductionPoints\n| HiddenServiceOnionBalanceInstance\n| HiddenServicePoWDefensesEnabled\n| HiddenServicePoWQueueBurst\n| HiddenServicePoWQueueRate\n| HiddenServiceSingleHopMode\n| HiddenServiceStatistics\n| HiddenServiceVersion\n| IPv6Exit\n| KISTSockBufSizeFactor\n| KeepBindCapabilities\n| KeepalivePeriod\n| KeyDirectoryGroupReadable\n| LearnCircuitBuildTimeout\n| LogMessageDomains\n| LogTimeGranularity\n| MainloopStats\n| MaxCircuitDirtiness\n| MaxClientCircuitsPending\n| MinMeasuredBWsForAuthToIgnoreAdvertised\n| NewCircuitPeriod\n| NoExec\n| NumCPUs\n| NumDirectoryGuards\n| NumEntryGuards\n| NumPrimaryGuards\n| OfflineMasterKey\n| OverloadStatistics\n| PaddingStatistics\n| PathBiasScaleThreshold\n| PathBiasScaleUseThreshold\n| PathsNeededToBuildCircuits\n| ProtocolWarnings\n| PublishHidServDescriptors\n| PublishServerDescriptor\n| ReducedCircuitPadding\n| ReducedConnectionPadding\n| ReducedExitPolicy\n| ReevaluateExitPolicy\n| RefuseUnknownExits\n| RunAsDaemon\n| SafeLogging\n| SafeSocks\n| Sandbox\n| ServerDNSAllowBrokenConfig\n| ServerDNSAllowNonRFC953Hostnames\n| ServerDNSDetectHijacking\n| ServerDNSRandomizeCase\n| ServerDNSSearchDomains\n| ShutdownWaitLength\n| SocksTimeout\n| StrictNodes\n| TestSocks\n| TestingBridgeBootstrapDownloadInitialDelay\n| TestingBridgeDownloadInitialDelay\n| TestingClientConsensusDownloadInitialDelay\n| TestingClientDownloadInitialDelay\n| TestingDirAuthVoteExitIsStrict\n| TestingDirAuthVoteGuardIsStrict\n| TestingDirAuthVoteHSDirIsStrict\n| TestingEnableCellStatsEvent\n| TestingEnableConnBwEvent\n| TestingServerConsensusDownloadInitialDelay\n| TestingServerDownloadInitialDelay\n| TestingTorNetwork\n| TrackHostExitsExpire\n| TruncateLogFile\n| UnixSocksGroupWritable\n| UpdateBridgesFromAuthority\n| UseBridges\n| UseDefaultFallbackDirs\n| UseEntryGuards\n| UseGuardFraction\n| UseMicrodescriptors\n| V3AuthNIntervalsValid\n| V3AuthUseLegacyKey\n| V3AuthoritativeDirectory\n| VanguardsLiteEnabled\n| VersioningAuthoritativeDirectory\n| __OwningControllerProcess\n\n# Units in use\n| AccountingMax\n| AuthDirFastGuarantee\n| AuthDirGuardBWGuarantee\n| AuthDirVoteGuardGuaranteeTimeKnown\n| AuthDirVoteStableGuaranteeMTBF\n| AuthDirVoteStableGuaranteeMinUptime\n| BandwidthBurst\n| BandwidthRate\n| ConstrainedSockSize\n| DoSCircuitCreationDefenseTimePeriod\n| DoSConnectionConnectDefenseTimePeriod\n| DormantClientTimeout\n| GuardLifetime\n| HeartbeatPeriod\n| KISTSchedRunInterval\n| MaxAdvertisedBandwidth\n| MaxConsensusAgeForDiffs\n| MaxMemInQueues\n| MaxOnionQueueDelay\n| MaxUnparseableDescSizeToLog\n| MinUptimeHidServDirectoryV2\n| PerConnBWBurst\n| PerConnBWRate\n| RelayBandwidthBurst\n| RelayBandwidthRate\n| RephistTrackTime\n| SSLKeyLifetime\n| SigningKeyLifetime\n| TestingAuthDirTimeToLearnReachability\n| TestingAuthKeyLifetime\n| TestingClientMaxIntervalWithoutRequest\n| TestingDirConnectionMaxStall\n| TestingLinkCertLifetime\n| TestingMinExitFlagThreshold\n| TestingMinFastFlagThreshold\n| TestingMinTimeToReportBandwidth\n| TestingSigningKeySlop\n| TestingV3AuthInitialDistDelay\n| TestingV3AuthInitialVoteDelay\n| TestingV3AuthInitialVotingInterval\n| TestingV3AuthVotingStartOffset\n| TokenBucketRefillInterval\n| V3AuthDistDelay\n| V3AuthVoteDelay\n| V3AuthVotingInterval\n\n# Ports lists\n| FirewallPorts\n| LongLivedPorts\n| RejectPlaintextPorts\n| WarnPlaintextPorts\n) \\G ","end":"(?!\\G)","patterns":[{"contentName":"meta.value.torrc","begin":"\\G(?=(?:\\s+(?:[^\"#\\s]+|\"(?:[^\\\\\"]|\\\\.)*+\"))++\\s*#)","end":"(?=\\s*#)","patterns":[{"include":"#entryNumeric"}]},{"contentName":"meta.value.torrc","begin":"\\G(?:\\s*(\\\\$\\r?\\n?)|[ \\t]+|(?=$|#))","end":"(\\G\\s+((?=\\S)(?!#)[^\\\\\\n#\\0]+))(?=\\s*(?:$|#))|(?=\\s*$)","patterns":[{"include":"#commentEmbedded"},{"include":"#esc"},{"include":"#entryNumeric"}],"beginCaptures":{"1":{"patterns":[{"include":"#esc"}]}},"endCaptures":{"1":{"name":"meta.value.torrc"},"2":{"patterns":[{"include":"#entryNumeric"}]}}}]},{"begin":"(?i)(?\u003c=[/+\\s]Log|^Log)\\G","end":"(?!\\G)","patterns":[{"contentName":"meta.value.torrc","begin":"\\G(?=(?:\\s+(?:[^\"#\\s]+|\"(?:[^\\\\\"]|\\\\.)*+\"))++\\s*#)","end":"(?=\\s*#)","patterns":[{"include":"#entryLogging"}]},{"contentName":"meta.value.torrc","begin":"\\G(?:\\s*(\\\\$\\r?\\n?)|[ \\t]+|(?=$|#))","end":"(\\G\\s+((?=\\S)(?!#)[^\\\\\\n#\\0]+))(?=\\s*(?:$|#))|(?=\\s*$)","patterns":[{"include":"#commentEmbedded"},{"include":"#esc"},{"include":"#entryLogging"}],"beginCaptures":{"1":{"patterns":[{"include":"#esc"}]}},"endCaptures":{"1":{"name":"meta.value.torrc"},"2":{"patterns":[{"include":"#entryLogging"}]}}}]},{"begin":"(?ix)\n(?\u003c= AccelDir\n| CacheDirectory\n| ClientOnionAuthDir\n| ControlPortWriteToFile\n| ControlSocket\n| CookieAuthFile\n| DataDirectory\n| DirPortFrontPage\n| ExtORPortCookieAuthFile\n| GeoIPFile\n| GeoIPv6File\n| GuardfractionFile\n| HiddenServiceDir\n| KeyDirectory\n| PidFile\n| ServerDNSResolvConfFile\n| V3BandwidthsFile\n) \\G","end":"(?!\\G)","patterns":[{"contentName":"meta.value.torrc","begin":"\\G(?=(?:\\s+(?:[^\"#\\s]+|\"(?:[^\\\\\"]|\\\\.)*+\"))++\\s*#)","end":"(?=\\s*#)","patterns":[{"include":"#entryFile"}]},{"contentName":"meta.value.torrc","begin":"\\G(?:\\s*(\\\\$\\r?\\n?)|[ \\t]+|(?=$|#))","end":"(\\G\\s+((?=\\S)(?!#)[^\\\\\\n#\\0]+))(?=\\s*(?:$|#))|(?=\\s*$)","patterns":[{"include":"#commentEmbedded"},{"include":"#esc"},{"include":"#entryFile"}],"beginCaptures":{"1":{"patterns":[{"include":"#esc"}]}},"endCaptures":{"1":{"name":"meta.value.torrc"},"2":{"patterns":[{"include":"#entryFile"}]}}}]},{"begin":"(?ix)\n(?\u003c= AuthDirVoteGuard\n| EntryNodes\n| ExcludeExitNodes\n| ExcludeNodes\n| ExitNodes\n| HSLayer2Nodes\n| HSLayer3Nodes\n| HTTPProxy\n| HTTPSProxy\n| HiddenServicePort\n| MapAddress\n| MiddleNodes\n| NodeFamily\n| OutboundBindAddressExit\n| OutboundBindAddressOR\n| OutboundBindAddressPT\n| OutboundBindAddress\n| Socks4Proxy | SOCKS4Proxy # FIXME; Remove different casing once issue with\n| Socks5Proxy | SOCKS5Proxy # scoped modifiers in lookbehinds is worked out.\n| TestingDirAuthVoteExit\n| TestingDirAuthVoteGuard\n| TestingDirAuthVoteHSDir\n| VirtualAddrNetworkIPv6\n) \\G","end":"(?!\\G)","patterns":[{"contentName":"meta.value.torrc","begin":"\\G(?=(?:\\s+(?:[^\"#\\s]+|\"(?:[^\\\\\"]|\\\\.)*+\"))++\\s*#)","end":"(?=\\s*#)","patterns":[{"include":"#entryNode"}]},{"contentName":"meta.value.torrc","begin":"\\G(?:\\s*(\\\\$\\r?\\n?)|[ \\t]+|(?=$|#))","end":"(\\G\\s+((?=\\S)(?!#)[^\\\\\\n#\\0]+))(?=\\s*(?:$|#))|(?=\\s*$)","patterns":[{"include":"#commentEmbedded"},{"include":"#esc"},{"include":"#entryNode"}],"beginCaptures":{"1":{"patterns":[{"include":"#esc"}]}},"endCaptures":{"1":{"name":"meta.value.torrc"},"2":{"patterns":[{"include":"#entryNode"}]}}}]},{"begin":"(?i)(?\u003c=DirPolicy|ExitPolicy|MetricsPortPolicy|SocksPolicy|SOCKSPolicy)\\G","end":"(?!\\G)","patterns":[{"contentName":"meta.value.torrc","begin":"\\G(?=(?:\\s+(?:[^\"#\\s]+|\"(?:[^\\\\\"]|\\\\.)*+\"))++\\s*#)","end":"(?=\\s*#)","patterns":[{"include":"#entryPolicies"}]},{"contentName":"meta.value.torrc","begin":"\\G(?:\\s*(\\\\$\\r?\\n?)|[ \\t]+|(?=$|#))","end":"(\\G\\s+((?=\\S)(?!#)[^\\\\\\n#\\0]+))(?=\\s*(?:$|#))|(?=\\s*$)","patterns":[{"include":"#commentEmbedded"},{"include":"#esc"},{"include":"#entryPolicies"}],"beginCaptures":{"1":{"patterns":[{"include":"#esc"}]}},"endCaptures":{"1":{"name":"meta.value.torrc"},"2":{"patterns":[{"include":"#entryPolicies"}]}}}]},{"begin":"(?i)(?\u003c=ConsensusParams|ServerTransportOptions)\\G","end":"(?!\\G)","patterns":[{"contentName":"meta.value.torrc","begin":"\\G(?=(?:\\s+(?:[^\"#\\s]+|\"(?:[^\\\\\"]|\\\\.)*+\"))++\\s*#)","end":"(?=\\s*#)","patterns":[{"include":"#entryParams"}]},{"contentName":"meta.value.torrc","begin":"\\G(?:\\s*(\\\\$\\r?\\n?)|[ \\t]+|(?=$|#))","end":"(\\G\\s+((?=\\S)(?!#)[^\\\\\\n#\\0]+))(?=\\s*(?:$|#))|(?=\\s*$)","patterns":[{"include":"#commentEmbedded"},{"include":"#esc"},{"include":"#entryParams"}],"beginCaptures":{"1":{"patterns":[{"include":"#esc"}]}},"endCaptures":{"1":{"name":"meta.value.torrc"},"2":{"patterns":[{"include":"#entryParams"}]}}}]},{"begin":"(?ix)\n(?\u003c= MinimalAcceptedServerVersion\n| RecommendedClientVersions\n| RecommendedServerVersions\n| RecommendedVersions\n) \\G","end":"(?!\\G)","patterns":[{"contentName":"meta.value.torrc","begin":"\\G(?=(?:\\s+(?:[^\"#\\s]+|\"(?:[^\\\\\"]|\\\\.)*+\"))++\\s*#)","end":"(?=\\s*#)","patterns":[{"include":"#entryVersions"}]},{"contentName":"meta.value.torrc","begin":"\\G(?:\\s*(\\\\$\\r?\\n?)|[ \\t]+|(?=$|#))","end":"(\\G\\s+((?=\\S)(?!#)[^\\\\\\n#\\0]+))(?=\\s*(?:$|#))|(?=\\s*$)","patterns":[{"include":"#commentEmbedded"},{"include":"#esc"},{"include":"#entryVersions"}],"beginCaptures":{"1":{"patterns":[{"include":"#esc"}]}},"endCaptures":{"1":{"name":"meta.value.torrc"},"2":{"patterns":[{"include":"#entryVersions"}]}}}]},{"begin":"\\G","end":"(?!\\G)","patterns":[{"contentName":"meta.value.torrc","begin":"\\G(?=(?:\\s+(?:[^\"#\\s]+|\"(?:[^\\\\\"]|\\\\.)*+\"))++\\s*#)","end":"(?=\\s*#)","patterns":[{"include":"#entryGeneric"}]},{"contentName":"meta.value.torrc","begin":"\\G(?:\\s*(\\\\$\\r?\\n?)|[ \\t]+|(?=$|#))","end":"(\\G\\s+((?=\\S)(?!#)[^\\\\\\n#\\0]+))(?=\\s*(?:$|#))|(?=\\s*$)","patterns":[{"include":"#commentEmbedded"},{"include":"#esc"},{"include":"#entryGeneric"}],"beginCaptures":{"1":{"patterns":[{"include":"#esc"}]}},"endCaptures":{"1":{"name":"meta.value.torrc"},"2":{"patterns":[{"include":"#entryGeneric"}]}}}]}],"beginCaptures":{"1":{"name":"keyword.operator.flag.clear-value.torrc"},"2":{"name":"keyword.operator.flag.append-value.torrc"},"3":{"name":"variable.assignment.entry.torrc"}}},"entryFile":{"name":"string.other.link.filename.torrc","begin":"(?=[^#\\s])","end":"(?=\\s*(?:$|#))"},"entryGeneric":{"patterns":[{"include":"#typed"},{"include":"#address"},{"include":"etc#ip"},{"include":"#num"},{"include":"#str"},{"include":"#portSuffix"},{"include":"etc#comma"},{"include":"#anyIP"},{"include":"#unq"}]},"entryLogging":{"patterns":[{"name":"meta.log-selector.torrc","match":"(?ix)\n((\\[)((?:~?(?:[a-z]+|\\*)(?:,|(?=\\])))*+)(\\]))?\n((?!-)(?:(?:debug|err|info|notice|warn)-?){1,2}(?\u003c!-))\n(?=$|\\s)","captures":{"1":{"name":"meta.domain-list.torrc"},"2":{"name":"punctuation.section.begin.domains.torrc"},"3":{"patterns":[{"name":"entity.name.domain.torrc","match":"[A-Za-z]+"},{"name":"keyword.operator.wildcard.match-all.torrc","match":"\\*"},{"name":"keyword.operator.logical.negation.negate.torrc","match":"~"},{"include":"etc#comma"}]},"4":{"name":"punctuation.section.end.domains.torrc"},"5":{"name":"meta.severity-levels.torrc","patterns":[{"name":"constant.language.severity-level.torrc","match":"(?i)debug|err|info|notice|warn"},{"name":"punctuation.separator.dash.torrc","match":"-"}]}}},{"name":"keyword.operator.log-destination.$1.torrc","match":"(?i)(?\u003c=\\s|^|\\G)\\b(stderr|stdout|syslog)\\b(?=$|\\s|#)"},{"name":"meta.log-file.torrc","contentName":"string.other.link.filename.torrc","begin":"(?i)(?\u003c=\\s|^|\\G)(file)(?=\\s|$|#)[ \\t]*","end":"(?=\\s*(?:$|#))","beginCaptures":{"1":{"name":"keyword.operator.log-destination.filename.torrc"}}}]},"entryNode":{"patterns":[{"include":"#cc"},{"include":"#port"},{"match":"(?i)(?\u003c=\\s|^|\\G|,)(unix)(:)((?:[^\\r\\n#\\s\\\\]|\\\\.)++)","captures":{"1":{"name":"storage.type.domain.unix.torrc"},"2":{"patterns":[{"include":"etc#kolon"}]},"3":{"name":"string.other.link.filename.torrc"}}},{"name":"keyword.operator.wildcard.match-all.torrc","match":"(?\u003c=\\s|^|\\G|,)\\*(?=\\s|,|$|#)"},{"include":"#address"},{"include":"etc#comma"},{"include":"etc#ipv6"},{"include":"source.hosts#modern"}]},"entryNumeric":{"patterns":[{"name":"constant.language.other.$1.torrc","match":"(?i)(?\u003c=\\s|^|\\G)\\b(auto|bridge|relay|v3)\\b(?=$|\\s|#)"},{"include":"etc#comma"},{"include":"#typed"},{"include":"#unit"},{"include":"#num"},{"name":"invalid.illegal.syntax.non-numeric.torrc","match":"(?:[^#\\s\\d,]|(?\u003c!\\d),(?!\\d))++"}]},"entryParams":{"patterns":[{"name":"meta.parameter.torrc","contentName":"meta.parameter-value.torrc","begin":"(?\u003c=\\s|^|\\G|,)([^\\s#=]+)(=)","end":"(?=$|\\s|,|#)","patterns":[{"include":"#typed"},{"name":"string.unquoted.torrc","match":"\\G[^\\s,#]+"}],"beginCaptures":{"1":{"name":"entity.name.parameter.torrc"},"2":{"patterns":[{"include":"etc#eql"}]}}},{"name":"constant.language.parameter.niladic.torrc","match":"(?\u003c=\\s|^|\\G|,)[^\\s#=,]+(?=$|\\s|,|#)"},{"include":"etc#comma"}]},"entryPolicies":{"patterns":[{"name":"meta.policy.${2:/downcase}.torrc","match":"(?i)(?\u003c=\\s|^|\\G|,)((accept|reject)6?)(?=$|\\s|#|,)","captures":{"1":{"name":"keyword.control.policy-action.torrc"}}},{"include":"etc#comma"},{"include":"#address"},{"include":"etc#ip"},{"include":"etc#colon"},{"include":"etc#globSimple"}]},"entryVersions":{"patterns":[{"include":"#version"},{"include":"etc#comma"}]},"esc":{"name":"constant.character.escape.newline.torrc","match":"((\\\\))$\\r?\\n?","captures":{"1":{"name":"punctuation.definition.escape.backslash.torrc"},"2":{"name":"sublimelinter.gutter-mark.torrc"}}},"include":{"name":"meta.preprocessor.include.torrc","begin":"(?i)^\\s*((%)include)(?=$|\\s|#)[ \\t]*","end":"(?=\\s*$)","patterns":[{"name":"string.quoted.double.include.filename.torrc","contentName":"constant.other.reference.link.include.torrc","begin":"\\G\"","end":"\"|(?=$)","patterns":[{"include":"#strEsc"},{"include":"etc#globSimple"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.torrc"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.torrc"}}},{"name":"string.unquoted.include.filename.torrc","begin":"\\G(?=[^\"\\s#\\\\])","end":"(?=\\s*(?:$|#))","patterns":[{"name":"constant.other.reference.link.include.torrc","match":"(?:[^\"\\r\\n#\\\\]|\\\\.)++","captures":{"0":{"patterns":[{"include":"etc#globSimple"}]}}},{"include":"#esc"}]}],"beginCaptures":{"1":{"name":"keyword.control.directive.include.torrc"},"2":{"name":"punctuation.definition.directive.torrc"}}},"main":{"patterns":[{"include":"#comment"},{"include":"#include"},{"include":"#entry"}]},"num":{"patterns":[{"name":"constant.numeric.integer.int.hexadecimal.hex.torrc","match":"(?i)(?:(?\u003c=\\s|^|\\G|,)[-+]|\\b)0x[A-F0-9]+\\b"},{"name":"constant.numeric.float.real.decimal.dec.torrc","match":"(?:(?\u003c=\\s|^|\\G|,)[-+]|\\b)\\d*\\.\\d+\\b"},{"name":"constant.numeric.integer.int.decimal.dec.torrc","match":"(?:(?\u003c=\\s|^|\\G|,)[-+]|\\b)\\d+(?!\\.)\\b"}]},"port":{"patterns":[{"include":"#portLone"},{"include":"#portSuffix"}]},"portLone":{"name":"constant.numeric.integer.port-number.torrc","match":"(?\u003c=\\s|^|\\G|,)\\d+(?=\\s|$|,|#)"},"portSuffix":{"match":"(?:(?\u003c=\\d:)|(?\u003c=\\d)(:))(\\d+)(?=\\s|$|,|#)","captures":{"1":{"patterns":[{"include":"etc#colon"}]},"2":{"name":"constant.numeric.integer.port-number.torrc"}}},"str":{"name":"string.quoted.double.torrc","begin":"\"","end":"(\")|((?:[^\\\\\"]|\\\\.)*)$","patterns":[{"include":"#strEsc"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.torrc"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.torrc"},"2":{"name":"invalid.illegal.syntax.unclosed-string.torrc"}}},"strEsc":{"patterns":[{"name":"constant.character.escape.simple.torrc","match":"(\\\\)[nrt\\\\'\"]"},{"name":"constant.character.escape.codepoint.hexadecimal.torrc","match":"(\\\\)x[A-Fa-f0-9]{2}"},{"name":"constant.character.escape.codepoint.octal.torrc","match":"(\\\\)([0-7]{1,3})"}]},"typed":{"patterns":[{"name":"meta.duration.torrc","match":"(?i)(?:^|\\G|(?\u003c=\\s))([-+]?(?:0[xX][A-F0-9]+|\\d+(?:\\.\\d+)?))\\s+((?:second|minute|hour|day|week)s?)(?=$|\\s|#)","captures":{"1":{"patterns":[{"include":"#num"}]},"2":{"patterns":[{"include":"#unit"}]}}},{"name":"meta.data-size.torrc","match":"(?i)(?:^|\\G|(?\u003c=\\s))([-+]?(?:0[xX][A-F0-9]+|\\d+(?:\\.\\d+)?))\\s+([KMGT]?(?:Bytes|Bits))(?=$|\\s|#)","captures":{"1":{"patterns":[{"include":"#num"}]},"2":{"patterns":[{"include":"#unit"}]}}}]},"unit":{"match":"(?i)(?\u003c=\\s|^|\\G)\\b(?:(([KMGT]?(?:Bit|Byte|B))s?)|((msec|second|minute|hour|day|week|month)s?))\\b(?=$|\\s|#)","captures":{"1":{"name":"constant.language.unit.data.${2:/downcase}.torrc"},"3":{"name":"constant.language.unit.temporal.${4:/downcase}.torrc"}}},"unq":{"name":"string.unquoted.torrc","begin":"[^\\s\\0#]","end":"(?=\\s*(?:\\\\?$|#))"},"version":{"name":"constant.other.version-string.torrc","match":"(?i)(?\u003c=\\s|^|\\G|,)(\\d+(?:\\.\\d+)*)(?:(-)(?!-)[-A-Z]+)?(?=$|,|\\s|#)","captures":{"1":{"patterns":[{"include":"etc#dot"}]},"2":{"patterns":[{"include":"etc#dash"}]}}}},"injections":{"L:source.torrc meta.entry.accountingstart.torrc":{"patterns":[{"match":"(?i)(?\u003c=AccountingStart)\\s+(day|week|month)(?:\\s+(\\d{1,2}))?\\s+((?:\\d{2}(:)\\d{2}))(?=\\s*(?:$|#))","captures":{"1":{"patterns":[{"include":"#unit"}]},"2":{"name":"constant.numeric.day-of-month.torrc"},"3":{"name":"constant.numeric.time.torrc"},"4":{"name":"punctuation.separator.time.torrc"}}}]},"L:source.torrc meta.entry.controlsocket.torrc":{"patterns":[{"match":"(?i)(?\u003c=ControlSocket)\\s+(0)(?=\\s*(?:$|#))","captures":{"1":{"name":"constant.numeric.disable-option.torrc"}}}]},"L:source.torrc meta.entry.schedulers.torrc":{"patterns":[{"match":"(?i)(?\u003c=Schedulers)\\s+(?!\\s*,\\s*)((?:\\s*(?:,\\s*)?(?:KISTLite|KIST|Vanilla))++)(?=\\s*(?:$|#))","captures":{"1":{"patterns":[{"name":"constant.language.scheduler-type.torrc","match":"\\w+"},{"include":"etc#comma"}]}}}]},"L:source.torrc source.embedded.abnf meta.ruleset":{"patterns":[{"name":"string.comment.freeform-rule-specifier.abnf","match":"(?\u003c==)\\s+(Any character except.+)"}]}}}
|
@@ -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"}}}}}
|