github-linguist 9.5.0 → 9.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/grammars/etc.json +1 -1
- data/grammars/gno.mod.json +1 -0
- data/grammars/markdown.mojo.codeblock.json +1 -0
- data/grammars/markdown.move.codeblock.json +1 -1
- data/grammars/source.4dm.json +1 -1
- data/grammars/source.abl.json +1 -1
- data/grammars/source.aleo.json +1 -0
- data/grammars/source.apex.json +1 -1
- data/grammars/source.astro.json +1 -1
- data/grammars/source.baml.json +1 -0
- data/grammars/source.bb.json +1 -1
- data/grammars/source.bird2.json +1 -0
- data/grammars/source.blueprint.json +1 -0
- data/grammars/source.bnd.json +1 -1
- data/grammars/source.brs.embedded.xml.json +1 -0
- data/grammars/source.bsl.json +1 -1
- data/grammars/source.c++.json +1 -1
- data/grammars/source.c.json +1 -1
- data/grammars/source.c3.json +1 -1
- data/grammars/source.carbon.json +1 -0
- data/grammars/source.cel.json +1 -0
- data/grammars/source.cl.json +1 -1
- data/grammars/source.clar.json +1 -1
- data/grammars/source.cmake.json +1 -1
- data/grammars/source.cmd.json +1 -1
- data/grammars/source.comment-string.wesl.json +1 -1
- data/grammars/source.comment-string.wgsl.json +1 -1
- data/grammars/source.cs.json +1 -1
- data/grammars/source.csswg.json +1 -1
- data/grammars/source.csv.json +1 -1
- data/grammars/source.curlrc.json +1 -1
- data/grammars/source.dart.json +1 -1
- data/grammars/source.daslang.json +1 -1
- data/grammars/source.data-weave.json +1 -1
- data/grammars/source.dds.dspf.json +1 -1
- data/grammars/source.dds.icff.json +1 -1
- data/grammars/source.dds.lf.json +1 -1
- data/grammars/source.dds.pf.json +1 -1
- data/grammars/source.dds.prtf.json +1 -1
- data/grammars/source.deq.json +1 -0
- data/grammars/source.emacs.lisp.json +1 -1
- data/grammars/source.fift.json +1 -0
- data/grammars/source.flix.json +1 -1
- data/grammars/source.fpp.json +1 -0
- data/grammars/source.func.json +1 -0
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.gedcom.json +1 -1
- data/grammars/source.gimprc.json +1 -0
- data/grammars/source.gimpres.json +1 -0
- data/grammars/source.gitconfig.json +1 -1
- data/grammars/source.gno.json +1 -0
- data/grammars/source.graphql.json +1 -1
- data/grammars/source.gtkrc.json +1 -0
- data/grammars/source.hack.json +1 -1
- data/grammars/source.hosts.json +1 -1
- data/grammars/source.hx.json +1 -1
- data/grammars/source.hxml.json +1 -1
- data/grammars/source.il.json +1 -0
- data/grammars/source.interp.json +1 -0
- data/grammars/source.jac.json +1 -1
- data/grammars/source.jactoml.json +1 -0
- data/grammars/source.jai.json +1 -1
- data/grammars/source.jass.json +1 -0
- data/grammars/source.julia.json +1 -1
- data/grammars/source.just.json +1 -1
- data/grammars/source.kcl.json +1 -1
- data/grammars/source.koka.json +1 -1
- data/grammars/source.lean4.markdown.json +1 -1
- data/grammars/source.leo.json +1 -1
- data/grammars/source.lobster.json +1 -0
- data/grammars/source.logos.json +1 -1
- data/grammars/source.luau.json +1 -1
- data/grammars/source.m2.json +1 -1
- data/grammars/source.m3u.json +1 -1
- data/grammars/source.matlab.json +1 -1
- data/grammars/source.mdx.astro.json +1 -1
- data/grammars/source.mi.json +1 -1
- data/grammars/source.mo.json +1 -1
- data/grammars/source.mojo.json +1 -1
- data/grammars/source.moonbit.config.json +1 -0
- data/grammars/source.moonbit.json +1 -1
- data/grammars/source.move.json +1 -1
- data/grammars/source.ms.json +1 -0
- data/grammars/source.nim.json +1 -1
- data/grammars/source.openqasm.json +1 -1
- data/grammars/source.opy.json +1 -0
- data/grammars/source.paperspecs.json +1 -0
- data/grammars/source.pic.json +1 -1
- data/grammars/source.pkgconf.json +1 -0
- data/grammars/source.pl.json +1 -0
- data/grammars/source.pnlgrp.json +1 -1
- data/grammars/source.powerquery.json +1 -0
- data/grammars/source.powershell.json +1 -1
- data/grammars/source.prisma.json +1 -1
- data/grammars/source.qsharp.json +1 -1
- data/grammars/source.quint.json +1 -0
- data/grammars/source.rarlist.json +1 -0
- data/grammars/source.rascript.json +1 -1
- data/grammars/source.record-jar.json +1 -1
- data/grammars/source.redscript.json +1 -0
- data/grammars/source.rego.json +1 -1
- data/grammars/source.rhai.json +1 -0
- data/grammars/source.rpg.json +1 -1
- data/grammars/source.rpgle.json +1 -1
- data/grammars/source.rust.json +1 -1
- data/grammars/source.scala.json +1 -1
- data/grammars/source.slang.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.spicedb-yaml.json +1 -0
- data/grammars/source.spicedb.json +1 -0
- data/grammars/source.stan.json +1 -1
- data/grammars/source.stim.json +1 -0
- data/grammars/source.surrealql.json +1 -1
- data/grammars/source.swift.json +1 -1
- data/grammars/source.tasm.json +1 -0
- data/grammars/source.tlb.json +1 -0
- data/grammars/source.tolk.json +1 -0
- data/grammars/source.ucode-template.json +1 -0
- data/grammars/source.ucode.json +1 -0
- data/grammars/source.uri-list.json +1 -0
- data/grammars/source.v.json +1 -1
- data/grammars/source.vento.json +1 -1
- data/grammars/source.verse.json +1 -0
- data/grammars/source.vespaSchema.json +1 -0
- data/grammars/source.vhs.json +1 -0
- data/grammars/source.wgsl.json +1 -1
- data/grammars/source.yaml.salt.json +1 -1
- data/grammars/spicedb-yaml.injection.json +1 -0
- data/grammars/text.bbcode.json +1 -0
- data/grammars/text.cachedir.json +1 -0
- data/grammars/text.cookie-jar.json +1 -0
- data/grammars/text.html.handlebars.json +1 -1
- data/grammars/text.html.vue.json +1 -1
- data/grammars/text.mac-tts.json +1 -0
- data/grammars/text.recfile.json +1 -0
- data/grammars/text.roff.json +1 -1
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/blob_helper.rb +19 -0
- data/lib/linguist/classifier.rb +2 -1
- data/lib/linguist/generated.rb +40 -0
- data/lib/linguist/generic.yml +3 -0
- data/lib/linguist/heuristics.yml +97 -5
- data/lib/linguist/language.rb +13 -9
- data/lib/linguist/languages.yml +368 -37
- data/lib/linguist/languages_data.rb +7663 -0
- data/lib/linguist/lazy_blob.rb +25 -2
- data/lib/linguist/samples.rb +4 -10
- data/lib/linguist/samples_data.rb +196100 -0
- data/lib/linguist/vendor.yml +3 -0
- metadata +54 -18
- data/grammars/markdown.bicep.codeblock.json +0 -1
- data/lib/linguist/languages.json +0 -1
- data/lib/linguist/samples.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"moonbit","scopeName":"source.moonbit","patterns":[{"include":"#strings"},{"include":"#comments"},{"include":"#constants"},{"include":"#keywords"},{"include":"#functions"},{"include":"#support"},{"include":"#attribute"},{"include":"#types"},{"include":"#modules"},{"include":"#variables"}],"repository":{"attribute":{"patterns":[{"match":"(#[a-z][A-Za-z0-9_. ]*)(.*)","captures":{"1":{"name":"keyword.control.directive"},"2":{"patterns":[{"include":"#strings"},{"name":"entity.name.tag","match":"[a-zA-Z0-9_. ]+"},{"name":"keyword.operator.attribute.moonbit","match":"="}]}}}]},"comments":{"patterns":[{"name":"comment.line","match":"//[^/].*"},{"name":"comment.block.documentation.moonbit","begin":"///","while":"///","patterns":[{"name":"markup.fenced_code.block.markdown","begin":"(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(mbt\\s+test|mbt\\s+test(async)|mbt|moonbit\\s+test|moonbit\\s+test(async)|moonbit|)(\\s+[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","patterns":[{"contentName":"meta.embedded.block.moonbit","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)","patterns":[{"include":"$self"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"5":{"name":"fenced_code.block.language"},"6":{"name":"fenced_code.block.language.attributes"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}}]}]},"constants":{"patterns":[{"name":"constant.numeric.moonbit","match":"\\b\\d(\\d|_)*(?!\\.)((U)?(L)?|N?)\\b"},{"name":"constant.numeric.moonbit","match":"(?\u003c=\\.)\\d((?=\\.)|\\b)"},{"name":"constant.numeric.moonbit","match":"\\b\\d+(?=\\.\\.)"},{"name":"constant.numeric.moonbit","match":"\\b\\d[\\d_]*\\.[\\d_]*([Ee][+-]?\\d[\\d_]*\\b)?"},{"name":"constant.numeric.moonbit","match":"\\b0[Oo][0-7][0-7]*((U)?(L)?|N?)\\b"},{"name":"constant.numeric.moonbit","match":"\\b0[Xx][\\dAaBbCcDdEeFf][\\dAaBbCcDdEeFf_]*((U|L|UL|N)\\b|\\.[\\da-fA-F_]*([Pp][+-]?[\\da-fA-F_]+\\b)?)?"},{"name":"constant.language.moonbit","match":"\\b(true|false)\\b"}]},"escape":{"patterns":[{"name":"constant.character.escape.moonbit","match":"\\\\[0\\\\tnrb\"']"},{"name":"constant.character.escape.moonbit","match":"\\\\x[0-9a-fA-F]{2}"},{"name":"constant.character.escape.moonbit","match":"\\\\o[0-3][0-7]{2}"},{"name":"constant.character.escape.unicode.moonbit","match":"\\\\u[0-9a-fA-F]{4}"},{"name":"constant.character.escape.unicode.moonbit","match":"\\\\u{[0-9a-fA-F]*}"}]},"functions":{"patterns":[{"match":"\\b(fn)\\b\\s*(?:([A-Z][A-Za-z0-9_]*)::)?([a-z0-9_][A-Za-z0-9_]*)?\\b","captures":{"1":{"name":"keyword.moonbit"},"2":{"name":"entity.name.type.moonbit"},"3":{"name":"entity.name.function.moonbit"}}},{"name":"meta.function.call.moonbit","begin":"(?!\\bfn\\s+)(?:\\.|::)?([a-z0-9_][A-Za-z0-9_]*(\\!|\\?|\\!\\!)?)\\s*(\\()","end":"\\)","patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#keywords"},{"include":"#functions"},{"include":"#support"},{"include":"#types"},{"include":"#modules"},{"include":"#strings"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.moonbit"},"2":{"name":"punctuation.brackets.round.moonbit"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.moonbit"}}}]},"interpolation":{"patterns":[{"name":"meta.embedded.line.moonbit","contentName":"source.moonbit","begin":"\\\\{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.moonbit"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.moonbit"}}}]},"keywords":{"patterns":[{"name":"keyword.control.moonbit.async","match":"\\b(async)\\b"},{"name":"keyword.control.moonbit","match":"\\b(guard|if|while|break|continue|return|try|catch|except|raise|noraise|match|lexmatch|using|else|as|in|is|loop|for|async|defer)\\b"},{"name":"keyword.moonbit","match":"\\b(type!|lexmatch\\?|(type|typealias|let|const|enum|struct|import|trait|traitalias|derive|test|impl|with|fnalias|recur|suberror|letrec|and|where|declare)\\b)"},{"name":"storage.modifier.moonbit","match":"\\b(mut|pub|priv|readonly|extern)\\b"},{"name":"storage.type.function.arrow.moonbit","match":"-\u003e"},{"name":"storage.type.function.arrow.moonbit","match":"=\u003e"},{"name":"keyword.operator.assignment.moonbit","match":"="},{"name":"keyword.operator.other.moonbit","match":"\\|\u003e"},{"name":"keyword.operator.comparison.moonbit","match":"(===|==|!=|\u003e=|\u003c=|(?\u003c!-)(?\u003c!\\|)\u003e(?!\u003e)|\u003c(?!\u003c))"},{"name":"keyword.operator.logical.moonbit","match":"(\\bnot\\b|\u0026\u0026|\\|\\|)"},{"name":"keyword.operator.bitwise.moonbit","match":"(\\|(?!\\|)(?!\u003e)|\u0026(?!\u0026)|\\^|\u003c\u003c|\u003e\u003e)"},{"name":"keyword.operator.math.moonbit","match":"(\\+|-(?!\u003e)|\\*|%|/)"}]},"modules":{"patterns":[{"name":"entity.name.namespace.moonbit","match":"@[A-Za-z][A-Za-z0-9_/]*"}]},"strings":{"patterns":[{"name":"string.line","match":"(#\\|).*","captures":{"1":{"name":"keyword.operator.other.moonbit"}}},{"name":"string.line","match":"(\\$\\|)(.*)","captures":{"1":{"name":"keyword.operator.other.moonbit"},"2":{"patterns":[{"include":"#escape"},{"include":"#interpolation"}]}}},{"name":"string.quoted.single.moonbit","begin":"'","end":"'","patterns":[{"include":"#escape"}]},{"name":"string.quoted.double.moonbit","begin":"\"","end":"\"","patterns":[{"include":"#escape"},{"include":"#interpolation"}]}]},"support":{"patterns":[{"name":"support.class.moonbit","match":"\\b(Eq|Compare|Hash|Show|Default|ToJson|FromJson)\\b"}]},"types":{"patterns":[{"name":"entity.name.type.moonbit","match":"\\b(?\u003c!@)[A-Z][A-Za-z0-9_]*((\\?)+|\\b)"}]},"variables":{"patterns":[{"name":"variable.other.moonbit","match":"\\b(?\u003c!\\.|::)[a-z_][a-zA-Z0-9_]*\\b"}]}}}
|
|
1
|
+
{"name":"moonbit","scopeName":"source.moonbit","patterns":[{"include":"#doccomment"},{"include":"#linecomment"},{"include":"#regexliteral"},{"include":"#bytes"},{"include":"#string-double"},{"include":"#string-single"},{"include":"#multilineinterp"},{"include":"#multilinestring"},{"include":"#attributename"},{"include":"#type-annotation-var"},{"include":"#type-annotation-return"},{"include":"#object-method-key"},{"include":"#ternary-expression"},{"include":"#fn-definition"},{"include":"#let-destructure"},{"include":"#const-destructure"},{"include":"#as-typekw"},{"include":"#dotint"},{"include":"#float"},{"include":"#double"},{"include":"#int"},{"include":"#scope-keyword-operator-expression-as"},{"include":"#scope-keyword-operator-expression-is"},{"include":"#scope-keyword-operator-expression-not"},{"include":"#tryquestion"},{"include":"#trybang"},{"include":"#lexmatchquestion"},{"include":"#scope-keyword-control-flow"},{"include":"#scope-keyword-control-conditional"},{"include":"#scope-keyword-control-loop-for"},{"include":"#scope-keyword-control-loop-in"},{"include":"#scope-keyword-control-loop-loop"},{"include":"#scope-keyword-control-loop-while"},{"include":"#scope-keyword-control-loop-break"},{"include":"#scope-keyword-control-loop-continue"},{"include":"#scope-keyword-control-exception"},{"include":"#scope-keyword-control-import"},{"include":"#scope-keyword-control-proof"},{"include":"#uident"},{"include":"#prooflabel"},{"include":"#scope-keyword-other"},{"include":"#scope-storage-modifier"},{"include":"#scope-storage-modifier-accessibility"},{"include":"#scope-storage-type-function"},{"include":"#moonbit-impl-header"},{"include":"#scope-storage-type"},{"include":"#scope-storage-type-function-arrow"},{"include":"#scope-constant-language-boolean-true"},{"include":"#scope-constant-language-boolean-false"},{"include":"#method-call"},{"include":"#known-property-access"},{"include":"#property-access"},{"include":"#forall"},{"include":"#exists"},{"include":"#implies"},{"include":"#operator-overrides"},{"include":"#operators"},{"include":"#scope-punctuation-accessor"},{"include":"#scope-punctuation-separator-colon"},{"include":"#scope-punctuation-bracket-square"},{"include":"#scope-punctuation-separator-comma"},{"include":"#scope-punctuation-bracket-round"},{"include":"#scope-punctuation-bracket-curly"},{"include":"#scope-punctuation-terminator-statement"},{"include":"#punctuation"},{"include":"#function-call"},{"include":"#ident"},{"include":"#packagename"},{"include":"#byte"},{"include":"#char"}],"repository":{"as-typekw":{"name":"meta.type.as.moonbit","begin":"\\b(as)\\b(?=\\s+[[:alpha:][:digit:]_@\"({\\[]|\\s*$)","end":"(?=[)}{\\],;=\u003e]|\\b(?:as|if|else|match|guard|lexmatch|for|while|loop|in|break|continue|return|raise|throw|defer|try|catch|import|using|fn|predicate|lemma|let|letrec|const|type|struct|enum|enumview|extenum|trait|impl|typealias|traitalias|fnalias|suberror|test|pub|priv|readonly|extern|mut|async|declare|noraise|nobreak|proof_assert|proof_let|is|not)\\b)","patterns":[{"include":"#type-inner"}],"beginCaptures":{"1":{"name":"keyword.operator.expression.as.moonbit"}}},"attributename":{"name":"entity.name.function.decorator.moonbit","match":"#[a-zA-Z_][a-zA-Z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z0-9_]*)?"},"bind-default":{"begin":"(=)","end":"(?=[,}\\])])","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.moonbit"}}},"byte":{"name":"constant.character.byte.moonbit","match":"b'(?:\\\\(?:['\"\\\\nrtbf/ ]|x[0-9a-fA-F]{2}|o[0-3][0-7]{2}|u[0-9a-fA-F]{4}|u\\{[0-9a-fA-F]+\\}|.)|[^\\\\'\\n])+'"},"bytes":{"name":"string.quoted.double.bytes.moonbit","match":"b\"(?:[^\"\\\\\\n]|\\\\(?:['\"\\\\nrtbf/ ]|x[0-9a-fA-F]{2}|o[0-3][0-7]{2}|u[0-9a-fA-F]{4}|u\\{[0-9a-fA-F]+\\}|.))*\""},"char":{"name":"constant.character.moonbit","match":"'(?:\\\\(?:['\"\\\\nrtbf/ ]|x[0-9a-fA-F]{2}|o[0-3][0-7]{2}|u[0-9a-fA-F]{4}|u\\{[0-9a-fA-F]+\\}|.)|[^\\\\'\\n])+'"},"const-bind-array":{"begin":"\\[","end":"\\]","patterns":[{"include":"#const-bind-elem"}],"beginCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.moonbit"}},"endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.moonbit"}}},"const-bind-elem":{"patterns":[{"name":"keyword.operator.rest.moonbit","match":"(\\.\\.\\.)"},{"include":"#bind-default"},{"include":"#const-bind-object"},{"include":"#const-bind-array"},{"name":"variable.other.constant.moonbit"},{"name":"punctuation.separator.comma.moonbit","match":","}]},"const-bind-object":{"begin":"\\{","end":"\\}","patterns":[{"include":"#const-bind-prop"}],"beginCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.moonbit"}},"endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.moonbit"}}},"const-bind-prop":{"patterns":[{"name":"keyword.operator.rest.moonbit","match":"(\\.\\.\\.)"},{"captures":{"1":{"name":"variable.object.property.moonbit"},"3":{"name":"punctuation.destructuring.moonbit"}}},{"include":"#bind-default"},{"include":"#const-bind-object"},{"include":"#const-bind-array"},{"name":"variable.other.constant.moonbit"},{"name":"punctuation.separator.comma.moonbit","match":","}]},"const-destructure":{"begin":"\\b(const)\\s+(?=[{\\[])","end":"(?\u003c=[}\\]])","patterns":[{"include":"#mut-bind-object"},{"include":"#mut-bind-array"}],"beginCaptures":{"1":{"name":"storage.type.moonbit"}}},"doccomment":{"name":"comment.line.documentation.moonbit","match":"\\/\\/\\/[^\\n]*"},"dotint":{"name":"constant.numeric.integer.tuple-index.moonbit","match":"\\.[0-9]+"},"double":{"name":"constant.numeric.double.moonbit","match":"(?:0[xX][0-9a-fA-F][0-9a-fA-F_]*\\.[0-9a-fA-F_]*(?:[pP][+-]?[0-9][0-9_]*)?(?!\\.)|[0-9][0-9_]*\\.[0-9_]*(?:[eE][+-]?[0-9][0-9_]*)?(?!\\.))"},"exists":{"name":"keyword.operator.quantifier.moonbit","match":"∃"},"expr-scope-keyword-control-flow":{"name":"keyword.control.flow.moonbit","match":"\\b(raise|throw|return)\\b"},"expr-scope-storage-modifier":{"name":"storage.modifier.moonbit","match":"\\b(async)\\b"},"expr-scope-storage-modifier-accessibility":{"name":"storage.modifier.moonbit","match":"\\b(noraise|nobreak)\\b(?=\\s+(?:\\.\\.\\.|[[:alpha:]_\\[*#{\"'0-9]))"},"expression":{"patterns":[{"include":"#doccomment"},{"include":"#linecomment"},{"include":"#regexliteral"},{"include":"#bytes"},{"include":"#string-double"},{"include":"#string-single"},{"include":"#multilineinterp"},{"include":"#multilinestring"},{"include":"#attributename"},{"include":"#type-annotation-return"},{"include":"#object-method-key"},{"include":"#ternary-expression"},{"include":"#fn-definition"},{"include":"#as-typekw"},{"include":"#dotint"},{"include":"#float"},{"include":"#double"},{"include":"#int"},{"include":"#scope-keyword-operator-expression-as"},{"include":"#scope-keyword-operator-expression-is"},{"include":"#scope-keyword-operator-expression-not"},{"include":"#tryquestion"},{"include":"#trybang"},{"include":"#lexmatchquestion"},{"include":"#expr-scope-keyword-control-flow"},{"include":"#scope-keyword-control-conditional"},{"include":"#scope-keyword-control-loop-for"},{"include":"#scope-keyword-control-loop-in"},{"include":"#scope-keyword-control-loop-loop"},{"include":"#scope-keyword-control-loop-while"},{"include":"#scope-keyword-control-loop-break"},{"include":"#scope-keyword-control-loop-continue"},{"include":"#scope-keyword-control-exception"},{"include":"#uident"},{"include":"#prooflabel"},{"include":"#scope-keyword-other"},{"include":"#expr-scope-storage-modifier"},{"include":"#expr-scope-storage-modifier-accessibility"},{"include":"#scope-storage-type-function"},{"include":"#scope-storage-type-function-arrow"},{"include":"#scope-constant-language-boolean-true"},{"include":"#scope-constant-language-boolean-false"},{"include":"#method-call"},{"include":"#known-property-access"},{"include":"#property-access"},{"include":"#forall"},{"include":"#exists"},{"include":"#implies"},{"include":"#operator-overrides"},{"include":"#operators"},{"include":"#scope-punctuation-accessor"},{"include":"#scope-punctuation-separator-colon"},{"include":"#scope-punctuation-bracket-square"},{"include":"#scope-punctuation-separator-comma"},{"include":"#scope-punctuation-bracket-round"},{"include":"#scope-punctuation-bracket-curly"},{"include":"#scope-punctuation-terminator-statement"},{"include":"#punctuation"},{"include":"#function-call"},{"include":"#ident"},{"include":"#packagename"},{"include":"#byte"},{"include":"#char"}]},"float":{"name":"constant.numeric.float.moonbit","match":"(?:0[xX][0-9a-fA-F][0-9a-fA-F_]*\\.[0-9a-fA-F_]*[pP][+-]?[0-9][0-9_]*F|[0-9][0-9_]*\\.[0-9_]*(?:[eE][+-]?[0-9][0-9_]*)?F)"},"fn-definition":{"captures":{"1":{"name":"storage.type.function.moonbit"},"2":{"name":"entity.name.function.moonbit"}}},"forall":{"name":"keyword.operator.quantifier.moonbit","match":"∀"},"function-call":{"captures":{"1":{"name":"entity.name.function.moonbit"}}},"ident":{"name":"variable.other.readwrite.moonbit"},"implies":{"name":"keyword.operator.logical.implication.moonbit","match":"→"},"int":{"name":"constant.numeric.integer.moonbit","match":"(?:0[xX][0-9a-fA-F][0-9a-fA-F_]*|0[oO][0-7][0-7_]*|0[bB][01][01_]*|[0-9][0-9_]*)(?:UL|U|L|N)?"},"known-property-access":{"match":"(?\u003c=[\\w\\]\\)])(\\.)\\s*(\\.|\\.=|\\.\u003c|\\.\u003c=|\\.\\.)\\b","captures":{"1":{"name":"punctuation.accessor.moonbit"},"2":{"name":"keyword.operator.range.moonbit"}}},"let-destructure":{"begin":"\\b(let)\\s+(?=[{\\[])","end":"(?\u003c=[}\\]])","patterns":[{"include":"#mut-bind-object"},{"include":"#mut-bind-array"}],"beginCaptures":{"1":{"name":"storage.type.moonbit"}}},"lexmatchquestion":{"name":"keyword.control.conditional.moonbit","match":"lexmatch\\?"},"linecomment":{"name":"comment.line.double-slash.moonbit","match":"\\/\\/[^\\n]*"},"method-call":{"captures":{"1":{"name":"punctuation.accessor.moonbit"},"2":{"name":"entity.name.function.moonbit"}}},"moonbit-impl-header":{"name":"meta.impl.header.moonbit","begin":"\\b(impl)\\b","end":"(?=\\bwith\\b|[;{]|$)","patterns":[{"name":"keyword.other.impl.moonbit","match":"\\b(for)\\b"},{"include":"#type-inner"},{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.type.moonbit"}}},"moonbit-interpolation-braces":{"begin":"\\{","end":"\\}","patterns":[{"include":"#moonbit-interpolation-braces"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.moonbit"}},"endCaptures":{"0":{"name":"punctuation.definition.block.moonbit"}}},"multilineinterp":{"begin":"\\$\\|","end":"$","patterns":[{"name":"meta.embedded.expression.moonbit","begin":"\\\\\\{","end":"\\}","patterns":[{"include":"#moonbit-interpolation-braces"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.moonbit"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.moonbit"}}},{"name":"string.quoted.other.multiline.interpolated.moonbit","match":"(?:\\\\(?!\\{)|[^\\\\\\n])+"}],"beginCaptures":{"0":{"name":"string.quoted.other.multiline.interpolated.moonbit punctuation.definition.string.begin.moonbit"}}},"multilinestring":{"name":"string.quoted.other.multiline.moonbit","match":"#\\|[^\\n]*"},"mut-bind-array":{"begin":"\\[","end":"\\]","patterns":[{"include":"#mut-bind-elem"}],"beginCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.moonbit"}},"endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.moonbit"}}},"mut-bind-elem":{"patterns":[{"name":"keyword.operator.rest.moonbit","match":"(\\.\\.\\.)"},{"include":"#bind-default"},{"include":"#mut-bind-object"},{"include":"#mut-bind-array"},{"name":"variable.other.readwrite.moonbit"},{"name":"punctuation.separator.comma.moonbit","match":","}]},"mut-bind-object":{"begin":"\\{","end":"\\}","patterns":[{"include":"#mut-bind-prop"}],"beginCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.moonbit"}},"endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.moonbit"}}},"mut-bind-prop":{"patterns":[{"name":"keyword.operator.rest.moonbit","match":"(\\.\\.\\.)"},{"captures":{"1":{"name":"variable.object.property.moonbit"},"3":{"name":"punctuation.destructuring.moonbit"}}},{"include":"#bind-default"},{"include":"#mut-bind-object"},{"include":"#mut-bind-array"},{"name":"variable.other.readwrite.moonbit"},{"name":"punctuation.separator.comma.moonbit","match":","}]},"object-method-key":{"captures":{"1":{"name":"entity.name.function.moonbit"}}},"operator-overrides":{"match":"(\\.\\.\u003c=)|(\u003e=\\.\\.)|(\\.\\.\\.)|(\\.\\.\u003c)|(\\.\\.=)|(\u003e\\.\\.)|(\\.\\.)|(=~)|(\\+=)|(-=)|(\\*=)|(/=)|(%=)|(\\|\u003e)|(\u003c\\|)|(\\|\\|)|(\u0026\u0026)|(==)|(!=)|(\u003c=)|(\u003e=)|(\u003c\u003c)|(\u003e\u003e)|(\u0026)|(\\+)|(=)|(-)|(\\|)|(\\^)|(\u003c)|(\u003e)|(\\*)|(/)|(%)","captures":{"1":{"name":"keyword.operator.range.moonbit"},"10":{"name":"keyword.operator.assignment.moonbit"},"11":{"name":"keyword.operator.assignment.moonbit"},"12":{"name":"keyword.operator.assignment.moonbit"},"13":{"name":"keyword.operator.assignment.moonbit"},"14":{"name":"keyword.operator.pipe.moonbit"},"15":{"name":"keyword.operator.pipe.moonbit"},"16":{"name":"keyword.operator.logical.moonbit"},"17":{"name":"keyword.operator.logical.moonbit"},"18":{"name":"keyword.operator.comparison.moonbit"},"19":{"name":"keyword.operator.comparison.moonbit"},"2":{"name":"keyword.operator.range.moonbit"},"20":{"name":"keyword.operator.comparison.moonbit"},"21":{"name":"keyword.operator.comparison.moonbit"},"22":{"name":"keyword.operator.bitwise.moonbit"},"23":{"name":"keyword.operator.bitwise.moonbit"},"24":{"name":"keyword.operator.bitwise.moonbit"},"25":{"name":"keyword.operator.arithmetic.moonbit"},"26":{"name":"keyword.operator.assignment.moonbit"},"27":{"name":"keyword.operator.arithmetic.moonbit"},"28":{"name":"keyword.operator.bitwise.moonbit"},"29":{"name":"keyword.operator.bitwise.moonbit"},"3":{"name":"keyword.operator.range.moonbit"},"30":{"name":"keyword.operator.comparison.moonbit"},"31":{"name":"keyword.operator.comparison.moonbit"},"32":{"name":"keyword.operator.arithmetic.moonbit"},"33":{"name":"keyword.operator.arithmetic.moonbit"},"34":{"name":"keyword.operator.arithmetic.moonbit"},"4":{"name":"keyword.operator.range.moonbit"},"5":{"name":"keyword.operator.range.moonbit"},"6":{"name":"keyword.operator.range.moonbit"},"7":{"name":"keyword.operator.range.moonbit"},"8":{"name":"keyword.operator.comparison.moonbit"},"9":{"name":"keyword.operator.assignment.moonbit"}}},"operators":{"name":"keyword.operator.moonbit","match":"!"},"packagename":{"name":"entity.name.namespace.moonbit"},"prooflabel":{"name":"keyword.other.proof-label.moonbit","match":"proof_(?:require|ensure|invariant|yield|decrease|reasoning|axiomatized)(?=\\s*:)"},"property-access":{"captures":{"1":{"name":"punctuation.accessor.moonbit"},"2":{"name":"variable.other.property.moonbit"}}},"punctuation":{"name":"punctuation.moonbit","match":"\u003c\\+|\u003c\\?|\\?|~"},"regexliteral":{"begin":"(re)(\")","end":"\"|$","patterns":[{"name":"meta.embedded.expression.moonbit","begin":"\\\\\\{","end":"\\}","patterns":[{"include":"#moonbit-interpolation-braces"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.moonbit"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.moonbit"}}},{"name":"constant.character.escape.moonbit","match":"\\\\(?:['\"\\\\nrtbf/ ]|x[0-9a-fA-F]{2}|o[0-3][0-7]{2}|u[0-9a-fA-F]{4}|u\\{[0-9a-fA-F]+\\}|.)"},{"name":"string.regexp.moonbit","match":"(?:\\\\(?!\\{)|[^\"\\\\])+"}],"beginCaptures":{"1":{"name":"string.regexp.moonbit"},"2":{"name":"string.regexp.moonbit punctuation.definition.string.begin.moonbit"}},"endCaptures":{"0":{"name":"string.regexp.moonbit punctuation.definition.string.end.moonbit"}}},"scope-constant-language-boolean-false":{"name":"constant.language.boolean.false.moonbit","match":"\\b(false)\\b"},"scope-constant-language-boolean-true":{"name":"constant.language.boolean.true.moonbit","match":"\\b(true)\\b"},"scope-keyword-control-conditional":{"name":"keyword.control.conditional.moonbit","match":"\\b(if|else|guard|match|lexmatch)\\b"},"scope-keyword-control-exception":{"name":"keyword.control.exception.moonbit","match":"\\b(try|catch)\\b"},"scope-keyword-control-flow":{"name":"keyword.control.flow.moonbit","match":"\\b(raise|throw|return|defer)\\b"},"scope-keyword-control-import":{"name":"keyword.control.import.moonbit","match":"\\b(import|using)\\b"},"scope-keyword-control-loop-break":{"name":"keyword.control.loop.moonbit","match":"\\b(break)\\b(?=\\s+[[:alpha:][:digit:]_@\"({\\[]|\\s*$|\\s*[({\\[\"])"},"scope-keyword-control-loop-continue":{"name":"keyword.control.loop.moonbit","match":"\\b(continue)\\b(?=\\s+[[:alpha:][:digit:]_@\"({\\[]|\\s*$|\\s*[({\\[\"])"},"scope-keyword-control-loop-for":{"name":"keyword.control.loop.moonbit","match":"\\b(for)\\b(?=\\s+[[:alpha:][:digit:]_@\"({\\[]|\\s*$|\\s*[({\\[\"])"},"scope-keyword-control-loop-in":{"name":"keyword.control.loop.moonbit","match":"\\b(in)\\b(?=\\s+[[:alpha:][:digit:]_@\"({\\[]|\\s*$|\\s*[({\\[\"])"},"scope-keyword-control-loop-loop":{"name":"keyword.control.loop.moonbit","match":"\\b(loop)\\b(?=\\s+[[:alpha:][:digit:]_@\"({\\[]|\\s*$|\\s*[({\\[\"])"},"scope-keyword-control-loop-while":{"name":"keyword.control.loop.moonbit","match":"\\b(while)\\b(?=\\s+[[:alpha:][:digit:]_@\"({\\[]|\\s*$|\\s*[({\\[\"])"},"scope-keyword-control-proof":{"name":"keyword.control.proof.moonbit","match":"\\b(proof_assert|proof_let)\\b"},"scope-keyword-operator-expression-as":{"name":"keyword.operator.expression.moonbit","match":"\\b(as)\\b(?=\\s+[[:alpha:][:digit:]_@\"({\\[]|\\s*$)"},"scope-keyword-operator-expression-is":{"name":"keyword.operator.expression.moonbit","match":"\\b(is)\\b(?=\\s+[[:alpha:][:digit:]_@\"({\\[]|\\s*$)"},"scope-keyword-operator-expression-not":{"name":"keyword.operator.expression.moonbit","match":"\\b(not)\\b(?=\\s+[[:alpha:][:digit:]_@\"({\\[]|\\s*$)"},"scope-keyword-other":{"name":"keyword.other.moonbit","match":"\\b(_|Unit|Bool|Byte|Char|Int|Int64|UInt|UInt64|Float|Double|String|Bytes|Array|FixedArray|Option|Result|Json|where|with|all|open|derive|and)\\b"},"scope-punctuation-accessor":{"name":"punctuation.accessor.moonbit","match":"\\."},"scope-punctuation-bracket-curly":{"name":"punctuation.bracket.curly.moonbit","match":"\\{|\\}"},"scope-punctuation-bracket-round":{"name":"punctuation.bracket.round.moonbit","match":"\\(|\\)"},"scope-punctuation-bracket-square":{"name":"punctuation.bracket.square.moonbit","match":"\\[|\\]"},"scope-punctuation-separator-colon":{"name":"punctuation.separator.colon.moonbit","match":":"},"scope-punctuation-separator-comma":{"name":"punctuation.separator.comma.moonbit","match":","},"scope-punctuation-terminator-statement":{"name":"punctuation.terminator.statement.moonbit","match":";"},"scope-storage-modifier":{"name":"storage.modifier.moonbit","match":"\\b(async|pub|priv|readonly|extern)\\b"},"scope-storage-modifier-accessibility":{"name":"storage.modifier.moonbit","match":"\\b(noraise|mut|nobreak|declare)\\b(?=\\s+(?:\\.\\.\\.|[[:alpha:]_\\[*#{\"'0-9]))"},"scope-storage-type":{"name":"storage.type.moonbit","match":"\\b(let|const|letrec|type|struct|enum|extenum|suberror|enumview|typealias|traitalias|fnalias|trait|impl|test)\\b"},"scope-storage-type-function":{"name":"storage.type.function.moonbit","match":"\\b(fn|predicate|lemma)\\b"},"scope-storage-type-function-arrow":{"name":"storage.type.function.arrow.moonbit","match":"-\u003e|=\u003e"},"simple-type":{"name":"entity.name.type.moonbit"},"string-double":{"begin":"\"","end":"\"|$","patterns":[{"name":"meta.embedded.expression.moonbit","begin":"\\\\\\{","end":"\\}","patterns":[{"include":"#moonbit-interpolation-braces"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.moonbit"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.moonbit"}}},{"name":"constant.character.escape.moonbit","match":"\\\\(?:['\"\\\\nrtbf/ ]|x[0-9a-fA-F]{2}|o[0-3][0-7]{2}|u[0-9a-fA-F]{4}|u\\{[0-9a-fA-F]+\\}|.)"},{"name":"string.quoted.double.moonbit","match":"[^\"\\\\]+"}],"beginCaptures":{"0":{"name":"string.quoted.double.moonbit punctuation.definition.string.begin.moonbit"}},"endCaptures":{"0":{"name":"string.quoted.double.moonbit punctuation.definition.string.end.moonbit"}}},"string-single":{"name":"string.quoted.single.moonbit","begin":"'","end":"'|$","patterns":[{"name":"constant.character.escape.moonbit","match":"\\\\(?:['\"\\\\nrtbf/ ]|x[0-9a-fA-F]{2}|o[0-3][0-7]{2}|u[0-9a-fA-F]{4}|u\\{[0-9a-fA-F]+\\}|.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.moonbit"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.moonbit"}}},"ternary-expression":{"name":"meta.ternary-expression.moonbit","begin":"(\\?)(?![:])","end":"(:)","patterns":[{"include":"#ternary-expression"},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.operator.ternary.moonbit"}},"endCaptures":{"1":{"name":"keyword.operator.ternary.moonbit"}}},"trybang":{"name":"keyword.control.exception.moonbit","match":"try!"},"tryquestion":{"name":"keyword.control.exception.moonbit","match":"try\\?"},"type-annotation-return":{"name":"meta.type.annotation.return.moonbit","begin":"(?\u003c=\\))(:)","end":"(?=[{;]|=\u003e)","patterns":[{"include":"#type-inner"}],"beginCaptures":{"1":{"name":"keyword.operator.type.annotation.moonbit"}}},"type-annotation-var":{"name":"meta.type.annotation.moonbit","end":"(?=[=;,])|^\\s*(?=if|else|match|guard|lexmatch|for|while|loop|in|break|continue|return|throw|defer|try|catch|import|using|fn|predicate|lemma|let|letrec|const|type|struct|enum|enumview|extenum|trait|impl|typealias|traitalias|fnalias|suberror|test|pub|priv|readonly|extern|mut|declare|nobreak|proof_assert|proof_let)\\b","patterns":[{"include":"#type-inner"}],"beginCaptures":{"1":{"name":"storage.type.moonbit"},"2":{"name":"variable.other.moonbit"},"3":{"name":"keyword.operator.type.annotation.moonbit"}}},"type-inner":{"patterns":[{"include":"#type-object-type"},{"include":"#type-paren"},{"include":"#uident"},{"include":"#doccomment"},{"include":"#linecomment"},{"include":"#scope-constant-language-boolean-true"},{"include":"#scope-constant-language-boolean-false"},{"include":"#scope-keyword-operator-expression-as"},{"include":"#scope-keyword-operator-expression-is"},{"include":"#scope-keyword-operator-expression-not"},{"include":"#simple-type"},{"name":"keyword.operator.type.array.moonbit","match":"\\[\\]"},{"name":"punctuation.separator.comma.moonbit","match":","}]},"type-object-member":{"name":"meta.type.annotation.member.moonbit","end":"(?=[;},])","patterns":[{"include":"#type-inner"}],"beginCaptures":{"1":{"name":"variable.object.property.moonbit"},"2":{"name":"keyword.operator.optional.moonbit"},"3":{"name":"keyword.operator.type.annotation.moonbit"}}},"type-object-type":{"name":"meta.object-type.moonbit","begin":"\\{","end":"\\}","patterns":[{"include":"#type-object-member"},{"include":"#type-inner"},{"name":"punctuation.separator.moonbit","match":";"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.moonbit"}},"endCaptures":{"0":{"name":"punctuation.definition.block.moonbit"}}},"type-paren":{"begin":"\\(","end":"\\)","patterns":[{"include":"#type-inner"}]},"uident":{"name":"entity.name.type.moonbit","match":"[A-Z][A-Za-z0-9_]*\\??"}}}
|
data/grammars/source.move.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"scopeName":"source.move","patterns":[{"include":"#address"},{"include":"#comments"},{"include":"#extend_module"},{"include":"#module"},{"include":"#script"},{"include":"#annotation"},{"include":"#entry"},{"include":"#public-scope"},{"include":"#public"},{"include":"#native"},{"include":"#import"},{"include":"#friend"},{"include":"#const"},{"include":"#struct"},{"include":"#has_ability"},{"include":"#enum"},{"include":"#macro"},{"include":"#fun"},{"include":"#spec"}],"repository":{"=== DEPRECATED_BELOW ===":{},"abilities":{"name":"support.type.ability.move","match":"\\b(store|key|drop|copy)\\b"},"address":{"name":"meta.address_block.move","begin":"\\b(address)\\b","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"name":"meta.address.definition.move","begin":"(?\u003c=address)","end":"(?=[{])","patterns":[{"include":"#comments"},{"include":"#address_literal"},{"name":"entity.name.type.move","match":"\\b(\\w+)\\b"}]},{"include":"#module"}],"beginCaptures":{"1":{"name":"storage.modifier.type.address.keyword.move"}}},"annotation":{"name":"support.constant.annotation.move","begin":"#\\[","end":"\\]","patterns":[{"include":"#comments"},{"name":"meta.annotation.name.move","match":"\\b(\\w+)\\s*(?=\\=)"},{"name":"meta.annotation.value.move","begin":"=","end":"(?=[,\\]])","patterns":[{"include":"#literals"}]}]},"as":{"name":"keyword.control.as.move","match":"\\b(as)\\b"},"as-import":{"name":"meta.import.as.move","match":"\\b(as)\\b"},"block":{"name":"meta.block.move","begin":"{","end":"}","patterns":[{"include":"#expr"}]},"block-comments":{"patterns":[{"name":"comment.block.documentation.move","begin":"/\\*[\\*!](?![\\*/])","end":"\\*/"},{"name":"comment.block.move","begin":"/\\*","end":"\\*/"}]},"capitalized":{"name":"entity.name.type.use.move","match":"\\b([A-Z][a-zA-Z_0-9]*)\\b"},"comments":{"name":"meta.comments.move","patterns":[{"include":"#doc-comments"},{"include":"#line-comments"},{"include":"#block-comments"}]},"const":{"name":"meta.const.move","begin":"\\b(const)\\b","end":";","patterns":[{"include":"#comments"},{"include":"#primitives"},{"include":"#literals"},{"include":"#types"},{"name":"constant.other.move","match":"\\b([A-Z][A-Z_0-9]+)\\b"},{"include":"#error_const"}],"beginCaptures":{"1":{"name":"storage.modifier.const.move"}}},"control":{"name":"keyword.control.move","match":"\\b(return|while|loop|if|else|break|continue|abort)\\b"},"doc-comments":{"name":"comment.block.documentation.move","begin":"///","end":"$","patterns":[{"match":"`(\\w+)`","captures":{"1":{"name":"markup.underline.link.move"}}}]},"entry":{"name":"storage.modifier.visibility.entry.move","match":"\\b(entry)\\b"},"enum":{"name":"meta.enum.move","begin":"\\b(enum)\\b","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"include":"#escaped_identifier"},{"include":"#type_param"},{"name":"entity.name.type.enum.move","match":"\\b[A-Z][a-zA-Z_0-9]*\\b"},{"include":"#has"},{"include":"#abilities"},{"name":"meta.enum.definition.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"name":"entity.name.function.enum.move","match":"\\b([A-Z][A-Za-z_0-9]*)\\b(?=\\s*\\()"},{"name":"entity.name.type.enum.move","match":"\\b([A-Z][A-Za-z_0-9]*)\\b"},{"name":"meta.enum.tuple.move","begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expr_generic"},{"include":"#capitalized"},{"include":"#types"}]},{"name":"meta.enum.struct.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#escaped_identifier"},{"include":"#expr_generic"},{"include":"#capitalized"},{"include":"#types"}]}]}],"beginCaptures":{"1":{"name":"keyword.control.enum.move"}}},"error_const":{"name":"variable.other.error.const.move","match":"\\b(E[A-Z][A-Za-z0-9_]*)\\b"},"escaped_identifier":{"name":"variable.language.escaped.move","begin":"`","end":"`"},"expr":{"name":"meta.expression.move","patterns":[{"include":"#comments"},{"include":"#escaped_identifier"},{"include":"#expr_generic"},{"include":"#packed_field"},{"include":"#import"},{"include":"#as"},{"include":"#mut"},{"include":"#let"},{"include":"#types"},{"include":"#literals"},{"include":"#control"},{"include":"#move_copy"},{"include":"#resource_methods"},{"include":"#self_access"},{"include":"#module_access"},{"include":"#label"},{"include":"#macro_call"},{"include":"#local_call"},{"include":"#method_call"},{"include":"#path_access"},{"include":"#match_expression"},{"name":"keyword.operator.macro.dollar.move","match":"\\$(?=[a-z])"},{"name":"variable.other.meta.move","match":"(?\u003c=[$])[a-z][A-Z_0-9a-z]*"},{"name":"constant.other.move","match":"\\b([A-Z][A-Z_]+)\\b"},{"include":"#error_const"},{"name":"entity.name.type.move","match":"\\b([A-Z][a-zA-Z_0-9]*)\\b"},{"include":"#paren"},{"include":"#block"}]},"expr_generic":{"name":"meta.expression.generic.type.move","begin":"\u003c(?=([\\sa-z_,0-9A-Z\u003c\u003e]+\u003e))","end":"\u003e","patterns":[{"include":"#comments"},{"include":"#types"},{"include":"#capitalized"},{"include":"#expr_generic"}]},"extend_module":{"name":"meta.extend_module.move","begin":"\\b(extend)\\b","end":"(?\u003c=[;}])","patterns":[{"include":"#comments"},{"include":"#module"}],"beginCaptures":{"1":{"name":"storage.modifier.type.extend.move"}}},"friend":{"name":"meta.friend.move","begin":"\\b(friend)\\b","end":";","patterns":[{"include":"#comments"},{"include":"#address_literal"},{"name":"entity.name.type.module.move","match":"\\b([a-zA-Z][A-Za-z_0-9]*)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.type.move"}}},"fun":{"patterns":[{"include":"#fun_signature"},{"include":"#block"}]},"fun_body":{"name":"meta.fun_body.move","begin":"{","end":"(?\u003c=})","patterns":[{"include":"#expr"}]},"fun_call":{"name":"meta.fun_call.move","begin":"\\b(\\w+)\\s*(?:\u003c[\\w\\s,]+\u003e)?\\s*[(]","end":"[)]","patterns":[{"include":"#comments"},{"include":"#resource_methods"},{"include":"#self_access"},{"include":"#module_access"},{"include":"#move_copy"},{"include":"#literals"},{"include":"#fun_call"},{"include":"#block"},{"include":"#mut"},{"include":"#as"}],"beginCaptures":{"1":{"name":"entity.name.function.call.move"}}},"fun_signature":{"name":"meta.fun_signature.move","begin":"\\b(fun)\\b","end":"(?=[;{])","patterns":[{"include":"#comments"},{"include":"#module_access"},{"include":"#capitalized"},{"include":"#types"},{"include":"#mut"},{"name":"meta.function_name.move","begin":"(?\u003c=\\bfun)","end":"(?=[\u003c(])","patterns":[{"include":"#comments"},{"include":"#escaped_identifier"},{"name":"entity.name.function.move","match":"\\b(\\w+)\\b"}]},{"include":"#fun_type_param"},{"name":"meta.parentheses.move","begin":"[(]","end":"[)]","patterns":[{"include":"#comments"},{"include":"#self_access"},{"include":"#expr_generic"},{"include":"#escaped_identifier"},{"include":"#module_access"},{"include":"#capitalized"},{"include":"#types"},{"include":"#mut"}]},{"name":"storage.modifier","match":"\\b(acquires)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.fun.move"}}},"fun_type_param":{"name":"meta.fun_generic_param.move","begin":"\u003c","end":"\u003e","patterns":[{"include":"#comments"},{"include":"#types"},{"include":"#phantom"},{"include":"#capitalized"},{"include":"#module_access"},{"include":"#abilities"}]},"has":{"name":"keyword.control.ability.has.move","match":"\\b(has)\\b"},"has_ability":{"name":"meta.has.ability.move","begin":"(?\u003c=[})])\\s+(has)\\b","end":";","patterns":[{"include":"#comments"},{"include":"#abilities"}],"beginCaptures":{"1":{"name":"storage.modifier.type.move"}}},"ident":{"name":"meta.identifier.move","match":"\\b([a-zA-Z][A-Z_a-z0-9]*)\\b"},"import":{"name":"meta.import.move","begin":"\\b(use)\\b","end":";","patterns":[{"include":"#comments"},{"include":"#use_fun"},{"include":"#address_literal"},{"include":"#as-import"},{"name":"entity.name.type.move","match":"\\b([A-Z]\\w*)\\b"},{"begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#as-import"},{"name":"entity.name.type.move","match":"\\b([A-Z]\\w*)\\b"}]},{"name":"meta.entity.name.type.module.move","match":"\\b(\\w+)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.type.move"}}},"inline":{"name":"storage.modifier.visibility.inline.move","match":"\\b(inline)\\b"},"label":{"name":"string.quoted.single.label.move","match":"'[a-z][a-z_0-9]*"},"let":{"name":"keyword.control.move","match":"\\b(let)\\b"},"line-comments":{"name":"comment.line.double-slash.move","begin":"//","end":"$"},"literals":{"name":"meta.literal.move","patterns":[{"name":"support.constant.address.base16.move","match":"@0x[A-F0-9a-f]+"},{"name":"support.constant.address.name.move","match":"@[a-zA-Z][a-zA-Z_0-9]*"},{"name":"constant.numeric.hex.move","match":"0x[_a-fA-F0-9]+(?:u(?:8|16|32|64|128|256))?"},{"name":"constant.numeric.move","match":"(?\u003c!(?:\\w|(?:(?\u003c!\\.)\\.)))[0-9][_0-9]*(?:\\.(?!\\.)(?:[0-9][_0-9]*)?)?(?:[eE][+\\-]?[_0-9]+)?(?:[u](?:8|16|32|64|128|256))?"},{"name":"meta.string.literal.move","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.hex.move","match":"\\\\x[a-fA-F0-9][A-Fa-f0-9]"},{"name":"constant.character.escape.move","match":"\\\\."},{"name":"string.quoted.double.raw.move","match":"."}]},{"name":"meta.vector.literal.ascii.move","begin":"\\bb\"","end":"\"","patterns":[{"name":"constant.character.escape.hex.move","match":"\\\\x[a-fA-F0-9][A-Fa-f0-9]"},{"name":"constant.character.escape.move","match":"\\\\."},{"name":"string.quoted.double.raw.move","match":"."}]},{"name":"meta.vector.literal.hex.move","begin":"x\"","end":"\"","patterns":[{"name":"constant.character.move","match":"[A-Fa-f0-9]+"}]},{"name":"constant.language.boolean.move","match":"\\b(?:true|false)\\b"},{"name":"meta.vector.literal.move","begin":"(\\bvector\\b)\\[","end":"\\]","patterns":[{"include":"#expr"}],"captures":{"1":{"name":"support.type.vector.move"}}}]},"local_call":{"name":"entity.name.function.call.local.move","match":"\\b([a-z][_a-z0-9]*)(?=[\u003c\\(])"},"macro":{"name":"meta.macro.move","begin":"\\b(macro)\\b","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"include":"#fun"}],"beginCaptures":{"1":{"name":"keyword.control.macro.move"}}},"macro_call":{"name":"meta.macro.call","match":"(\\b|\\.)([a-z][A-Za-z0-9_]*)(!)","captures":{"2":{"name":"support.function.macro.move"},"3":{"name":"support.function.operator.macro.move"}}},"match_expression":{"name":"meta.match.move","begin":"\\b(match)\\b","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"include":"#escaped_identifier"},{"include":"#types"},{"name":"meta.match.block.move","begin":"{","end":"}","patterns":[{"name":"operator.match.move","match":"\\b(=\u003e)\\b"},{"include":"#expr"}]},{"include":"#expr"}],"beginCaptures":{"1":{"name":"keyword.control.match.move"}}},"method_call":{"name":"meta.path.call.move","match":"\\.([a-z][_a-z0-9]*)(?=[\u003c\\(])","captures":{"1":{"name":"entity.name.function.call.path.move"}}},"module":{"name":"meta.module.move","begin":"\\b(module)\\b","end":"(?\u003c=[;}])","patterns":[{"include":"#comments"},{"begin":"(?\u003c=\\b(module)\\b)","end":"(?=[;{])","patterns":[{"include":"#comments"},{"include":"#escaped_identifier"},{"name":"constant.other.move","begin":"(?\u003c=\\b(module))","end":"(?=[(::){])","patterns":[{"include":"#comments"},{"include":"#escaped_identifier"}]},{"name":"entity.name.type.move","begin":"(?\u003c=::)","end":"(?=[\\s;{])","patterns":[{"include":"#comments"},{"include":"#escaped_identifier"}]}]},{"name":"meta.module_scope.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#annotation"},{"include":"#entry"},{"include":"#public-scope"},{"include":"#public"},{"include":"#native"},{"include":"#import"},{"include":"#friend"},{"include":"#const"},{"include":"#struct"},{"include":"#has_ability"},{"include":"#enum"},{"include":"#macro"},{"include":"#fun"},{"include":"#spec"}]}],"beginCaptures":{"1":{"name":"storage.modifier.type.move"}}},"module_access":{"name":"meta.module_access.move","match":"\\b(\\w+)::(\\w+)\\b","captures":{"1":{"name":"meta.entity.name.type.accessed.module.move"},"2":{"name":"entity.name.function.call.move"}}},"move_copy":{"name":"variable.language.move","match":"\\b(move|copy)\\b"},"mut":{"name":"storage.modifier.mut.move","match":"\\b(mut)\\b"},"native":{"name":"storage.modifier.visibility.native.move","match":"\\b(native)\\b"},"packed_field":{"name":"meta.struct.field.move","match":"[a-z][a-z0-9_]+\\s*:\\s*(?=\\s)"},"paren":{"name":"meta.paren.move","begin":"\\(","end":"\\)","patterns":[{"include":"#expr"}]},"path_access":{"name":"meta.path.access.move","match":"\\.[a-z][_a-z0-9]*\\b"},"phantom":{"name":"keyword.control.phantom.move","match":"\\b(phantom)\\b"},"primitives":{"name":"support.type.primitives.move","match":"\\b(u8|u16|u32|u64|u128|u256|address|bool|signer)\\b"},"public":{"name":"storage.modifier.visibility.public.move","match":"\\b(public)\\b"},"public-scope":{"name":"meta.public.scoped.move","begin":"(?\u003c=\\b(public))\\s*\\(","end":"\\)","patterns":[{"include":"#comments"},{"name":"keyword.control.public.scope.move","match":"\\b(friend|script|package)\\b"}]},"resource_methods":{"name":"support.function.typed.move","match":"\\b(borrow_global|borrow_global_mut|exists|move_from|move_to_sender|move_to)\\b"},"script":{"name":"meta.script.move","begin":"\\b(script)\\b","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"name":"meta.script_scope.move","begin":"{","end":"}","patterns":[{"include":"#const"},{"include":"#comments"},{"include":"#import"},{"include":"#fun"}]}],"beginCaptures":{"1":{"name":"storage.modifier.script.move"}}},"self_access":{"name":"meta.self_access.move","match":"\\b(Self)::(\\w+)\\b","captures":{"1":{"name":"variable.language.self.move"},"2":{"name":"entity.name.function.call.move"}}},"spec":{"name":"meta.spec.move","begin":"\\b(spec)\\b","end":"(?\u003c=[;}])","patterns":[{"name":"storage.modifier.spec.target.move","match":"\\b(module|schema|struct|fun)"},{"name":"storage.modifier.spec.define.move","match":"\\b(define)"},{"name":"entity.name.function.move","match":"\\b(\\w+)\\b"},{"begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#spec_block"},{"include":"#spec_types"},{"include":"#spec_define"},{"include":"#spec_keywords"},{"include":"#control"},{"include":"#fun_call"},{"include":"#literals"},{"include":"#types"},{"include":"#let"}]}],"beginCaptures":{"1":{"name":"storage.modifier.spec.move"}}},"spec_block":{"name":"meta.spec_block.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#spec_block"},{"include":"#spec_types"},{"include":"#fun_call"},{"include":"#literals"},{"include":"#control"},{"include":"#types"},{"include":"#let"}]},"spec_define":{"name":"meta.spec_define.move","begin":"\\b(define)\\b","end":"(?=[;{])","patterns":[{"include":"#comments"},{"include":"#spec_types"},{"include":"#types"},{"begin":"(?\u003c=\\bdefine)","end":"(?=[(])","patterns":[{"include":"#comments"},{"name":"entity.name.function.move","match":"\\b(\\w+)\\b"}]}],"beginCaptures":{"1":{"name":"keyword.control.move.spec"}}},"spec_keywords":{"name":"keyword.control.move.spec","match":"\\b(global|pack|unpack|pragma|native|include|ensures|requires|invariant|apply|aborts_if|modifies)\\b"},"spec_types":{"name":"support.type.vector.move","match":"\\b(range|num|vector|bool|u8|u16|u32|u64|u128|u256|address)\\b"},"struct":{"name":"meta.struct.move","begin":"\\b(struct)\\b","end":"(?\u003c=[};\\)])","patterns":[{"include":"#comments"},{"include":"#escaped_identifier"},{"include":"#has"},{"include":"#abilities"},{"name":"entity.name.type.struct.move","match":"\\b[A-Z][a-zA-Z_0-9]*\\b"},{"name":"meta.struct.paren.move","begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#capitalized"},{"include":"#types"}]},{"include":"#type_param"},{"name":"meta.struct.paren.move","begin":"\\(","end":"(?\u003c=[)])","patterns":[{"include":"#comments"},{"include":"#types"}]},{"name":"meta.struct.body.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#self_access"},{"include":"#escaped_identifier"},{"include":"#module_access"},{"include":"#expr_generic"},{"include":"#capitalized"},{"include":"#types"}]},{"include":"#has_ability"}],"beginCaptures":{"1":{"name":"storage.modifier.type.move"}}},"struct_pack":{"name":"meta.struct.pack.move","begin":"(?\u003c=[A-Za-z0-9_\u003e])\\s*{","end":"}","patterns":[{"include":"#comments"}]},"type_param":{"name":"meta.generic_param.move","begin":"\u003c","end":"\u003e","patterns":[{"include":"#comments"},{"include":"#phantom"},{"include":"#capitalized"},{"include":"#module_access"},{"include":"#abilities"}]},"types":{"name":"meta.types.move","patterns":[{"include":"#primitives"},{"include":"#vector"}]},"use_fun":{"name":"meta.import.fun.move","begin":"\\b(fun)\\b","end":"(?=;)","patterns":[{"include":"#comments"},{"name":"keyword.control.as.move","match":"\\b(as)\\b"},{"name":"variable.language.self.use.fun.move","match":"\\b(Self)\\b"},{"name":"entity.name.function.use.move","match":"\\b(_______[a-z][a-z_0-9]+)\\b"},{"include":"#types"},{"include":"#escaped_identifier"},{"include":"#capitalized"}],"beginCaptures":{"1":{"name":"storage.modifier.fun.move"}}},"vector":{"name":"support.type.vector.move","match":"\\b(vector)\\b"}}}
|
|
1
|
+
{"scopeName":"source.move","patterns":[{"include":"#address"},{"include":"#comments"},{"include":"#extend_module"},{"include":"#module"},{"include":"#script"},{"include":"#annotation"},{"include":"#entry"},{"include":"#public-scope"},{"include":"#public"},{"include":"#native"},{"include":"#import"},{"include":"#friend"},{"include":"#const"},{"include":"#struct"},{"include":"#has_ability"},{"include":"#enum"},{"include":"#macro"},{"include":"#fun"},{"include":"#spec"}],"repository":{"=== DEPRECATED_BELOW ===":{},"abilities":{"name":"support.type.ability.move","match":"\\b(store|key|drop|copy)\\b"},"address":{"name":"meta.address_block.move","begin":"\\b(address)\\b","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"name":"meta.address.definition.move","begin":"(?\u003c=address)","end":"(?=[{])","patterns":[{"include":"#comments"},{"include":"#address_literal"},{"name":"entity.name.type.move","match":"\\b(\\w+)\\b"}]},{"include":"#module"}],"beginCaptures":{"1":{"name":"storage.modifier.type.address.keyword.move"}}},"address_literal":{"name":"support.constant.address.base16.move","match":"\\b0x[A-Fa-f0-9]+\\b"},"annotation":{"name":"support.constant.annotation.move","begin":"#\\[","end":"\\]","patterns":[{"include":"#comments"},{"name":"meta.annotation.name.move","match":"\\b(\\w+)\\s*(?=\\=)"},{"name":"meta.annotation.value.move","begin":"=","end":"(?=[,\\]])","patterns":[{"include":"#literals"}]}]},"as":{"name":"keyword.control.as.move","match":"\\b(as)\\b"},"as-import":{"name":"meta.import.as.move","match":"\\b(as)\\b"},"block":{"name":"meta.block.move","begin":"{","end":"}","patterns":[{"include":"#expr"}]},"block-comments":{"patterns":[{"name":"comment.block.documentation.move","begin":"/\\*[\\*!](?![\\*/])","end":"\\*/"},{"name":"comment.block.move","begin":"/\\*","end":"\\*/"}]},"capitalized":{"name":"entity.name.type.use.move","match":"\\b([A-Z][a-zA-Z_0-9]*)\\b"},"comments":{"name":"meta.comments.move","patterns":[{"include":"#doc-comments"},{"include":"#line-comments"},{"include":"#block-comments"}]},"const":{"name":"meta.const.move","begin":"\\b(const)\\b","end":";","patterns":[{"include":"#comments"},{"include":"#primitives"},{"include":"#literals"},{"include":"#types"},{"name":"constant.other.move","match":"\\b([A-Z][A-Z_0-9]+)\\b"},{"include":"#error_const"}],"beginCaptures":{"1":{"name":"storage.modifier.const.move"}}},"control":{"name":"keyword.control.move","match":"\\b(return|while|loop|if|else|break|continue|abort)\\b"},"doc-comments":{"name":"comment.block.documentation.move","begin":"///","end":"$","patterns":[{"match":"`(\\w+)`","captures":{"1":{"name":"markup.underline.link.move"}}}]},"entry":{"name":"storage.modifier.visibility.entry.move","match":"\\b(entry)\\b"},"enum":{"name":"meta.enum.move","begin":"\\b(enum)\\b","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"include":"#escaped_identifier"},{"include":"#type_param"},{"name":"entity.name.type.enum.move","match":"\\b[A-Z][a-zA-Z_0-9]*\\b"},{"include":"#has"},{"include":"#abilities"},{"name":"meta.enum.definition.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"name":"entity.name.function.enum.move","match":"\\b([A-Z][A-Za-z_0-9]*)\\b(?=\\s*\\()"},{"name":"entity.name.type.enum.move","match":"\\b([A-Z][A-Za-z_0-9]*)\\b"},{"name":"meta.enum.tuple.move","begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expr_generic"},{"include":"#capitalized"},{"include":"#types"}]},{"name":"meta.enum.struct.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#escaped_identifier"},{"include":"#expr_generic"},{"include":"#capitalized"},{"include":"#types"}]}]}],"beginCaptures":{"1":{"name":"keyword.control.enum.move"}}},"error_const":{"name":"variable.other.error.const.move","match":"\\b(E[A-Z][A-Za-z0-9_]*)\\b"},"escaped_identifier":{"name":"variable.language.escaped.move","begin":"`","end":"`"},"expr":{"name":"meta.expression.move","patterns":[{"include":"#comments"},{"include":"#escaped_identifier"},{"include":"#expr_generic"},{"include":"#packed_field"},{"include":"#import"},{"include":"#as"},{"include":"#mut"},{"include":"#let"},{"include":"#types"},{"include":"#literals"},{"include":"#control"},{"include":"#move_copy"},{"include":"#self_access"},{"include":"#module_access"},{"include":"#label"},{"include":"#macro_call"},{"include":"#local_call"},{"include":"#method_call"},{"include":"#path_access"},{"include":"#match_expression"},{"name":"keyword.operator.macro.dollar.move","match":"\\$(?=[a-z])"},{"name":"variable.other.meta.move","match":"(?\u003c=[$])[a-z][A-Z_0-9a-z]*"},{"name":"constant.other.move","match":"\\b([A-Z][A-Z_]+)\\b"},{"include":"#error_const"},{"name":"entity.name.type.move","match":"\\b([A-Z][a-zA-Z_0-9]*)\\b"},{"include":"#paren"},{"include":"#block"}]},"expr_generic":{"name":"meta.expression.generic.type.move","begin":"\u003c(?=([\\sa-z_,0-9A-Z\u003c\u003e]+\u003e))","end":"\u003e","patterns":[{"include":"#comments"},{"include":"#types"},{"include":"#capitalized"},{"include":"#expr_generic"}]},"extend_module":{"name":"meta.extend_module.move","begin":"\\b(extend)\\b","end":"(?\u003c=[;}])","patterns":[{"include":"#comments"},{"include":"#module"}],"beginCaptures":{"1":{"name":"storage.modifier.type.extend.move"}}},"friend":{"name":"meta.friend.move","begin":"\\b(friend)\\b","end":";","patterns":[{"include":"#comments"},{"include":"#address_literal"},{"name":"entity.name.type.module.move","match":"\\b([a-zA-Z][A-Za-z_0-9]*)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.type.move"}}},"fun":{"patterns":[{"include":"#fun_signature"},{"include":"#block"}]},"fun_body":{"name":"meta.fun_body.move","begin":"{","end":"(?\u003c=})","patterns":[{"include":"#expr"}]},"fun_call":{"name":"meta.fun_call.move","begin":"\\b(\\w+)\\s*(?:\u003c[\\w\\s,]+\u003e)?\\s*[(]","end":"[)]","patterns":[{"include":"#comments"},{"include":"#self_access"},{"include":"#module_access"},{"include":"#move_copy"},{"include":"#literals"},{"include":"#fun_call"},{"include":"#block"},{"include":"#mut"},{"include":"#as"}],"beginCaptures":{"1":{"name":"entity.name.function.call.move"}}},"fun_signature":{"name":"meta.fun_signature.move","begin":"\\b(fun)\\b","end":"(?=[;{])","patterns":[{"include":"#comments"},{"include":"#module_access"},{"include":"#capitalized"},{"include":"#types"},{"include":"#mut"},{"name":"meta.function_name.move","begin":"(?\u003c=\\bfun)","end":"(?=[\u003c(])","patterns":[{"include":"#comments"},{"include":"#escaped_identifier"},{"name":"entity.name.function.move","match":"\\b(\\w+)\\b"}]},{"include":"#fun_type_param"},{"name":"meta.parentheses.move","begin":"[(]","end":"[)]","patterns":[{"include":"#comments"},{"include":"#self_access"},{"include":"#expr_generic"},{"include":"#escaped_identifier"},{"include":"#module_access"},{"include":"#capitalized"},{"include":"#types"},{"include":"#mut"}]},{"name":"storage.modifier","match":"\\b(acquires)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.fun.move"}}},"fun_type_param":{"name":"meta.fun_generic_param.move","begin":"\u003c","end":"\u003e","patterns":[{"include":"#comments"},{"include":"#types"},{"include":"#phantom"},{"include":"#capitalized"},{"include":"#module_access"},{"include":"#abilities"}]},"has":{"name":"keyword.control.ability.has.move","match":"\\b(has)\\b"},"has_ability":{"name":"meta.has.ability.move","begin":"(?\u003c=[})])\\s+(has)\\b","end":";","patterns":[{"include":"#comments"},{"include":"#abilities"}],"beginCaptures":{"1":{"name":"storage.modifier.type.move"}}},"ident":{"name":"meta.identifier.move","match":"\\b([a-zA-Z][A-Z_a-z0-9]*)\\b"},"import":{"name":"meta.import.move","begin":"\\b(use)\\b","end":";","patterns":[{"include":"#comments"},{"include":"#use_fun"},{"include":"#address_literal"},{"include":"#as-import"},{"name":"entity.name.type.move","match":"\\b([A-Z]\\w*)\\b"},{"begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#as-import"},{"name":"entity.name.type.move","match":"\\b([A-Z]\\w*)\\b"}]},{"name":"meta.entity.name.type.module.move","match":"\\b(\\w+)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.type.move"}}},"label":{"name":"string.quoted.single.label.move","match":"'[a-z][a-z_0-9]*"},"let":{"name":"keyword.control.move","match":"\\b(let)\\b"},"line-comments":{"name":"comment.line.double-slash.move","begin":"//","end":"$"},"literals":{"name":"meta.literal.move","patterns":[{"name":"support.constant.address.decimal.move","match":"@[0-9][0-9_]*"},{"name":"support.constant.address.base16.move","match":"@0x[A-F0-9a-f]+"},{"name":"support.constant.address.name.move","match":"@[a-zA-Z][a-zA-Z_0-9]*"},{"name":"meta.constant.numeric.hex.move","match":"\\b(0x[_a-fA-F0-9]+)([ui](8|16|32|64|128|256))?\\b","captures":{"1":{"name":"constant.numeric.hex.move"},"2":{"name":"entity.name.type.integer.move"}}},{"name":"meta.constant.numeric.move","match":"\\b([0-9][_0-9]*)([ui](8|16|32|64|128|256))?\\b","captures":{"1":{"name":"constant.numeric.decimal.move"},"2":{"name":"entity.name.type.integer.move"}}},{"name":"meta.string.literal.move","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.hex.move","match":"\\\\x[a-fA-F0-9][A-Fa-f0-9]"},{"name":"constant.character.escape.move","match":"\\\\."},{"name":"string.quoted.double.raw.move","match":"."}]},{"name":"meta.vector.literal.ascii.move","begin":"\\bb\"","end":"\"","patterns":[{"name":"constant.character.escape.hex.move","match":"\\\\x[a-fA-F0-9][A-Fa-f0-9]"},{"name":"constant.character.escape.move","match":"\\\\."},{"name":"string.quoted.double.raw.move","match":"."}]},{"name":"meta.vector.literal.hex.move","begin":"x\"","end":"\"","patterns":[{"name":"constant.character.move","match":"[A-Fa-f0-9]+"}]},{"name":"constant.language.boolean.move","match":"\\b(?:true|false)\\b"},{"name":"meta.vector.literal.move","begin":"(\\bvector\\b)\\[","end":"\\]","patterns":[{"include":"#expr"}],"captures":{"1":{"name":"support.type.vector.move"}}}]},"local_call":{"name":"entity.name.function.call.local.move","match":"\\b([a-z][_a-z0-9]*)(?=[\u003c\\(])"},"macro":{"name":"meta.macro.move","begin":"\\b(macro)\\b","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"include":"#fun"}],"beginCaptures":{"1":{"name":"keyword.control.macro.move"}}},"macro_call":{"name":"meta.macro.call","match":"(\\b|\\.)([a-z][A-Za-z0-9_]*)(!)","captures":{"2":{"name":"support.function.macro.move"},"3":{"name":"support.function.operator.macro.move"}}},"match_expression":{"name":"meta.match.move","begin":"\\b(match)\\b","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"include":"#escaped_identifier"},{"include":"#types"},{"name":"meta.match.block.move","begin":"{","end":"}","patterns":[{"name":"operator.match.move","match":"=\u003e"},{"include":"#expr"}]},{"include":"#expr"}],"beginCaptures":{"1":{"name":"keyword.control.match.move"}}},"method_call":{"name":"meta.path.call.move","match":"\\.([a-z][_a-z0-9]*)(?=[\u003c\\(])","captures":{"1":{"name":"entity.name.function.call.path.move"}}},"module":{"name":"meta.module.move","begin":"\\b(module)\\b","end":"(?\u003c=[;}])","patterns":[{"include":"#comments"},{"begin":"(?\u003c=\\b(module)\\b)","end":"(?=[;{])","patterns":[{"include":"#comments"},{"include":"#escaped_identifier"},{"name":"constant.other.move","begin":"(?\u003c=\\b(module))","end":"(?=[(::){])","patterns":[{"include":"#comments"},{"include":"#escaped_identifier"}]},{"name":"entity.name.type.move","begin":"(?\u003c=::)","end":"(?=[\\s;{])","patterns":[{"include":"#comments"},{"include":"#escaped_identifier"}]}]},{"name":"meta.module_scope.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#annotation"},{"include":"#entry"},{"include":"#public-scope"},{"include":"#public"},{"include":"#native"},{"include":"#import"},{"include":"#friend"},{"include":"#const"},{"include":"#struct"},{"include":"#has_ability"},{"include":"#enum"},{"include":"#macro"},{"include":"#fun"},{"include":"#spec"}]}],"beginCaptures":{"1":{"name":"storage.modifier.type.move"}}},"module_access":{"name":"meta.module_access.move","match":"\\b(\\w+)::(\\w+)\\b","captures":{"1":{"name":"meta.entity.name.type.accessed.module.move"},"2":{"name":"entity.name.function.call.move"}}},"move_copy":{"name":"variable.language.move","match":"\\b(move|copy)\\b"},"mut":{"name":"storage.modifier.mut.move","match":"\\b(mut)\\b"},"native":{"name":"storage.modifier.visibility.native.move","match":"\\b(native)\\b"},"packed_field":{"name":"meta.struct.field.move","match":"[a-z][a-z0-9_]+\\s*:\\s*(?=\\s)"},"paren":{"name":"meta.paren.move","begin":"\\(","end":"\\)","patterns":[{"include":"#expr"}]},"path_access":{"name":"meta.path.access.move","match":"\\.[a-z][_a-z0-9]*\\b"},"phantom":{"name":"keyword.control.phantom.move","match":"\\b(phantom)\\b"},"primitives":{"name":"support.type.primitives.move","match":"\\b([ui](8|16|32|64|128|256)|address|bool|signer)\\b"},"public":{"name":"storage.modifier.visibility.public.move","match":"\\b(public)\\b"},"public-scope":{"name":"meta.public.scoped.move","begin":"(?\u003c=\\b(public))\\s*\\(","end":"\\)","patterns":[{"include":"#comments"},{"name":"keyword.control.public.scope.move","match":"\\b(friend|script|package)\\b"}]},"resource_methods":{"name":"support.function.typed.move","match":"\\b(borrow_global|borrow_global_mut|exists|move_from|move_to_sender|move_to)\\b"},"script":{"name":"meta.script.move","begin":"\\b(script)\\b","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"name":"meta.script_scope.move","begin":"{","end":"}","patterns":[{"include":"#const"},{"include":"#comments"},{"include":"#import"},{"include":"#fun"}]}],"beginCaptures":{"1":{"name":"storage.modifier.script.move"}}},"self_access":{"name":"meta.self_access.move","match":"\\b(Self)::(\\w+)\\b","captures":{"1":{"name":"variable.language.self.move"},"2":{"name":"entity.name.function.call.move"}}},"spec":{"name":"meta.spec.move","begin":"\\b(spec)\\b","end":"(?\u003c=[;}])","patterns":[{"name":"storage.modifier.spec.target.move","match":"\\b(module|schema|struct|fun)"},{"name":"storage.modifier.spec.define.move","match":"\\b(define)"},{"name":"entity.name.function.move","match":"\\b(\\w+)\\b"},{"begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#spec_block"},{"include":"#spec_types"},{"include":"#spec_define"},{"include":"#spec_keywords"},{"include":"#control"},{"include":"#fun_call"},{"include":"#literals"},{"include":"#types"},{"include":"#let"}]}],"beginCaptures":{"1":{"name":"storage.modifier.spec.move"}}},"spec_block":{"name":"meta.spec_block.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#spec_block"},{"include":"#spec_types"},{"include":"#fun_call"},{"include":"#literals"},{"include":"#control"},{"include":"#types"},{"include":"#let"}]},"spec_define":{"name":"meta.spec_define.move","begin":"\\b(define)\\b","end":"(?=[;{])","patterns":[{"include":"#comments"},{"include":"#spec_types"},{"include":"#types"},{"begin":"(?\u003c=\\bdefine)","end":"(?=[(])","patterns":[{"include":"#comments"},{"name":"entity.name.function.move","match":"\\b(\\w+)\\b"}]}],"beginCaptures":{"1":{"name":"keyword.control.move.spec"}}},"spec_keywords":{"name":"keyword.control.move.spec","match":"\\b(global|pack|unpack|pragma|native|include|ensures|requires|invariant|apply|aborts_if|modifies)\\b"},"spec_types":{"name":"support.type.vector.move","match":"\\b(range|num|vector|bool|u8|u16|u32|u64|u128|u256|address)\\b"},"struct":{"name":"meta.struct.move","begin":"\\b(struct)\\b","end":"(?\u003c=[};\\)])","patterns":[{"include":"#comments"},{"include":"#escaped_identifier"},{"include":"#has"},{"include":"#abilities"},{"name":"entity.name.type.struct.move","match":"\\b[A-Z][a-zA-Z_0-9]*\\b"},{"name":"meta.struct.paren.move","begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#capitalized"},{"include":"#types"}]},{"include":"#type_param"},{"name":"meta.struct.paren.move","begin":"\\(","end":"(?\u003c=[)])","patterns":[{"include":"#comments"},{"include":"#types"}]},{"name":"meta.struct.body.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#self_access"},{"include":"#escaped_identifier"},{"include":"#module_access"},{"include":"#expr_generic"},{"include":"#capitalized"},{"include":"#types"}]},{"include":"#has_ability"}],"beginCaptures":{"1":{"name":"storage.modifier.type.move"}}},"struct_pack":{"name":"meta.struct.pack.move","begin":"(?\u003c=[A-Za-z0-9_\u003e])\\s*{","end":"}","patterns":[{"include":"#comments"}]},"type_param":{"name":"meta.generic_param.move","begin":"\u003c","end":"\u003e","patterns":[{"include":"#comments"},{"include":"#phantom"},{"include":"#capitalized"},{"include":"#module_access"},{"include":"#abilities"}]},"types":{"name":"meta.types.move","patterns":[{"include":"#primitives"},{"include":"#vector"}]},"use_fun":{"name":"meta.import.fun.move","begin":"\\b(fun)\\b","end":"(?=;)","patterns":[{"include":"#comments"},{"name":"keyword.control.as.move","match":"\\b(as)\\b"},{"name":"variable.language.self.use.fun.move","match":"\\b(Self)\\b"},{"name":"meta.entity.name.function.use.move","match":"\\b([a-z][a-z_0-9]*)\\b"},{"include":"#types"},{"include":"#escaped_identifier"},{"include":"#capitalized"}],"beginCaptures":{"1":{"name":"storage.modifier.fun.move"}}},"vector":{"name":"support.type.vector.move","match":"\\b(vector)\\b"}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name":"MiniScript","scopeName":"source.ms","patterns":[{"include":"#string"},{"include":"#numeric"},{"include":"#comment"},{"include":"#constant"},{"include":"#keyword"},{"include":"#function"},{"include":"#type"},{"include":"#general-functions"},{"include":"#type-methods"},{"patterns":[{"include":"#variables"},{"include":"#identifier"}]}],"repository":{"comment":{"patterns":[{"name":"comment.line","begin":"//(?!(include|import))","end":"\\n"}]},"constant":{"name":"constant.language.miniscript","match":"\\b(true|false|null)\\b"},"function":{"begin":"(?\u003c=function\\()","end":"\\)","patterns":[{"include":"#string"},{"match":"([^=\\),]+)(=[^\\),\"]+)?","captures":{"1":{"patterns":[{"name":"variable.parameter.miniscript","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}]},"2":{"patterns":[{"include":"#string"},{"include":"#numeric"},{"include":"#constant"}]}}}]},"general-functions":{"name":"support.function.miniscript","match":"\\b(abs|acos|asin|atan|bitAnd|bitOr|bitXor|ceil|char|code|cos|floor|funcRef|hasIndex|hash|indexOf|indexes|insert|join|len|list|log|lower|map|number|pi|pop|print|pull|push|range|refEquals|remove|replace|rnd|round|shuffle|sign|sin|slice|sort|split|sqrt|stackTrace|str|string|sum|tan|time|upper|val|values|version|wait|yield')\\b"},"identifier":{"patterns":[{"name":"entity.other.attribute.miniscript","match":"(?\u003c=[^.]\\.)\\b([a-zA-Z_][\\w]*)"},{"name":"constant.other.miniscript","match":"\\b([A-Z_]+)\\b"},{"name":"entity.name.type.miniscript","match":"\\b([A-Z][\\w]*)\\b"},{"name":"variable.other.miniscript","match":"\\b([a-z_][\\w]*)\\b"}]},"keyword":{"patterns":[{"name":"keyword.control.block.miniscript","match":"\\b(if|then|end|else|function|in|while|for|from)\\b"},{"name":"keyword.control.statement.miniscript","match":"\\b(return|continue|break)\\b"},{"name":"keyword.control.logical.miniscript","match":"\\b(and|or|isa)\\b"},{"name":"keyword.control.unary.miniscript","match":"\\b(not|new)\\b"},{"name":"keyword.control.notused.miniscript","match":"\\b(repeat)\\b"},{"name":"keyword.control.greybel.miniscript","match":"#(include|import|envar|inject)\\b"},{"name":"keyword.control.greybel.miniscript","match":"//(include|import)\\b"},{"name":"keyword.control.greybel.miniscript","match":"\\b(debugger)\\b"},{"name":"keyword.operator.binary.miniscript","match":"([\\^|\\\u0026]|\u003c\u003c|\u003e\u003e\u003e?)"},{"name":"keyword.operator.arithmetic.miniscript","match":"([+\\-*\\/%])"},{"name":"keyword.operator.comparison.miniscript","match":"([\u003c\u003e=!]=|[\u003c\u003e])"},{"name":"keyword.operator.assignment.miniscript","match":"([+\\-*\\/%]?=)"}]},"numeric":{"patterns":[{"name":"constant.numeric","match":"(?\u003c![\\w\\d.])\\d+(\\.\\d+)?([eE]-?\\d*)?"}]},"string":{"name":"string.quoted.double.miniscript","begin":"\"","end":"\""},"type":{"name":"support.class.miniscript","match":"\\b(list|map|number|string|funcRef)\\b"},"type-methods":{"patterns":[{"name":"support.function.miniscript","match":"\\.(remove|push|pop|pull|shuffle|sum|hasIndex|indexOf|sort|join|indexes|len|values)\\b"},{"name":"support.function.miniscript","match":"\\.(remove|push|pop|pull|shuffle|sum|sum|hasIndex|indexOf|indexes|len|values)\\b"},{"name":"support.function.miniscript","match":"\\.(remove|hasIndex|indexOf|split|replace|trim|indexes|code|len|lower|upper|val|values)\\b"}]},"variables":{"patterns":[{"name":"support.variable.miniscript","match":"\\b(params|locals|globals|outer)\\b"},{"name":"variable.language.self.miniscript","match":"\\b(self)\\b"},{"name":"variable.language.super.miniscript","match":"\\b(super)\\b"}]}}}
|
data/grammars/source.nim.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"Nim","scopeName":"source.nim","patterns":[{"include":"#pragmas"},{"include":"#brackets"},{"include":"#punctuations"},{"include":"#block-doc-comments"},{"include":"#comments"},{"include":"#for-stmts"},{"include":"#asm-stmts"},{"include":"#routines"},{"include":"#fmt-strs"},{"include":"#operators"},{"include":"#literals"},{"include":"#keywords"},{"include":"#do-stmts"},{"include":"#calls"},{"include":"#types"},{"include":"#builtins"},{"include":"#generic-symbols"}],"repository":{"asm-stmt-1":{"patterns":[{"contentName":"string.quoted.triple.nim","begin":"([Rr])?(\"\"\")","end":"\"\"\"(?!\")","patterns":[{"include":"#interpolation"}],"captures":{"1":{"name":"storage.type.string.nim"},"2":{"name":"string.quoted.triple.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"0":{"name":"string.quoted.triple.nim punctuation.definition.string.end.nim"}}},{"contentName":"string.quoted.double.nim","begin":"([Rr])(\")","end":"(\")|(\\n)","patterns":[{"include":"#interpolation"}],"beginCaptures":{"1":{"name":"storage.type.string.nim"},"2":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"},"2":{"name":"invalid.illegal.nim"}}},{"name":"string.quoted.double.nim","begin":"\"","end":"(\")|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\\\\(?:[ABCEFLNPRTVabceflnprtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2}|[Uu](?:[[:xdigit:]]{4}|\\{[[:xdigit:]]+}))"},{"name":"invalid.illegal.lone-escape.nim","match":"\\\\"},{"include":"#interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"},"2":{"name":"invalid.illegal.nim"}}}]},"asm-stmts":{"patterns":[{"begin":"asm\\b","end":"(?=[^\"Rr{\\s])|(?\u003c=\")","patterns":[{"include":"#pragmas"},{"include":"#asm-stmt-1"}],"beginCaptures":{"0":{"name":"keyword.control.flow.nim"}}}]},"block-comments":{"patterns":[{"name":"comment.block.number-sign.nim","begin":"#\\[","end":"]#","patterns":[{"include":"#block-comments"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.nim"}}}]},"block-doc-comments":{"patterns":[{"name":"comment.block.documentation.nim","begin":"##\\[","end":"]##","patterns":[{"include":"#block-doc-comments"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.nim"}}}]},"brackets":{"patterns":[{"include":"#square-brackets"},{"name":"meta.braces.nim","begin":"\\{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.nim"}}},{"name":"meta.parens.nim","begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.nim"}}}]},"builtins":{"patterns":[{"name":"variable.language.nim","match":"\\bresult\\b"},{"name":"storage.type.primitive.nim","match":"\\b(?x:any|array|auto|bool|byte |c(?:double|float|u?(?:long(?:long)?|char|int|short)|longdouble|schar |size(?:_t)?|string(?:[Aa]rray)?) |char|float(?:32|64)?|iterable|lent|open[Aa]rray|owned|pointer|ptr|range|ref|se[qt] |sink|static|string|typed?|type[Dd]esc|u?int(?:8|16|32|64)?|untyped|varargs|void)\\b"},{"name":"support.constant.builtin.nim","match":"\\b(?x:appType|Compile(?:Date|Time)|cpuEndian |host(?:CPU|OS) |isMainModule|NaN|(?:Neg)?Inf|Nim(?:Major|Minor|Patch|Version)|nimvm|off|on |Quit(?:Failure|Success))\\b"}]},"calls":{"patterns":[{"begin":"(?x: (?= (?: (?!(?:out|ptr|ref|tuple)\\b) (?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}]))*|_|`[^;,\\n`]+` ) (?:\\[.*])? (?: \\( |\" |[ ]+ (?: [_\\d\"'`\\[\\(] |(?!\\.|(?:\\*?[ ]*)[:=]|=[^=])[-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]+[^\\-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔\\s] |(?!(as|asm|and|bind|break|concept|const|continue|converter |defer|discard|distinct|div|elif|else|end|except|export|finally|from|import |include|interface|is(?:not)?|let|macro|method|mixin|mod|(?:not)?in|of |raise|sh[lr]|template|using|while|yield|x?or)\\b)(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}] |\\{(?!\\.) ) ) ) )","end":"(?=[^\\[\\(`\\w\\x{80}-\\x{10FFFF}]|[∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])|(?\u003c=[\"\\)])","patterns":[{"name":"entity.name.function.nim","begin":"(?=(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[`_A-Za-z\\x80-\\x{10FFFF}])","end":"(?=[^`_A-Za-z\\x80-\\x{10FFFF}]|[∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])","patterns":[{"include":"#builtins"},{"name":"support.type.nim","match":"[A-Z](?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])+\\b"},{"match":"(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_|`[^;,\\n`]+`"}]},{"name":"meta.function-call.nim meta.generic.nim","begin":"\\[:?","end":"]","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.generic.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.generic.end.nim"}}},{"name":"meta.function-call.arguments.nim","begin":"\\(","end":"(\\))","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.arguments.begin.nim"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.nim"}}},{"include":"#triplestr_lit"},{"name":"string.quoted.double.nim","begin":"\"","end":"(\"(?!\"))|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\"\""}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.nim"},"2":{"name":"invalid.illegal.unclosed-string.nim"}}}]}]},"characters":{"patterns":[{"match":"'(?:[^\\\\']|(\\\\(?:[ABCEFLNRTVabceflnrtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2})))'","captures":{"0":{"name":"constant.character.nim"},"1":{"name":"constant.character.escape.nim"}}},{"name":"invalid.illegal.nim","match":"'[^']+'"}]},"comments":{"patterns":[{"include":"#block-comments"},{"include":"#line-comments"}]},"do-stmts":{"patterns":[{"begin":"\\bdo\\b","end":"(-\u003e)|(?=[^\\-\\( ])","patterns":[{"include":"#param-list"}],"beginCaptures":{"0":{"name":"storage.type.function.nim"}},"endCaptures":{"1":{"name":"punctuation.separator.annotation.return.nim"}}}]},"doc-comments":{"patterns":[{"include":"#block-doc-comments"},{"include":"#line-doc-comments"}]},"fmt-strs":{"patterns":[{"contentName":"string.quoted.triple.nim","begin":"(?:(fmt)|(\u0026))(\"\"\")","end":"\"\"\"(?!\")","patterns":[{"name":"constant.character.escape.nim","match":"\\{\\{|\\}\\}"},{"name":"source.nim","begin":"{","end":"(=?(?: *:[^}]*)?) *(})|(?=\"\"\"[^\"])","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.nim"}},"endCaptures":{"1":{"name":"constant.other.format-spec.nim"},"2":{"name":"punctuation.section.embedded.end.nim"}}}],"beginCaptures":{"1":{"name":"meta.function-call.nim variable.function.nim"},"2":{"name":"keyword.operator.nim"},"3":{"name":"string.quoted.triple.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"0":{"name":"string.quoted.triple.nim punctuation.definition.string.end.nim"}}},{"contentName":"string.quoted.triple.nim","begin":"(fmt)(\")","end":"(\"(?!\"))|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\\{\\{|\\}\\}|\"\""},{"name":"source.nim","begin":"{","end":"(=?(?: *:[^}]*)?) *(})|(\\n)|(?=\")","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.nim"}},"endCaptures":{"1":{"name":"constant.other.format-spec.nim"},"2":{"name":"punctuation.section.embedded.end.nim"},"3":{"name":"invalid.illegal.nim"}}}],"beginCaptures":{"1":{"name":"meta.function-call.nim variable.function.nim"},"2":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.end.nim"},"2":{"name":"invalid.illegal.nim"}}},{"contentName":"string.quoted.double.nim","begin":"(\u0026)(\")","end":"(\")|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\\{\\{|\\}\\}"},{"name":"source.nim","begin":"{","end":"(=?(?: *:[^}]*)?) *(})|(\\n)|(?=\")","patterns":[{"name":"constant.character.escape.nim","match":"\\\\(?:[ABCEFLNPRTVabceflnprtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2}|[Uu](?:[[:xdigit:]]{4}|\\{[[:xdigit:]]+}))"},{"name":"invalid.illegal.lone-escape.nim","match":"\\\\"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.nim"}},"endCaptures":{"1":{"name":"constant.other.format-spec.nim"},"2":{"name":"punctuation.section.embedded.end.nim"},"3":{"name":"invalid.illegal.nim"}}},{"name":"constant.character.escape.nim","match":"\\\\(?:[ABCEFLNPRTVabceflnprtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2}|[Uu](?:[[:xdigit:]]{4}|\\{[[:xdigit:]]+}))"},{"name":"invalid.illegal.lone-escape.nim","match":"\\\\"}],"beginCaptures":{"1":{"name":"keyword.operator.nim"},"2":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.end.nim"},"2":{"name":"invalid.illegal.nim"}}}]},"for-stmt-1":{"patterns":[{"name":"punctuation.separator.nim","match":","},{"match":"(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_|`[^;,\\n`]+`"},{"include":"#pragmas"},{"include":"#comments"}]},"for-stmts":{"patterns":[{"begin":"for\\b","end":"(in\\b)|(?=[^#,{_`A-Za-z\\s\\x80-\\x{10FFFF}]|[∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])","patterns":[{"begin":"\\(","end":"(in\\b)|(\\))|(?=[^#,{_`A-Za-z\\s\\x80-\\x{10FFFF}]|[∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])","patterns":[{"include":"#for-stmt-1"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.nim"}},"endCaptures":{"1":{"name":"keyword.control.loop.for.in.nim"},"2":{"name":"punctuation.section.parens.end.nim"}}},{"include":"#for-stmt-1"}],"beginCaptures":{"0":{"name":"keyword.control.loop.for.nim"}},"endCaptures":{"1":{"name":"keyword.control.loop.for.in.nim"}}}]},"generic-param-list":{"patterns":[{"name":"meta.generic.nim","begin":"(?\u003c=(?\u003c=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[`*\\w\\x{80}-\\x{10FFFF}]) *(\\[)","end":"(])|(?=[^#_`:=,;A-Za-z\\x80-\\x{10FFFF}\\s]|[∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])","patterns":[{"include":"#generic-param-list-0"}],"beginCaptures":{"1":{"name":"punctuation.section.generic.begin.nim"}},"endCaptures":{"1":{"name":"punctuation.section.generic.end.nim"}}}]},"generic-param-list-0":{"patterns":[{"name":"punctuation.separator.nim","match":"[,;]"},{"begin":"(:)|(=)","end":"([,;])|(?=\\])","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.separator.annotation.nim"},"2":{"name":"keyword.operator.assignment.nim"}},"endCaptures":{"1":{"name":"punctuation.separator.nim"}}},{"include":"#comments"}]},"generic-symbols":{"patterns":[{"name":"support.constant.nim","match":"\\p{Lu}(?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Z\\d\\x80-\\x{10FFFF}])+\\b"},{"name":"support.type.nim","match":"\\p{Lu}(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])+\\b"},{"match":"(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_|`[^;,\\n`]+`"}]},"interpolation":{"patterns":[{"match":"(`) *(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_) *(`)","captures":{"0":{"name":"source.nim.embedded"},"1":{"name":"punctuation.section.embedded.begin.nim"},"2":{"name":"punctuation.section.embedded.end.nim"}}}]},"keywords":{"patterns":[{"name":"keyword.operator.word.nim","match":"\\b(?:addr|cast)\\b"},{"name":"comment.block.nim","begin":"\\bdiscard +\"\"\"","end":"\"\"\"(?!\")","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.nim"}}},{"name":"keyword.other.nim","match":"\\b(?:distinct|discard)\\b"},{"name":"keyword.control.flow.nim","match":"\\b(?:asm|end|break|continue|raise|return|yield)\\b"},{"name":"storage.type.nim","match":"\\b(?:concept|enum|interface)\\b"},{"match":"\\b(object)\\b(?: *(of)\\b)?","captures":{"1":{"name":"storage.type.nim"},"2":{"name":"keyword.other.nim"}}},{"name":"keyword.control.loop.while.nim","match":"\\bwhile\\b"},{"name":"keyword.control.conditional.switch.nim","match":"\\bcase\\b"},{"name":"keyword.control.conditional.case.nim","match":"^ *(of)\\b"},{"name":"keyword.control.conditional.if.nim","match":"\\bif\\b"},{"name":"keyword.control.conditional.when.nim","match":"\\bwhen\\b"},{"name":"keyword.control.conditional.elseif.nim","match":"\\belif\\b"},{"match":"\\b(else)\\b(?: *(:))?","captures":{"0":{"name":"meta.statement.conditional.else.nim"},"1":{"name":"keyword.control.conditional.else.nim"},"2":{"name":"punctuation.section.block.conditional.else.nim"}}},{"match":"\\b(try)\\b(?: *(:))?","captures":{"0":{"name":"meta.statement.exception.try.nim"},"1":{"name":"keyword.control.exception.try.nim"},"2":{"name":"punctuation.section.block.exception.nim"}}},{"match":"\\b(finally)\\b(?: *(:))?","captures":{"0":{"name":"meta.statement.exception.finally.nim"},"1":{"name":"keyword.control.exception.finally.nim"},"2":{"name":"punctuation.section.block.exception.finally.nim"}}},{"match":"\\b(defer)\\b(?: *(:))?","captures":{"1":{"name":"keyword.control.flow.defer.nim"},"2":{"name":"punctuation.section.block.begin.nim"}}},{"match":"\\b(block)\\b(?:(?: *(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_|`[^;,\\n`]+`))? *(:))?","captures":{"1":{"name":"keyword.declaration.block.nim"},"2":{"name":"punctuation.section.block.begin.nim"}}},{"name":"keyword.control.nim","match":"\\b(?:as|(?:ex|im)port|include|bind|mixin|from|except)\\b"},{"name":"storage.modifier.nim","match":"\\b(?:const|let|var|using)\\b"}]},"language-constants":{"patterns":[{"name":"constant.language.nim","match":"\\b(?:true|false|nil)\\b"}]},"line-comments":{"patterns":[{"name":"comment.line.number-sign.nim","begin":"(#)(?: *(TODO|todo)\\b)?","end":"$\\n?","beginCaptures":{"1":{"name":"punctuation.definition.comment.nim"},"2":{"name":"invalid.deprecated.nim"}}}]},"line-doc-comments":{"patterns":[{"name":"comment.line.documentation.nim","begin":"##","end":"$\\n?","beginCaptures":{"0":{"name":"punctuation.definition.comment.nim"}}}]},"literals":{"patterns":[{"include":"#str_lits"},{"include":"#numbers"},{"include":"#characters"},{"include":"#language-constants"}]},"numbers":{"patterns":[{"match":"(?x: \\b(\\d(?:_?\\d)*) (?: (?: ((\\.)\\d(?:_?\\d)*) ([Ee][-+]?\\d(?:_?\\d)*)? |([Ee][-+]?\\d(?:_?\\d)*) ) ('(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_)|(?:[Ff](?:32|64)|[Dd]))? |('(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_)|(?:[Ff](?:32|64)|[Dd])) ) )","captures":{"0":{"name":"meta.number.float.decimal.nim"},"1":{"name":"constant.numeric.value.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"punctuation.separator.decimal.nim"},"4":{"name":"constant.numeric.value.exponent.nim"},"5":{"name":"constant.numeric.value.exponent.nim"},"6":{"name":"constant.numeric.suffix.nim"},"7":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0[Xx]) ([[:xdigit:]](?:_?[[:xdigit:]])*) ('(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_)|[Ff](?:32|64)) )","captures":{"0":{"name":"meta.number.float.hexadecimal.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0o) ([0-7](?:_?[0-7])*) ('(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_)|(?:[Ff](?:32|64)|[Dd])) )","captures":{"0":{"name":"meta.number.float.octal.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0[Bb]) ([01](?:_?[01])*) ('(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_)|(?:[Ff](?:32|64)|[Dd])) )","captures":{"0":{"name":"meta.number.float.binary.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0[Xx]) ([[:xdigit:]](?:_?[[:xdigit:]])*) ('(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_)|(?:[IUiu](?:8|16|32|64)|[Uu]))? )","captures":{"0":{"name":"meta.number.integer.hexadecimal.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0o) ([0-7](?:_?[0-7])*) ('(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_)|(?:[IUiu](?:8|16|32|64)|[Uu]))? )","captures":{"0":{"name":"meta.number.integer.octal.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0[Bb]) ([01](?:_?[01])*) ('(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_)|(?:[IUiu](?:8|16|32|64)|[Uu]))? )","captures":{"0":{"name":"meta.number.integer.binary.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(\\d(?:_?\\d)*) ('(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_)|(?:[IUiu](?:8|16|32|64)|[Uu]))? )","captures":{"0":{"name":"meta.number.integer.decimal.nim"},"1":{"name":"constant.numeric.value.nim"},"2":{"name":"constant.numeric.suffix.nim"}}}]},"operators":{"patterns":[{"name":"keyword.operator.logical.nim","match":"\\b(?:and|not|x?or)\\b"},{"name":"keyword.control.conditional.case.nim","match":"^of\\b"},{"name":"keyword.operator.word.nim","match":"\\b(?:of|(?:not)?in|is(?:not)?)\\b"},{"name":"keyword.operator.bitwise.nim","match":"\\bsh[lr]\\b"},{"name":"keyword.operator.arithmetic.nim","match":"\\b(?:div|mod)\\b"},{"name":"keyword.operator.comparison.nim","match":"==|\u003c=?|\u003e=?|!="},{"name":"keyword.operator.assignment.nim","match":"(?:[-+*/@$\u0026%|^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔][-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]*)?=(?![-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])"},{"name":"keyword.operator.nim","match":"[-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔]+"}]},"param-list":{"patterns":[{"name":"meta.function.parameters","begin":"\\(","end":"\\)","patterns":[{"name":"punctuation.separator.nim","match":"[,;]"},{"begin":"(:)|(=)","end":"(?=[,;\\)])","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.separator.annotation.nim"},"2":{"name":"keyword.operator.assignment.nim"}}},{"include":"#comments"}],"beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.parameters.end.nim"}}}]},"patterns":{"patterns":[{"name":"meta.pattern.nim","begin":"\\{(?!\\.)","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.pattern.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.pattern.end.nim"}}}]},"pragmas":{"patterns":[{"name":"meta.annotation.nim","begin":"\\{\\.(?!\\.})","end":"\\.?}","patterns":[{"include":"#calls"},{"name":"entity.other.attribute-name.pragma.nim","match":"(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_|`[^;,\\n`]+`"},{"include":"#square-brackets"},{"begin":"(?=\\S)","end":"(,)|(?=\\.?})","patterns":[{"begin":":","end":"(?=,|\\.?})","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.separator.key-value.nim"}}}],"endCaptures":{"1":{"name":"punctuation.separator.sequence.nim"}}}],"beginCaptures":{"0":{"name":"punctuation.section.annotation.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.annotation.end.nim"}}}]},"punctuations":{"patterns":[{"name":"punctuation.terminator.statement.nim","match":";"},{"name":"punctuation.separator.nim","match":","},{"name":"punctuation.section.block.begin.nim","match":":"},{"name":"punctuation.accessor.dot.nim","match":"\\.(?![-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])"},{"match":"(\\*) *(:|(?=,|#|\\{\\.))","captures":{"1":{"name":"storage.modifier.nim"},"2":{"name":"punctuation.separator.annotation.nim"}}},{"name":"invalid.illegal.nim","match":"\\)|]|}"}]},"routines":{"patterns":[{"name":"meta.function.nim","begin":"(?x: (proc|template|iterator|func|method|macro|converter)\\b (?:[ ]*((?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_|`[^;,\\n`]+`)(?:[ ]*(\\*))?)? )","end":"(:)|(?=[^#\\(\\[:\\s]|##)","patterns":[{"include":"#comments"},{"include":"#patterns"},{"include":"#generic-param-list"},{"include":"#param-list"}],"beginCaptures":{"1":{"name":"storage.type.function.nim"},"2":{"name":"entity.name.function.nim"},"3":{"name":"storage.modifier.nim"}},"endCaptures":{"1":{"name":"punctuation.separator.annotation.nim"}}}]},"rstr_lit":{"patterns":[{"contentName":"string.quoted.double.nim","begin":"([Rr])(\")","end":"(\"(?!\"))|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\"\""}],"beginCaptures":{"1":{"name":"storage.type.nim"},"2":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.end.nim"},"2":{"name":"string.quoted.double.nim invalid.illegal.unclosed-string.nim"}}}]},"square-brackets":{"patterns":[{"name":"meta.brackets.nim","begin":"\\[","end":"]","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.nim"}}}]},"str_lit":{"patterns":[{"name":"string.quoted.double.nim","begin":"\"","end":"(\")|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\\\\(?:[ABCEFLNPRTVabceflnprtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2}|[Uu](?:[[:xdigit:]]{4}|\\{[[:xdigit:]]+}))"},{"name":"invalid.illegal.lone-escape.nim","match":"\\\\"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.nim"},"2":{"name":"invalid.illegal.nim"}}}]},"str_lits":{"patterns":[{"include":"#triplestr_lit"},{"include":"#rstr_lit"},{"include":"#str_lit"}]},"triplestr_lit":{"patterns":[{"contentName":"string.quoted.triple.nim","begin":"([Rr])?(\"\"\")","end":"\"\"\"(?!\")","beginCaptures":{"1":{"name":"storage.type.nim"},"2":{"name":"string.quoted.triple.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"0":{"name":"string.quoted.triple.nim punctuation.definition.string.end.nim"}}}]},"types":{"patterns":[{"contentName":"meta.generic.nim","begin":"(?=(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])*\\[)(?x:(out|ptr|ref|array |cstring[Aa]rray|iterable|lent|open[Aa]rray|owned|ptr|range|ref|se[qt] |sink|static|type(?:[Dd]esc)?|varargs)|(\\p{Lu}(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔])[\\dA-Za-z\\x80-\\x{10FFFF}])+))(\\[)","end":"]","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.type.primitive.nim"},"2":{"name":"support.type.nim"},"3":{"name":"meta.generic.nim punctuation.section.generic.begin.nim"}},"endCaptures":{"0":{"name":"meta.generic.nim punctuation.section.generic.nim"}}},{"name":"storage.type.primitive.nim","match":"\\b(?:out|tuple|ref|ptr)\\b"}]}}}
|
|
1
|
+
{"name":"Nim","scopeName":"source.nim","patterns":[{"include":"#pragmas"},{"include":"#brackets"},{"include":"#punctuations"},{"include":"#block-doc-comments"},{"include":"#comments"},{"include":"#for-stmts"},{"include":"#asm-stmts"},{"include":"#routines"},{"include":"#fmt-strs"},{"include":"#operators"},{"include":"#literals"},{"include":"#keywords"},{"include":"#do-stmts"},{"include":"#calls"},{"include":"#types"},{"include":"#builtins"},{"include":"#generic-symbols"}],"repository":{"asm-stmt-1":{"patterns":[{"contentName":"string.quoted.triple.nim","begin":"([Rr])?(\"\"\")","end":"\"\"\"(?!\")","patterns":[{"include":"#interpolation"}],"captures":{"1":{"name":"storage.type.string.nim"},"2":{"name":"string.quoted.triple.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"0":{"name":"string.quoted.triple.nim punctuation.definition.string.end.nim"}}},{"contentName":"string.quoted.double.nim","begin":"([Rr])(\")","end":"(\")|(\\n)","patterns":[{"include":"#interpolation"}],"beginCaptures":{"1":{"name":"storage.type.string.nim"},"2":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"},"2":{"name":"invalid.illegal.nim"}}},{"name":"string.quoted.double.nim","begin":"\"","end":"(\")|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\\\\(?:[ABCEFLNPRTVabceflnprtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2}|[Uu](?:[[:xdigit:]]{4}|\\{[[:xdigit:]]+}))"},{"name":"invalid.illegal.lone-escape.nim","match":"\\\\"},{"include":"#interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"},"2":{"name":"invalid.illegal.nim"}}}]},"asm-stmts":{"patterns":[{"begin":"asm\\b","end":"(?=[^\"Rr{\\s])|(?\u003c=\")","patterns":[{"include":"#pragmas"},{"include":"#asm-stmt-1"}],"beginCaptures":{"0":{"name":"keyword.control.flow.nim"}}}]},"block-comments":{"patterns":[{"name":"comment.block.number-sign.nim","begin":"#\\[","end":"]#","patterns":[{"include":"#block-comments"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.nim"}}}]},"block-doc-comments":{"patterns":[{"name":"comment.block.documentation.nim","begin":"##\\[","end":"]##","patterns":[{"include":"#block-doc-comments"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.nim"}}}]},"brackets":{"patterns":[{"include":"#square-brackets"},{"name":"meta.braces.nim","begin":"\\{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.nim"}}},{"name":"meta.parens.nim","begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.nim"}}}]},"builtins":{"patterns":[{"name":"variable.language.nim","match":"\\bresult\\b"},{"name":"storage.type.primitive.nim","match":"\\b(?x:any|array|auto|bool|byte |c(?:double|float|u?(?:long(?:long)?|char|int|short)|longdouble|schar |size(?:_t)?|string(?:[Aa]rray)?) |char|float(?:32|64)?|iterable|lent|open[Aa]rray|owned|pointer|ptr|range|ref|se[qt] |sink|static|string|typed?|type[Dd]esc|u?int(?:8|16|32|64)?|untyped|varargs|void)\\b"},{"name":"support.constant.builtin.nim","match":"\\b(?x:appType|Compile(?:Date|Time)|cpuEndian |host(?:CPU|OS) |isMainModule|NaN|(?:Neg)?Inf|Nim(?:Major|Minor|Patch|Version)|nimvm|off|on |Quit(?:Failure|Success))\\b"}]},"calls":{"patterns":[{"begin":"(?x: (?= (?: (?!(?:out|ptr|ref|tuple)\\b) (?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}]))*|_|`[^;,\\n`]+` ) (?:\\[.*])? (?: \\( |\" |[ ]+ (?: [_\\d\"'`\\[\\(] |(?!\\.|(?:\\*?[ ]*)[:=]|=[^=])[-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆]+[^\\-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆\\s] |(?!(as|asm|and|bind|break|concept|const|continue|converter |defer|discard|distinct|div|elif|else|end|except|export|finally|from|import |include|interface|is(?:not)?|let|macro|method|mixin|mod|(?:not)?in|of |raise|sh[lr]|template|using|while|yield|x?or)\\b)(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}] |\\{(?!\\.) ) ) ) )","end":"(?=[^\\[\\(`\\w\\x{80}-\\x{10FFFF}]|[∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])|(?\u003c=[\"\\)])","patterns":[{"name":"entity.name.function.nim","begin":"(?=(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[`_A-Za-z\\x80-\\x{10FFFF}])","end":"(?=[^`_A-Za-z\\x80-\\x{10FFFF}]|[∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])","patterns":[{"include":"#builtins"},{"name":"support.type.nim","match":"[A-Z](?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])+\\b"},{"match":"(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_|`[^;,\\n`]+`"}]},{"name":"meta.function-call.nim meta.generic.nim","begin":"\\[:?","end":"]","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.generic.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.generic.end.nim"}}},{"name":"meta.function-call.arguments.nim","begin":"\\(","end":"(\\))","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.arguments.begin.nim"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.nim"}}},{"include":"#triplestr_lit"},{"name":"string.quoted.double.nim","begin":"\"","end":"(\"(?!\"))|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\"\""}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.nim"},"2":{"name":"invalid.illegal.unclosed-string.nim"}}}]}]},"characters":{"patterns":[{"match":"'(?:[^\\\\']|(\\\\(?:[ABCEFLNRTVabceflnrtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2})))'","captures":{"0":{"name":"constant.character.nim"},"1":{"name":"constant.character.escape.nim"}}},{"name":"invalid.illegal.nim","match":"'[^']+'"}]},"comments":{"patterns":[{"include":"#block-comments"},{"include":"#line-comments"}]},"do-stmts":{"patterns":[{"begin":"\\bdo\\b","end":"(-\u003e)|(?=[^\\-\\( ])","patterns":[{"include":"#param-list"}],"beginCaptures":{"0":{"name":"storage.type.function.nim"}},"endCaptures":{"1":{"name":"punctuation.separator.annotation.return.nim"}}}]},"doc-comments":{"patterns":[{"include":"#block-doc-comments"},{"include":"#line-doc-comments"}]},"fmt-strs":{"patterns":[{"contentName":"string.quoted.triple.nim","begin":"(?:(fmt)|(\u0026))(\"\"\")","end":"\"\"\"(?!\")","patterns":[{"name":"constant.character.escape.nim","match":"\\{\\{|\\}\\}"},{"name":"source.nim","begin":"{","end":"(=?(?: *:[^}]*)?) *(})|(?=\"\"\"[^\"])","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.nim"}},"endCaptures":{"1":{"name":"constant.other.format-spec.nim"},"2":{"name":"punctuation.section.embedded.end.nim"}}}],"beginCaptures":{"1":{"name":"meta.function-call.nim variable.function.nim"},"2":{"name":"keyword.operator.nim"},"3":{"name":"string.quoted.triple.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"0":{"name":"string.quoted.triple.nim punctuation.definition.string.end.nim"}}},{"contentName":"string.quoted.triple.nim","begin":"(fmt)(\")","end":"(\"(?!\"))|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\\{\\{|\\}\\}|\"\""},{"name":"source.nim","begin":"{","end":"(=?(?: *:[^}]*)?) *(})|(\\n)|(?=\")","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.nim"}},"endCaptures":{"1":{"name":"constant.other.format-spec.nim"},"2":{"name":"punctuation.section.embedded.end.nim"},"3":{"name":"invalid.illegal.nim"}}}],"beginCaptures":{"1":{"name":"meta.function-call.nim variable.function.nim"},"2":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.end.nim"},"2":{"name":"invalid.illegal.nim"}}},{"contentName":"string.quoted.double.nim","begin":"(\u0026)(\")","end":"(\")|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\\{\\{|\\}\\}"},{"name":"source.nim","begin":"{","end":"(=?(?: *:[^}]*)?) *(})|(\\n)|(?=\")","patterns":[{"name":"constant.character.escape.nim","match":"\\\\(?:[ABCEFLNPRTVabceflnprtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2}|[Uu](?:[[:xdigit:]]{4}|\\{[[:xdigit:]]+}))"},{"name":"invalid.illegal.lone-escape.nim","match":"\\\\"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.nim"}},"endCaptures":{"1":{"name":"constant.other.format-spec.nim"},"2":{"name":"punctuation.section.embedded.end.nim"},"3":{"name":"invalid.illegal.nim"}}},{"name":"constant.character.escape.nim","match":"\\\\(?:[ABCEFLNPRTVabceflnprtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2}|[Uu](?:[[:xdigit:]]{4}|\\{[[:xdigit:]]+}))"},{"name":"invalid.illegal.lone-escape.nim","match":"\\\\"}],"beginCaptures":{"1":{"name":"keyword.operator.nim"},"2":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.end.nim"},"2":{"name":"invalid.illegal.nim"}}}]},"for-stmt-1":{"patterns":[{"name":"punctuation.separator.nim","match":","},{"match":"(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_|`[^;,\\n`]+`"},{"include":"#pragmas"},{"include":"#comments"}]},"for-stmts":{"patterns":[{"begin":"for\\b","end":"(in\\b)|(?=[^#,{_`A-Za-z\\s\\x80-\\x{10FFFF}]|[∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])","patterns":[{"begin":"\\(","end":"(in\\b)|(\\))|(?=[^#,{_`A-Za-z\\s\\x80-\\x{10FFFF}]|[∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])","patterns":[{"include":"#for-stmt-1"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.nim"}},"endCaptures":{"1":{"name":"keyword.control.loop.for.in.nim"},"2":{"name":"punctuation.section.parens.end.nim"}}},{"include":"#for-stmt-1"}],"beginCaptures":{"0":{"name":"keyword.control.loop.for.nim"}},"endCaptures":{"1":{"name":"keyword.control.loop.for.in.nim"}}}]},"generic-param-list":{"patterns":[{"name":"meta.generic.nim","begin":"(?\u003c=(?\u003c=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[`*\\w\\x{80}-\\x{10FFFF}]) *(\\[)","end":"(])|(?=[^#_`:=,;A-Za-z\\x80-\\x{10FFFF}\\s]|[∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])","patterns":[{"include":"#generic-param-list-0"}],"beginCaptures":{"1":{"name":"punctuation.section.generic.begin.nim"}},"endCaptures":{"1":{"name":"punctuation.section.generic.end.nim"}}}]},"generic-param-list-0":{"patterns":[{"name":"punctuation.separator.nim","match":"[,;]"},{"begin":"(:)|(=)","end":"([,;])|(?=\\])","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.separator.annotation.nim"},"2":{"name":"keyword.operator.assignment.nim"}},"endCaptures":{"1":{"name":"punctuation.separator.nim"}}},{"include":"#comments"}]},"generic-symbols":{"patterns":[{"name":"support.constant.nim","match":"\\p{Lu}(?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Z\\d\\x80-\\x{10FFFF}])+\\b"},{"name":"support.type.nim","match":"\\p{Lu}(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])+\\b"},{"match":"(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_|`[^;,\\n`]+`"}]},"interpolation":{"patterns":[{"match":"(`) *(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_) *(`)","captures":{"0":{"name":"source.nim.embedded"},"1":{"name":"punctuation.section.embedded.begin.nim"},"2":{"name":"punctuation.section.embedded.end.nim"}}}]},"keywords":{"patterns":[{"name":"keyword.operator.word.nim","match":"\\b(?:addr|cast)\\b"},{"name":"comment.block.nim","begin":"\\bdiscard +\"\"\"","end":"\"\"\"(?!\")","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.nim"}}},{"name":"keyword.other.nim","match":"\\b(?:distinct|discard)\\b"},{"name":"keyword.control.flow.nim","match":"\\b(?:asm|end|break|continue|raise|return|yield)\\b"},{"name":"storage.type.nim","match":"\\b(?:concept|enum|interface)\\b"},{"match":"\\b(object)\\b(?: *(of)\\b)?","captures":{"1":{"name":"storage.type.nim"},"2":{"name":"keyword.other.nim"}}},{"name":"keyword.control.loop.while.nim","match":"\\bwhile\\b"},{"name":"keyword.control.conditional.switch.nim","match":"\\bcase\\b"},{"name":"keyword.control.conditional.case.nim","match":"^ *(of)\\b"},{"name":"keyword.control.conditional.if.nim","match":"\\bif\\b"},{"name":"keyword.control.conditional.when.nim","match":"\\bwhen\\b"},{"name":"keyword.control.conditional.elseif.nim","match":"\\belif\\b"},{"match":"\\b(else)\\b(?: *(:))?","captures":{"0":{"name":"meta.statement.conditional.else.nim"},"1":{"name":"keyword.control.conditional.else.nim"},"2":{"name":"punctuation.section.block.conditional.else.nim"}}},{"match":"\\b(try)\\b(?: *(:))?","captures":{"0":{"name":"meta.statement.exception.try.nim"},"1":{"name":"keyword.control.exception.try.nim"},"2":{"name":"punctuation.section.block.exception.nim"}}},{"match":"\\b(finally)\\b(?: *(:))?","captures":{"0":{"name":"meta.statement.exception.finally.nim"},"1":{"name":"keyword.control.exception.finally.nim"},"2":{"name":"punctuation.section.block.exception.finally.nim"}}},{"match":"\\b(defer)\\b(?: *(:))?","captures":{"1":{"name":"keyword.control.flow.defer.nim"},"2":{"name":"punctuation.section.block.begin.nim"}}},{"match":"\\b(block)\\b(?:(?: *(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_|`[^;,\\n`]+`))? *(:))?","captures":{"1":{"name":"keyword.declaration.block.nim"},"2":{"name":"punctuation.section.block.begin.nim"}}},{"name":"keyword.control.nim","match":"\\b(?:as|(?:ex|im)port|include|bind|mixin|from|except)\\b"},{"name":"storage.modifier.nim","match":"\\b(?:const|let|var|using)\\b"}]},"language-constants":{"patterns":[{"name":"constant.language.nim","match":"\\b(?:true|false|nil)\\b"}]},"line-comments":{"patterns":[{"name":"comment.line.number-sign.nim","begin":"(#)(?: *(TODO|todo)\\b)?","end":"$\\n?","beginCaptures":{"1":{"name":"punctuation.definition.comment.nim"},"2":{"name":"invalid.deprecated.nim"}}}]},"line-doc-comments":{"patterns":[{"name":"comment.line.documentation.nim","begin":"##","end":"$\\n?","beginCaptures":{"0":{"name":"punctuation.definition.comment.nim"}}}]},"literals":{"patterns":[{"include":"#str_lits"},{"include":"#numbers"},{"include":"#characters"},{"include":"#language-constants"}]},"numbers":{"patterns":[{"match":"(?x: \\b(\\d(?:_?\\d)*) (?: (?: ((\\.)\\d(?:_?\\d)*) ([Ee][-+]?\\d(?:_?\\d)*)? |([Ee][-+]?\\d(?:_?\\d)*) ) ('(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_)|(?:[Ff](?:32|64)|[Dd]))? |('(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_)|(?:[Ff](?:32|64)|[Dd])) ) )","captures":{"0":{"name":"meta.number.float.decimal.nim"},"1":{"name":"constant.numeric.value.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"punctuation.separator.decimal.nim"},"4":{"name":"constant.numeric.value.exponent.nim"},"5":{"name":"constant.numeric.value.exponent.nim"},"6":{"name":"constant.numeric.suffix.nim"},"7":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0[Xx]) ([[:xdigit:]](?:_?[[:xdigit:]])*) ('(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_)|[Ff](?:32|64)) )","captures":{"0":{"name":"meta.number.float.hexadecimal.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0o) ([0-7](?:_?[0-7])*) ('(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_)|(?:[Ff](?:32|64)|[Dd])) )","captures":{"0":{"name":"meta.number.float.octal.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0[Bb]) ([01](?:_?[01])*) ('(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_)|(?:[Ff](?:32|64)|[Dd])) )","captures":{"0":{"name":"meta.number.float.binary.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0[Xx]) ([[:xdigit:]](?:_?[[:xdigit:]])*) ('(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_)|(?:[IUiu](?:8|16|32|64)|[Uu]))? )","captures":{"0":{"name":"meta.number.integer.hexadecimal.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0o) ([0-7](?:_?[0-7])*) ('(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_)|(?:[IUiu](?:8|16|32|64)|[Uu]))? )","captures":{"0":{"name":"meta.number.integer.octal.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(0[Bb]) ([01](?:_?[01])*) ('(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_)|(?:[IUiu](?:8|16|32|64)|[Uu]))? )","captures":{"0":{"name":"meta.number.integer.binary.nim"},"1":{"name":"constant.numeric.base.nim"},"2":{"name":"constant.numeric.value.nim"},"3":{"name":"constant.numeric.suffix.nim"}}},{"match":"(?x: \\b(\\d(?:_?\\d)*) ('(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_)|(?:[IUiu](?:8|16|32|64)|[Uu]))? )","captures":{"0":{"name":"meta.number.integer.decimal.nim"},"1":{"name":"constant.numeric.value.nim"},"2":{"name":"constant.numeric.suffix.nim"}}}]},"operators":{"patterns":[{"name":"keyword.operator.logical.nim","match":"\\b(?:and|not|x?or)\\b"},{"name":"keyword.control.conditional.case.nim","match":"^of\\b"},{"name":"keyword.operator.word.nim","match":"\\b(?:of|(?:not)?in|is(?:not)?)\\b"},{"name":"keyword.operator.bitwise.nim","match":"\\bsh[lr]\\b"},{"name":"keyword.operator.arithmetic.nim","match":"\\b(?:div|mod)\\b"},{"name":"keyword.operator.comparison.nim","match":"==|\u003c=?|\u003e=?|!="},{"name":"keyword.operator.assignment.nim","match":"(?:[-+*/@$\u0026%|^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆][-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆]*)?=(?![-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])"},{"name":"keyword.operator.nim","match":"[-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆]+"}]},"param-list":{"patterns":[{"name":"meta.function.parameters","begin":"\\(","end":"\\)","patterns":[{"name":"punctuation.separator.nim","match":"[,;]"},{"begin":"(:)|(=)","end":"(?=[,;\\)])","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.separator.annotation.nim"},"2":{"name":"keyword.operator.assignment.nim"}}},{"include":"#comments"}],"beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.parameters.end.nim"}}}]},"patterns":{"patterns":[{"name":"meta.pattern.nim","begin":"\\{(?!\\.)","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.pattern.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.pattern.end.nim"}}}]},"pragmas":{"patterns":[{"name":"meta.annotation.nim","begin":"\\{\\.(?!\\.})","end":"\\.?}","patterns":[{"include":"#calls"},{"name":"entity.other.attribute-name.pragma.nim","match":"(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_|`[^;,\\n`]+`"},{"include":"#square-brackets"},{"begin":"(?=\\S)","end":"(,)|(?=\\.?})","patterns":[{"begin":":","end":"(?=,|\\.?})","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.separator.key-value.nim"}}}],"endCaptures":{"1":{"name":"punctuation.separator.sequence.nim"}}}],"beginCaptures":{"0":{"name":"punctuation.section.annotation.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.annotation.end.nim"}}}]},"punctuations":{"patterns":[{"name":"punctuation.terminator.statement.nim","match":";"},{"name":"punctuation.separator.nim","match":","},{"name":"punctuation.section.block.begin.nim","match":":"},{"name":"punctuation.accessor.dot.nim","match":"\\.(?![-=+*/\u003c\u003e@$~\u0026%|!?^.:\\\\∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])"},{"match":"(\\*) *(:|(?=,|#|\\{\\.))","captures":{"1":{"name":"storage.modifier.nim"},"2":{"name":"punctuation.separator.annotation.nim"}}},{"name":"invalid.illegal.nim","match":"\\)|]|}"}]},"routines":{"patterns":[{"name":"meta.function.nim","begin":"(?x: (proc|template|iterator|func|method|macro|converter)\\b (?:[ ]*((?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])*|_|`[^;,\\n`]+`)(?:[ ]*(\\*))?)? )","end":"(:)|(?=[^#\\(\\[:\\s]|##)","patterns":[{"include":"#comments"},{"include":"#patterns"},{"include":"#generic-param-list"},{"include":"#param-list"}],"beginCaptures":{"1":{"name":"storage.type.function.nim"},"2":{"name":"entity.name.function.nim"},"3":{"name":"storage.modifier.nim"}},"endCaptures":{"1":{"name":"punctuation.separator.annotation.nim"}}}]},"rstr_lit":{"patterns":[{"contentName":"string.quoted.double.nim","begin":"([Rr])(\")","end":"(\"(?!\"))|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\"\""}],"beginCaptures":{"1":{"name":"storage.type.nim"},"2":{"name":"string.quoted.double.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"string.quoted.double.nim punctuation.definition.string.end.nim"},"2":{"name":"string.quoted.double.nim invalid.illegal.unclosed-string.nim"}}}]},"square-brackets":{"patterns":[{"name":"meta.brackets.nim","begin":"\\[","end":"]","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.nim"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.nim"}}}]},"str_lit":{"patterns":[{"name":"string.quoted.double.nim","begin":"\"","end":"(\")|(\\n)","patterns":[{"name":"constant.character.escape.nim","match":"\\\\(?:[ABCEFLNPRTVabceflnprtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2}|[Uu](?:[[:xdigit:]]{4}|\\{[[:xdigit:]]+}))"},{"name":"invalid.illegal.lone-escape.nim","match":"\\\\"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nim"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.nim"},"2":{"name":"invalid.illegal.nim"}}}]},"str_lits":{"patterns":[{"include":"#triplestr_lit"},{"include":"#rstr_lit"},{"include":"#str_lit"}]},"triplestr_lit":{"patterns":[{"contentName":"string.quoted.triple.nim","begin":"([Rr])?(\"\"\")","end":"\"\"\"(?!\")","beginCaptures":{"1":{"name":"storage.type.nim"},"2":{"name":"string.quoted.triple.nim punctuation.definition.string.begin.nim"}},"endCaptures":{"0":{"name":"string.quoted.triple.nim punctuation.definition.string.end.nim"}}}]},"types":{"patterns":[{"contentName":"meta.generic.nim","begin":"(?=(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[A-Za-z\\x80-\\x{10FFFF}](?:_?(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])*\\[)(?x:(out|ptr|ref|array |cstring[Aa]rray|iterable|lent|open[Aa]rray|owned|ptr|range|ref|se[qt] |sink|static|type(?:[Dd]esc)?|varargs)|(\\p{Lu}(?:(?=[^∙∘×★⊗⊘⊙⊛⊠⊡∩∧⊓±⊕⊖⊞⊟∪∨⊔⟑⟇⩓⩔■□☆])[\\dA-Za-z\\x80-\\x{10FFFF}])+))(\\[)","end":"]","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.type.primitive.nim"},"2":{"name":"support.type.nim"},"3":{"name":"meta.generic.nim punctuation.section.generic.begin.nim"}},"endCaptures":{"0":{"name":"meta.generic.nim punctuation.section.generic.nim"}}},{"name":"storage.type.primitive.nim","match":"\\b(?:out|tuple|ref|ptr)\\b"}]}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"openqasm","scopeName":"source.openqasm","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#operators"},{"include":"#types"},{"include":"#constants"},{"include":"#strings"},{"include":"#brackets"},{"include":"#variables"}],"repository":{"brackets":{"patterns":[{"name":"punctuation.bracket.openqasm","match":"[\\[\\]\\(\\)\\{\\}]"}]},"comments":{"patterns":[{"name":"comment.line.double-slash","match":"//.*$"},{"name":"comment.block","begin":"/\\*","end":"\\*/"}]},"constants":{"patterns":[{"name":"constant.language.openqasm","match":"\\b(true|false|theta|pi|θ|π|ℇ|τ|euler|tau|λ|lambda|φ|phi|@)\\b"},{"name":"constant.numeric.openqasm","match":"\\b[\\d_]*\\.?[\\d_](im|dt|ns|us|ms|s|)?\\b"}]},"keywords":{"patterns":[{"name":"keyword.control.openqasm"},{"name":"keyword.other.openqasm"}]},"operators":{"patterns":[{"name":"keyword.other.operator.openqasm","match":"\\b(=)|(!)|(\u003c)|(\u003e)|(\\+)|(-)|(\\*)|(\\*\\*)|(\\/)|(\\^)|(%)|(\\|)|(\\\u0026)|(\\\u0026\\\u0026)|(\\~)|(\\|\\|)|(\u003c\u003c)|(\u003e\u003e)"}]},"strings":{"name":"string.quoted.double.openqasm","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.openqasm","match":"\\\\."}]},"types":{"patterns":[{"name":"storage.type.openqasm","match":"\\b(angle|bit|bool|complex|duration|float|int|stretch|uint|qreg|creg)(\\[[a-zA-Z_][a-zA-Z0-9_]*\\])?\\b"}]},"variables":{"patterns":[{"name":"variable.other.openqasm","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}]}}}
|
|
1
|
+
{"name":"openqasm","scopeName":"source.openqasm","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#operators"},{"include":"#types"},{"include":"#constants"},{"include":"#strings"},{"include":"#brackets"},{"include":"#variables"}],"repository":{"brackets":{"patterns":[{"name":"punctuation.bracket.openqasm","match":"[\\[\\]\\(\\)\\{\\}]"}]},"comments":{"patterns":[{"name":"comment.line.double-slash","match":"//.*$"},{"name":"comment.block","begin":"/\\*","end":"\\*/"}]},"constants":{"patterns":[{"name":"constant.language.openqasm","match":"\\b(true|false|theta|pi|θ|π|ℇ|τ|euler|tau|λ|lambda|φ|phi|@)\\b"},{"name":"constant.numeric.openqasm","match":"\\b[\\d_]*\\.?[\\d_](im|dt|ns|us|ms|s|)?\\b"}]},"keywords":{"patterns":[{"name":"keyword.control.openqasm","match":"(?\u003c!\\.)\\b(in|for|return|if|else|switch|while|break|continue)\\b(?!\\s*\\.)"},{"name":"keyword.other.openqasm","match":"(?\u003c!\\.)\\b(OPENQASM|include|qubit|reset|mutable|readonly|#dim|stretch|delay|barrier|box|input|output|int|float|bit|bool|uint|angle|complex|const|defcal|def|gate|array|duration|let|measure|pragma|defcalgrammar|cal|qreg|creg|extern|port|frame|waveform)\\b(?!\\s*\\.)"}]},"operators":{"patterns":[{"name":"keyword.other.operator.openqasm","match":"\\b(=)|(!)|(\u003c)|(\u003e)|(\\+)|(-)|(\\*)|(\\*\\*)|(\\/)|(\\^)|(%)|(\\|)|(\\\u0026)|(\\\u0026\\\u0026)|(\\~)|(\\|\\|)|(\u003c\u003c)|(\u003e\u003e)"}]},"strings":{"name":"string.quoted.double.openqasm","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.openqasm","match":"\\\\."}]},"types":{"patterns":[{"name":"storage.type.openqasm","match":"\\b(angle|bit|bool|complex|duration|float|int|stretch|uint|qreg|creg)(\\[[a-zA-Z_][a-zA-Z0-9_]*\\])?\\b"}]},"variables":{"patterns":[{"name":"variable.other.openqasm","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}]}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name":"OverPy","scopeName":"source.opy","patterns":[{"include":"#comments"},{"include":"#multiline-comments"},{"include":"#macros"},{"include":"#fstrings"},{"include":"#strings"},{"include":"#apos-fstrings"},{"include":"#apos-strings"},{"include":"#string-modifiers"},{"include":"#labels"},{"include":"#keywords"},{"include":"#invalid"},{"include":"#numbers"},{"include":"#enums"},{"include":"#classes"},{"include":"#functions"}],"repository":{"apos-fstrings":{"name":"string.quoted.double.overpy","begin":"((?\u003c=f)|(?\u003c=f\\w)|(?\u003c=f\\w\\w))'","end":"'","patterns":[{"name":"constant.character.escape.overpy","match":"\\\\([\\\\\"'nrtzbf]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|\u0026\\w+;)"},{"name":"constant.character.escape.overpy","contentName":"meta.embedded.overpy","begin":"\\{","end":"[\\}']","patterns":[{"include":"$self"}]}]},"apos-strings":{"name":"string.quoted.double.overpy","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.overpy","match":"(\\\\([\\\\\"'nrtzbf]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|\u0026\\w+;))|(\\{\\d*\\})"}]},"classes":{"patterns":[{"name":"variable","match":"\\b[A-Z][a-z_]\\w*\\b"}]},"comments":{"patterns":[{"name":"comment.line.number-sign","match":"#[^!].*$"}]},"enums":{"patterns":[{"name":"constant","match":"\\b[A-Z_\\d]+\\b"}]},"fstrings":{"name":"string.quoted.double.overpy","begin":"((?\u003c=f)|(?\u003c=f\\w)|(?\u003c=f\\w\\w))\"","end":"\"","patterns":[{"name":"constant.character.escape.overpy","match":"\\\\([\\\\\"'nrtzbf]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|\u0026\\w+;)"},{"name":"constant.character.escape.overpy","contentName":"meta.embedded.overpy","begin":"\\{","end":"[\\}\"]","patterns":[{"include":"$self"}]}]},"functions":{"patterns":[{"name":"entity","match":"\\b\\w+(?=\\()"}]},"invalid":{"patterns":[{"name":"invalid.illegal","match":"\\b(False|True|None|Null|class|finally|is|try|from|nonlocal|with|as|yield|assert|except|raise|disabled|import)\\b"}]},"keywords":{"patterns":[{"name":"keyword","match":"\\b(if|else|elif|do|while|for|return|continue|false|true|null|goto|lambda|pass|del|break|switch|case|default|def|rule|settings|globalvar|playervar|subroutine|unsigned|signed|int|float|bool|enum|const|macro|self)\\b"},{"name":"constant","match":"\\b(and|or|not|in)\\b|((\\+|\\-|\\*\\*|\\/|\\%|\\*|\u003c|\u003e)=?)|(\\=)|\\.|((min|max|\\!)\\=)"},{"name":"entity.name.tag","match":"\\b(eventPlayer|attacker|victim|eventDamage|eventHealing|eventWasCriticalHit|eventWasEnvironment|eventWasHealthPack|eventAbility|eventDirection|healee|healer|hostPlayer|localPlayer|loc|RULE_CONDITION|ruleCondition|RULE_START|__\\w+__|[A-Z]|[A-D][A-Z])\\b"},{"name":"markup.list","match":"\\@\\w+\\b"},{"name":"meta.diff.range","match":"(?\u003c=\\@Event )\\w+\\b"},{"name":"meta.diff.range","match":"(?\u003c=\\@Team )\\w+\\b"},{"name":"meta.diff.range","match":"(?\u003c=\\@Slot )\\w+\\b"},{"name":"meta.diff.range","match":"(?\u003c=\\@Hero )\\w+\\b"}]},"labels":{"patterns":[{"name":"markup.italic","match":"^[ \\t]*(?!(do|else|elif|default)\\b)[A-Za-z\\d_]+(?=:)"},{"name":"markup.italic","match":"(?\u003c=goto )[A-Za-z\\d_]+"}]},"macros":{"name":"markup.heading","begin":"#!","end":"(?\u003c!\\\\)\\n"},"multiline-comments":{"name":"comment.line","begin":"\\/\\*","end":"\\*\\/"},"numbers":{"patterns":[{"name":"constant.numeric","match":"\\b[+-]?((\\d*\\.)?\\d+|0x[0-9a-fA-F]+)\\b"}]},"string-modifiers":{"patterns":[{"name":"entity.name.tag","match":"\\b[a-z]+(?=[\"'])"}]},"strings":{"name":"string.quoted.double.overpy","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.overpy","match":"(\\\\([\\\\\"'nrtzbf]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|\u0026\\w+;))|(\\{\\d*\\})"}]}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name":"Paper Sizes","scopeName":"source.paperspecs","patterns":[{"include":"#main"}],"repository":{"comma":{"name":"keyword.operator.separator.comma.paperspecs","match":"(,)","captures":{"0":{"name":"punctuation.separator.delimiter.comma.paperspecs"},"1":{"name":"sublimelinter.gutter-mark"}}},"main":{"patterns":[{"name":"meta.config.size-name.paperspecs","begin":"(?x)\\A(?!\n\t# Ignore leading whitespace\n\t\\s*\n\n\t# Ignore comments\n\t(?!\\#)\n\n\t(?:\n\t\t# Modern CSV-based paperspecs(5) format\n\t\t(?:(?=\\S)[^,]+)?,\n\t\t|\n\n\t\t# Legacy paperspecs(5) format\n\t\t[^\\s,]+\n\t\t(?:\\s+(?:\\d+(?:\\.\\d+)?|\\.\\d+)){2}\n\t\t\\s+ [A-Za-z]+\n\t\t[ \\t]* $\n\t)\n)","end":"^\\s*(?:([^#\\s,][^,]*)|([^\\s#].*?))(?\u003c!\\s)[ \\t]*$","patterns":[{"include":"etc#comment"}],"endCaptures":{"1":{"name":"entity.name.tag.paper-size.paperspecs"},"2":{"name":"invalid.illegal.syntax.paperspecs"}}},{"name":"meta.config.size-list.paperspecs","begin":"\\A","end":"(?=A)B","patterns":[{"include":"#spec"}]}]},"pageHeight":{"patterns":[{"name":"constant.numeric.page-height.paperspecs","match":"(?:^|\\G)(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?=\\s*(?:$|,))"},{"name":"invalid.illegal.syntax.bad-number.page-height.paperspecs","match":"(?:^|\\G)[^\\s,][^,]*(?=\\s*(?:$|,))"}]},"pageWidth":{"patterns":[{"name":"constant.numeric.page-width.paperspecs","match":"(?:^|\\G)(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?=\\s*(?:$|,))"},{"name":"invalid.illegal.syntax.bad-number.page-width.paperspecs","match":"(?:^|\\G)[^\\s,][^,]*(?=\\s*(?:$|,))"}]},"spec":{"patterns":[{"include":"#specCSV"},{"include":"#specLegacy"}]},"specCSV":{"name":"meta.table.record.paperspecs","match":"(?x)^\n\\s* ([^\\s,][^,]*) (?\u003c!\\s) \\s* (,) # Name\n\\s* ([^\\s,]+) (?\u003c!\\s) \\s* (,) # Page width\n\\s* ([^\\s,]+) (?\u003c!\\s) \\s* (,) # Page height\n\\s* ([^\\s,]+) (?\u003c!\\s) [ \\t]* $ # Unit","captures":{"1":{"name":"entity.name.tag.paper-size.paperspecs"},"2":{"patterns":[{"include":"#comma"}]},"3":{"patterns":[{"include":"#pageWidth"}]},"4":{"patterns":[{"include":"#comma"}]},"5":{"patterns":[{"include":"#pageHeight"}]},"6":{"patterns":[{"include":"#comma"}]},"7":{"patterns":[{"include":"#units"}]}}},"specLegacy":{"name":"meta.table.record.legacy.paperspecs","match":"(?ix)^\n\\s* (\\S+) # Name\n\\s+ (\\d+(?:\\.\\d+)?|\\.\\d+) # Page width\n\\s+ (\\d+(?:\\.\\d+)?|\\.\\d+) # Page height\n\\s+ ([a-z]+) # Unit\n(?=\\s*$)","captures":{"1":{"name":"entity.name.tag.paper-size.paperspecs"},"2":{"patterns":[{"include":"#pageWidth"}]},"3":{"patterns":[{"include":"#pageHeight"}]},"4":{"patterns":[{"include":"#units"}]}}},"units":{"patterns":[{"name":"keyword.other.unit.${1:/downcase}.paperspecs","match":"(?i)(?:^|\\G)(pt|mm|in)(?=\\s*(?:$|,))"},{"name":"invalid.deprecated.unit.legacy.${1:/downcase}.paperspecs","match":"(?i)(?:^|\\G)(cm|ft|m)(?=\\s*(?:$|,))"},{"name":"invalid.illegal.syntax.unknown-unit.paperspecs","match":"[^\\s].*?"}]}}}
|