github-linguist 9.3.0 → 9.5.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/dart.inline.edgeql.json +1 -0
- data/grammars/go.inline.edgeql.json +1 -0
- data/grammars/inline.surrealql-js-literal.json +1 -0
- data/grammars/js.inline.edgeql.json +1 -0
- data/grammars/markdown.move.codeblock.json +1 -1
- data/grammars/markdown.surrealql.codeblock.json +1 -0
- data/grammars/markdown.vue.codeblock.json +1 -1
- data/grammars/markdown.wesl.codeblock.json +1 -0
- data/grammars/markdown.wgsl.codeblock.json +1 -0
- data/grammars/mdx.vue.codeblock.json +1 -1
- data/grammars/res.inline.edgeql.json +1 -0
- data/grammars/source.4dm.json +1 -1
- data/grammars/source.abl.json +1 -1
- data/grammars/source.agda.json +1 -1
- data/grammars/source.al.json +1 -1
- data/grammars/source.algol60.json +1 -0
- data/grammars/source.apex.json +1 -1
- data/grammars/source.astro.json +1 -1
- data/grammars/source.b.json +1 -0
- data/grammars/source.bicep.json +1 -1
- data/grammars/source.brs.json +1 -1
- data/grammars/source.bru.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.cadence.json +1 -1
- data/grammars/source.cj.json +1 -0
- data/grammars/source.clar.json +1 -1
- data/grammars/source.clean.json +1 -1
- data/grammars/source.cmake.json +1 -1
- data/grammars/source.cmakecache.json +1 -1
- data/grammars/source.comment-string.wesl.json +1 -0
- data/grammars/source.comment-string.wgsl.json +1 -0
- data/grammars/source.cpan-mirror.json +1 -0
- data/grammars/source.cpan-skiplist.json +1 -0
- data/grammars/source.cql.json +1 -0
- data/grammars/source.cs.json +1 -1
- data/grammars/source.csv.json +1 -0
- data/grammars/source.dart.json +1 -1
- data/grammars/source.data-weave.json +1 -1
- data/grammars/source.dsv.json +1 -0
- data/grammars/source.erlang.json +1 -1
- data/grammars/source.firrtl.json +1 -1
- data/grammars/source.flatbuffers.json +1 -0
- data/grammars/source.fsharp.json +1 -1
- data/grammars/source.gfm.blade.json +1 -1
- data/grammars/source.go-template.json +1 -0
- data/grammars/source.go.injection.double.go-template.json +1 -0
- data/grammars/source.go.injection.raw.go-template.json +1 -0
- data/grammars/source.hack.json +1 -1
- data/grammars/source.hurl.json +1 -0
- data/grammars/source.ilecobol.json +1 -1
- data/grammars/source.isabelle.theory.json +1 -1
- data/grammars/source.jac.json +1 -0
- data/grammars/source.jai.json +1 -1
- data/grammars/source.julia.json +1 -1
- data/grammars/source.just.json +1 -1
- data/grammars/source.kcl.json +1 -0
- data/grammars/source.langium.json +1 -0
- data/grammars/source.lean.markdown.json +1 -1
- data/grammars/source.lean4.json +1 -1
- data/grammars/source.lean4.markdown.json +1 -1
- data/grammars/source.liquidsoap.json +1 -0
- data/grammars/source.llvm.json +1 -1
- data/grammars/source.lp.json +1 -0
- data/grammars/source.lua.json +1 -1
- data/grammars/source.luau.json +1 -1
- data/grammars/source.m2.json +1 -1
- data/grammars/source.mask.json +1 -1
- data/grammars/source.mc.json +1 -1
- data/grammars/source.mdx.json +1 -1
- data/grammars/source.mermaid.json +1 -1
- data/grammars/source.mermaid.zenuml.json +1 -1
- data/grammars/source.metta.json +1 -0
- data/grammars/source.mo.json +1 -1
- data/grammars/source.mojo.json +1 -1
- data/grammars/source.moonbit.json +1 -1
- data/grammars/source.move.json +1 -1
- data/grammars/source.ned.json +1 -1
- data/grammars/source.nr.json +1 -1
- data/grammars/source.nushell.json +1 -1
- data/grammars/source.proto.json +1 -1
- data/grammars/source.pyjade.json +1 -1
- data/grammars/source.quakec.json +1 -1
- data/grammars/source.rascal.json +1 -1
- data/grammars/source.rascript.json +1 -0
- data/grammars/source.rego.json +1 -1
- data/grammars/source.roc.json +1 -1
- data/grammars/source.ron.json +1 -1
- data/grammars/source.rpgle.json +1 -1
- data/grammars/source.shell.json +1 -1
- data/grammars/source.singularity.json +1 -1
- data/grammars/source.slint.json +1 -1
- data/grammars/source.soql.json +1 -1
- data/grammars/source.sqf.json +1 -1
- data/grammars/source.stan.json +1 -1
- data/grammars/source.surrealql.json +1 -0
- data/grammars/source.swift.json +1 -1
- data/grammars/source.teal.json +1 -0
- data/grammars/source.tmdl.json +1 -0
- data/grammars/source.tsp.json +1 -1
- data/grammars/source.tsv.json +1 -0
- data/grammars/source.vb6.json +1 -0
- data/grammars/source.vba.json +1 -1
- data/grammars/source.vento.json +1 -1
- data/grammars/source.wdl.json +1 -1
- data/grammars/source.wgsl.json +1 -1
- data/grammars/source.wwb.json +1 -1
- data/grammars/text.git-commit.json +1 -0
- data/grammars/text.haml.json +1 -1
- data/grammars/text.html.markdown.d2.json +1 -1
- data/grammars/text.html.vue.json +1 -0
- data/grammars/text.injection.go-template.json +1 -0
- data/grammars/text.k.json +1 -0
- data/grammars/text.markdown.go-template.codeblock.json +1 -0
- data/grammars/text.marko.json +1 -1
- data/grammars/text.md.json +1 -1
- data/grammars/text.slim.json +1 -1
- data/grammars/text.source.mps.json +1 -0
- data/grammars/text.srt.json +1 -1
- data/grammars/text.valve-cfg.json +1 -1
- data/grammars/v.mod.json +1 -0
- data/grammars/version +1 -1
- data/grammars/vue.directives.json +1 -1
- data/grammars/vue.interpolations.json +1 -1
- data/grammars/vue.sfc.script.leading-operator-fix.json +1 -0
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +24 -0
- data/lib/linguist/generic.yml +1 -0
- data/lib/linguist/heuristics.yml +62 -6
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +256 -26
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist/source/rugged.rb +16 -1
- metadata +44 -4
- data/grammars/inline.edgeql.json +0 -1
- data/grammars/source.vue.json +0 -1
- data/grammars/text.html.vento.json +0 -1
data/grammars/source.luau.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"Luau","scopeName":"source.luau","patterns":[{"include":"#function-definition"},{"include":"#number"},{"include":"#string"},{"include":"#shebang"},{"include":"#comment"},{"include":"#local-declaration"},{"include":"#for-loop"},{"include":"#type-function"},{"include":"#type-alias-declaration"},{"include":"#keyword"},{"include":"#language_constant"},{"include":"#standard_library"},{"include":"#identifier"},{"include":"#operator"},{"include":"#parentheses"},{"include":"#table"},{"include":"#type_cast"},{"include":"#type_annotation"},{"include":"#attribute"}],"repository":{"attribute":{"patterns":[{"name":"meta.attribute.luau","match":"(@)([a-zA-Z_][a-zA-Z0-9_]*)","captures":{"1":{"name":"keyword.operator.attribute.luau"},"2":{"name":"storage.type.attribute.luau"}}}]},"comment":{"patterns":[{"name":"comment.block.luau","begin":"--\\[(=*)\\[","end":"\\]\\1\\]","patterns":[{"name":"keyword.operator.other.luau","begin":"(```luau?)\\s+","end":"(```)","patterns":[{"include":"source.luau"}],"beginCaptures":{"1":{"name":"comment.luau"}},"endCaptures":{"1":{"name":"comment.luau"}}},{"include":"#doc_comment_tags"}]},{"name":"comment.line.double-dash.documentation.luau","begin":"---","end":"\\n","patterns":[{"include":"#doc_comment_tags"}]},{"name":"comment.line.double-dash.luau","begin":"--","end":"\\n"}]},"doc_comment_tags":{"patterns":[{"name":"storage.type.class.luadoc.luau","match":"@\\w+"},{"match":"((?\u003c=[\\s*!\\/])[\\\\@]param)(?:\\s)+(\\b\\w+\\b)","captures":{"1":{"name":"storage.type.class.luadoc.luau"},"2":{"name":"variable.parameter.luau"}}}]},"for-loop":{"begin":"\\b(for)\\b","end":"\\b(in)\\b|(=)","patterns":[{"begin":"(:)","end":"(?=\\s*in\\b|\\s*[=,]|\\s*$)","patterns":[{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"keyword.operator.type.luau"}}},{"name":"variable.parameter.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"keyword.control.luau"}},"endCaptures":{"1":{"name":"keyword.control.luau"},"2":{"name":"keyword.operator.assignment.luau"}}},"function-definition":{"name":"meta.function.luau","begin":"\\b(?:(local)\\s+)?(function)\\b(?![,:])","end":"(?\u003c=[\\)\\-{}\\[\\]\"'])","patterns":[{"include":"#comment"},{"include":"#generics-declaration"},{"name":"meta.parameter.luau","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comment"},{"name":"variable.parameter.function.varargs.luau","match":"\\.\\.\\."},{"name":"variable.parameter.function.luau","match":"[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"punctuation.separator.arguments.luau","match":","},{"begin":":","end":"(?=[\\),])","patterns":[{"include":"#type_literal"}],"beginCaptures":{"0":{"name":"keyword.operator.type.luau"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.luau"}}},{"name":"variable.language.metamethod.luau","match":"\\b(__add|__call|__concat|__div|__eq|__index|__le|__len|__lt|__metatable|__mod|__mode|__mul|__newindex|__pow|__sub|__tostring|__unm|__iter|__idiv)\\b"},{"name":"entity.name.function.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.local.luau"},"2":{"name":"keyword.control.luau"}}},"generics-declaration":{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"name":"entity.name.type.luau","match":"[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"keyword.operator.assignment.luau","match":"="},{"include":"#type_literal"}]},"identifier":{"patterns":[{"name":"entity.name.function.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(?:[({\"']|\\[\\[))"},{"name":"variable.other.property.luau","match":"(?\u003c=[^.]\\.|:)\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{"name":"variable.other.constant.luau","match":"\\b([A-Z_][A-Z0-9_]*)\\b"},{"name":"variable.other.readwrite.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}]},"interpolated_string_expression":{"name":"meta.template.expression.luau","contentName":"meta.embedded.line.luau","begin":"\\{","end":"\\}","patterns":[{"include":"source.luau"}],"beginCaptures":{"0":{"name":"punctuation.definition.interpolated-string-expression.begin.luau"}},"endCaptures":{"0":{"name":"punctuation.definition.interpolated-string-expression.end.luau"}}},"keyword":{"patterns":[{"name":"keyword.control.luau","match":"\\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\\b"},{"name":"storage.modifier.local.luau","match":"\\b(local)\\b"},{"name":"keyword.control.luau","match":"\\b(function)\\b(?![,:])"},{"name":"variable.language.self.luau","match":"(?\u003c![^.]\\.|:)\\b(self)\\b"},{"name":"keyword.operator.logical.luau keyword.operator.wordlike.luau","match":"\\b(and|or|not)\\b"},{"name":"variable.language.metamethod.luau","match":"(?\u003c=[^.]\\.|:)\\b(__add|__call|__concat|__div|__eq|__index|__le|__len|__lt|__metatable|__mod|__mode|__mul|__newindex|__pow|__sub|__tostring|__unm)\\b"},{"name":"keyword.other.unit.luau","match":"(?\u003c![.])\\.{3}(?!\\.)"}]},"language_constant":{"patterns":[{"name":"constant.language.boolean.false.luau","match":"(?\u003c![^.]\\.|:)\\b(false)\\b"},{"name":"constant.language.boolean.true.luau","match":"(?\u003c![^.]\\.|:)\\b(true)\\b"},{"name":"constant.language.nil.luau","match":"(?\u003c![^.]\\.|:)\\b(nil(?!:))\\b"}]},"local-declaration":{"begin":"\\b(local)\\b","end":"(?=\\s*do\\b|\\s*[=;]|\\s*$)","patterns":[{"include":"#comment"},{"include":"#attribute"},{"begin":"(:)","end":"(?=\\s*do\\b|\\s*[=;,]|\\s*$)","patterns":[{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"keyword.operator.type.luau"}}},{"name":"variable.other.constant.luau","match":"\\b([A-Z_][A-Z0-9_]*)\\b"},{"name":"variable.other.readwrite.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.local.luau"}}},"number":{"patterns":[{"name":"constant.numeric.hex.luau","match":"\\b0_*[xX]_*[\\da-fA-F_]*(?:[eE][\\+\\-]?_*\\d[\\d_]*(?:\\.[\\d_]*)?)?"},{"name":"constant.numeric.binary.luau","match":"\\b0_*[bB][01_]+(?:[eE][\\+\\-]?_*\\d[\\d_]*(?:\\.[\\d_]*)?)?"},{"name":"constant.numeric.decimal.luau","match":"(?:\\d[\\d_]*(?:\\.[\\d_]*)?|\\.\\d[\\d_]*)(?:[eE][\\+\\-]?_*\\d[\\d_]*(?:\\.[\\d_]*)?)?"}]},"operator":{"patterns":[{"name":"keyword.operator.comparison.luau","match":"==|~=|!=|\u003c=?|\u003e=?"},{"name":"keyword.operator.assignment.luau","match":"\\+=|-=|/=|//=|\\*=|%=|\\^=|\\.\\.=|="},{"name":"keyword.operator.arithmetic.luau","match":"\\+|-|%|\\*|\\/\\/|\\/|\\^"},{"name":"keyword.operator.other.luau","match":"#|(?\u003c!\\.)\\.{2}(?!\\.)"}]},"parentheses":{"begin":"(\\()","end":"(\\))","patterns":[{"name":"punctuation.separator.arguments.luau","match":","},{"include":"source.luau"}],"beginCaptures":{"1":{"name":"punctuation.arguments.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.arguments.end.luau"}}},"shebang":{"name":"comment.line.shebang.luau","match":"\\A(#!).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.luau"}}},"standard_library":{"patterns":[{"name":"support.function.luau","match":"(?\u003c![^.]\\.|:)\\b(assert|collectgarbage|error|gcinfo|getfenv|getmetatable|ipairs|loadstring|newproxy|next|pairs|pcall|print|rawequal|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|typeof|unpack|xpcall)\\b"},{"name":"constant.language.luau","match":"(?\u003c![^.]\\.|:)\\b(_G|_VERSION)\\b"},{"name":"support.function.luau","match":"(?\u003c![^.]\\.|:)\\b(bit32\\.(?:arshift|band|bnot|bor|btest|bxor|extract|lrotate|lshift|replace|rrotate|rshift|countlz|countrz|byteswap)|coroutine\\.(?:create|isyieldable|resume|running|status|wrap|yield|close)|debug\\.(?:info|loadmodule|profilebegin|profileend|traceback)|math\\.(?:abs|acos|asin|atan|atan2|ceil|clamp|cos|cosh|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|noise|pow|rad|random|randomseed|round|sign|sin|sinh|sqrt|tan|tanh)|os\\.(?:clock|date|difftime|time)|string\\.(?:byte|char|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|split|sub|unpack|upper)|table\\.(?:concat|create|find|foreach|foreachi|getn|insert|maxn|move|pack|remove|sort|unpack|clear|freeze|isfrozen|clone)|task\\.(?:spawn|synchronize|desynchronize|wait|defer|delay)|utf8\\.(?:char|codepoint|codes|graphemes|len|nfcnormalize|nfdnormalize|offset)|buffer\\.(?:create|fromstring|tostring|len|readi8|readu8|readi16|readu16|readi32|readu32|readf32|readf64|writei8|writeu8|writei16|writeu16|writei32|writeu32|writef32|writef64|readstring|writestring|copy|fill))\\b"},{"name":"support.constant.luau","match":"(?\u003c![^.]\\.|:)\\b(bit32|buffer|coroutine|debug|math(\\.(huge|pi))?|os|string|table|task|utf8(\\.charpattern)?)\\b"},{"name":"support.function.luau","match":"(?\u003c![^.]\\.|:)\\b(delay|DebuggerManager|elapsedTime|PluginManager|printidentity|settings|spawn|stats|tick|time|UserSettings|version|wait|warn)\\b"},{"name":"constant.language.luau","match":"(?\u003c![^.]\\.|:)\\b(game|plugin|shared|script|workspace|Enum(?:\\.\\w+){0,2})\\b"}]},"string":{"patterns":[{"name":"string.quoted.double.luau","begin":"\"","end":"\"","patterns":[{"include":"#string_escape"}]},{"name":"string.quoted.single.luau","begin":"'","end":"'","patterns":[{"include":"#string_escape"}]},{"name":"string.other.multiline.luau","begin":"\\[(=*)\\[","end":"\\]\\1\\]"},{"name":"string.interpolated.luau","begin":"`","end":"`","patterns":[{"include":"#interpolated_string_expression"},{"include":"#string_escape"}]}]},"string_escape":{"patterns":[{"name":"constant.character.escape.luau","match":"\\\\[abfnrtvz'\"`{\\\\]"},{"name":"constant.character.escape.luau","match":"\\\\\\d{1,3}"},{"name":"constant.character.escape.luau","match":"\\\\x[0-9a-fA-F]{2}"},{"name":"constant.character.escape.luau","match":"\\\\u\\{[0-9a-fA-F]*\\}"},{"name":"constant.character.escape.luau","match":"\\\\$"}]},"table":{"begin":"(\\{)","end":"(\\})","patterns":[{"name":"punctuation.separator.fields.luau","match":"[,;]"},{"include":"source.luau"}],"beginCaptures":{"1":{"name":"punctuation.table.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.table.end.luau"}}},"type-alias-declaration":{"begin":"^\\b(?:(export)\\s+)?(type)\\b","end":"(?=\\s*$)|(?=\\s*;)","patterns":[{"include":"#type_literal"},{"name":"keyword.operator.assignment.luau","match":"="}],"beginCaptures":{"1":{"name":"storage.modifier.visibility.luau"},"2":{"name":"storage.type.luau"}}},"type-function":{"name":"meta.function.luau","begin":"^\\b(?:(export)\\s+)?(type)\\s+(function)\\b","end":"(?\u003c=[\\)\\-{}\\[\\]\"'])","patterns":[{"include":"#comment"},{"include":"#generics-declaration"},{"name":"meta.parameter.luau","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comment"},{"name":"variable.parameter.function.varargs.luau","match":"\\.\\.\\."},{"name":"variable.parameter.function.luau","match":"[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"punctuation.separator.arguments.luau","match":","},{"begin":":","end":"(?=[\\),])","patterns":[{"include":"#type_literal"}],"beginCaptures":{"0":{"name":"keyword.operator.type.luau"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.luau"}}},{"name":"entity.name.type.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.visibility.luau"},"2":{"name":"storage.type.luau"},"3":{"name":"keyword.control.luau"}}},"type_annotation":{"begin":":(?!\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(?:[({\"']|\\[\\[)))","end":"(?\u003c=\\))(?!\\s*-\u003e)|=|;|$|(?=\\breturn\\b)|(?=\\bend\\b)","patterns":[{"include":"#comment"},{"include":"#type_literal"}]},"type_cast":{"begin":"(::)","end":"(?=^|[;),}\\]:?\\-\\+\\\u003e](?!\\s*[\u0026\\|])|$|\\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\\b)","patterns":[{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"keyword.operator.typecast.luau"}}},"type_literal":{"patterns":[{"include":"#comment"},{"include":"#string"},{"name":"keyword.operator.type.luau","match":"\\?|\\\u0026|\\|"},{"name":"keyword.operator.type.function.luau","match":"-\u003e"},{"name":"constant.language.boolean.false.luau","match":"\\b(false)\\b"},{"name":"constant.language.boolean.true.luau","match":"\\b(true)\\b"},{"name":"support.type.primitive.luau","match":"\\b(nil|string|number|boolean|thread|userdata|symbol|vector|buffer|unknown|never|any)\\b"},{"begin":"\\b(typeof)\\b(\\()","end":"(\\))","patterns":[{"include":"source.luau"}],"beginCaptures":{"1":{"name":"support.function.luau"},"2":{"name":"punctuation.arguments.begin.typeof.luau"}},"endCaptures":{"1":{"name":"punctuation.arguments.end.typeof.luau"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"name":"keyword.operator.assignment.luau","match":"="},{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"punctuation.definition.typeparameters.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.luau"}}},{"name":"entity.name.type.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{"begin":"\\{","end":"\\}","patterns":[{"begin":"\\[","end":"\\]","patterns":[{"include":"#type_literal"}]},{"match":"\\b(?:(read|write)\\s+)?([a-zA-Z_][a-zA-Z0-9_]*)\\b(:)","captures":{"1":{"name":"storage.modifier.access.luau"},"2":{"name":"variable.property.luau"},"3":{"name":"keyword.operator.type.luau"}}},{"include":"#type_literal"},{"name":"punctuation.separator.fields.type.luau","match":"[,;]"}]},{"begin":"\\(","end":"\\)","patterns":[{"name":"variable.parameter.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(:)","captures":{"1":{"name":"variable.parameter.luau"},"2":{"name":"keyword.operator.type.luau"}}},{"include":"#type_literal"}]}]}}}
|
|
1
|
+
{"name":"Luau","scopeName":"source.luau","patterns":[{"include":"#function-definition"},{"include":"#number"},{"include":"#string"},{"include":"#shebang"},{"include":"#comment"},{"include":"#local-declaration"},{"include":"#for-loop"},{"include":"#type-function"},{"include":"#type-alias-declaration"},{"include":"#keyword"},{"include":"#language_constant"},{"include":"#standard_library"},{"include":"#generics-instantiation"},{"include":"#identifier"},{"include":"#operator"},{"include":"#parentheses"},{"include":"#table"},{"include":"#type_cast"},{"include":"#type_annotation"},{"include":"#attribute"}],"repository":{"attribute":{"patterns":[{"name":"meta.attribute.luau","match":"(@)([a-zA-Z_][a-zA-Z0-9_]*)","captures":{"1":{"name":"keyword.operator.attribute.luau"},"2":{"name":"storage.type.attribute.luau"}}}]},"comment":{"patterns":[{"name":"comment.block.luau","begin":"--\\[(=*)\\[","end":"\\]\\1\\]","patterns":[{"name":"keyword.operator.other.luau","begin":"(```luau?)\\s*$","while":"^(?!\\s*```)","patterns":[{"include":"source.luau"}],"beginCaptures":{"1":{"name":"comment.luau"}}},{"name":"keyword.operator.other.luau","match":"(```)","captures":{"1":{"name":"comment.luau"}}},{"include":"#doc_comment_tags"}]},{"name":"comment.line.double-dash.documentation.luau","begin":"---","end":"\\n","patterns":[{"include":"#doc_comment_tags"}]},{"name":"comment.line.double-dash.luau","begin":"--","end":"\\n"}]},"doc_comment_tags":{"patterns":[{"name":"storage.type.class.luadoc.luau","match":"@\\w+"},{"match":"((?\u003c=[\\s*!\\/])[\\\\@]param)(?:\\s)+(\\b\\w+\\b)","captures":{"1":{"name":"storage.type.class.luadoc.luau"},"2":{"name":"variable.parameter.luau"}}}]},"for-loop":{"begin":"\\b(for)\\b","end":"\\b(in)\\b|(=)","patterns":[{"begin":"(:)","end":"(?=\\s*in\\b|\\s*[=,]|\\s*$)","patterns":[{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"keyword.operator.type.luau"}}},{"name":"variable.parameter.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"keyword.control.luau"}},"endCaptures":{"1":{"name":"keyword.control.luau"},"2":{"name":"keyword.operator.assignment.luau"}}},"function-definition":{"name":"meta.function.luau","begin":"\\b(?:(local)\\s+)?(function)\\b(?![,:])","end":"(?\u003c=[\\)\\-{}\\[\\]\"'])","patterns":[{"include":"#comment"},{"include":"#generics-declaration"},{"name":"meta.parameter.luau","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comment"},{"name":"variable.parameter.function.varargs.luau","match":"\\.\\.\\."},{"name":"variable.parameter.function.luau","match":"[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"punctuation.separator.arguments.luau","match":","},{"begin":":","end":"(?=[\\),])","patterns":[{"include":"#type_literal"}],"beginCaptures":{"0":{"name":"keyword.operator.type.luau"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.luau"}}},{"name":"variable.language.metamethod.luau","match":"\\b(__add|__call|__concat|__div|__eq|__index|__le|__len|__lt|__metatable|__mod|__mode|__mul|__newindex|__pow|__sub|__tostring|__unm|__iter|__idiv)\\b"},{"name":"entity.name.function.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.local.luau"},"2":{"name":"keyword.control.luau"}}},"generics-declaration":{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"name":"entity.name.type.luau","match":"[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"keyword.operator.assignment.luau","match":"="},{"include":"#type_literal"}]},"generics-instantiation":{"begin":"(\u003c\u003c)","end":"(\u003e\u003e)","patterns":[{"include":"#comment"},{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"punctuation.definition.typeparameters.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.luau"}}},"identifier":{"patterns":[{"name":"entity.name.function.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(?:\u003c\u003c|[({\"']|\\[\\[))"},{"name":"variable.other.property.luau","match":"(?\u003c=[^.]\\.|:)\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{"name":"variable.other.constant.luau","match":"\\b([A-Z_][A-Z0-9_]*)\\b"},{"name":"variable.other.readwrite.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}]},"interpolated_string_expression":{"name":"meta.template.expression.luau","contentName":"meta.embedded.line.luau","begin":"\\{","end":"\\}","patterns":[{"include":"source.luau"}],"beginCaptures":{"0":{"name":"punctuation.definition.interpolated-string-expression.begin.luau"}},"endCaptures":{"0":{"name":"punctuation.definition.interpolated-string-expression.end.luau"}}},"keyword":{"patterns":[{"name":"keyword.control.luau","match":"\\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\\b"},{"name":"storage.modifier.local.luau","match":"\\b(local)\\b"},{"name":"keyword.control.luau","match":"\\b(function)\\b(?![,:])"},{"name":"variable.language.self.luau","match":"(?\u003c![^.]\\.|:)\\b(self)\\b"},{"name":"keyword.operator.logical.luau keyword.operator.wordlike.luau","match":"\\b(and|or|not)\\b"},{"name":"variable.language.metamethod.luau","match":"(?\u003c=[^.]\\.|:)\\b(__add|__call|__concat|__div|__eq|__index|__le|__len|__lt|__metatable|__mod|__mode|__mul|__newindex|__pow|__sub|__tostring|__unm)\\b"},{"name":"keyword.other.unit.luau","match":"(?\u003c![.])\\.{3}(?!\\.)"}]},"language_constant":{"patterns":[{"name":"constant.language.boolean.false.luau","match":"(?\u003c![^.]\\.|:)\\b(false)\\b"},{"name":"constant.language.boolean.true.luau","match":"(?\u003c![^.]\\.|:)\\b(true)\\b"},{"name":"constant.language.nil.luau","match":"(?\u003c![^.]\\.|:)\\b(nil(?!:))\\b"}]},"local-declaration":{"begin":"\\b(local)\\b","end":"(?=\\s*do\\b|\\s*[=;]|\\s*$)","patterns":[{"include":"#comment"},{"include":"#attribute"},{"begin":"(:)","end":"(?=\\s*do\\b|\\s*[=;,]|\\s*$)","patterns":[{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"keyword.operator.type.luau"}}},{"name":"variable.other.constant.luau","match":"\\b([A-Z_][A-Z0-9_]*)\\b"},{"name":"variable.other.readwrite.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.local.luau"}}},"number":{"patterns":[{"name":"constant.numeric.hex.luau","match":"\\b0_*[xX]_*[\\da-fA-F_]*(?:[eE][\\+\\-]?_*\\d[\\d_]*(?:\\.[\\d_]*)?)?"},{"name":"constant.numeric.binary.luau","match":"\\b0_*[bB][01_]+(?:[eE][\\+\\-]?_*\\d[\\d_]*(?:\\.[\\d_]*)?)?"},{"name":"constant.numeric.decimal.luau","match":"(?:\\d[\\d_]*(?:\\.[\\d_]*)?|\\.\\d[\\d_]*)(?:[eE][\\+\\-]?_*\\d[\\d_]*(?:\\.[\\d_]*)?)?"}]},"operator":{"patterns":[{"name":"keyword.operator.comparison.luau","match":"==|~=|!=|\u003c=?|\u003e=?"},{"name":"keyword.operator.assignment.luau","match":"\\+=|-=|/=|//=|\\*=|%=|\\^=|\\.\\.=|="},{"name":"keyword.operator.arithmetic.luau","match":"\\+|-|%|\\*|\\/\\/|\\/|\\^"},{"name":"keyword.operator.other.luau","match":"#|(?\u003c!\\.)\\.{2}(?!\\.)"}]},"parentheses":{"begin":"(\\()","end":"(\\))","patterns":[{"name":"punctuation.separator.arguments.luau","match":","},{"include":"source.luau"}],"beginCaptures":{"1":{"name":"punctuation.arguments.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.arguments.end.luau"}}},"shebang":{"name":"comment.line.shebang.luau","match":"\\A(#!).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.luau"}}},"standard_library":{"patterns":[{"name":"support.function.luau","match":"(?\u003c![^.]\\.|:)\\b(assert|collectgarbage|error|gcinfo|getfenv|getmetatable|ipairs|loadstring|newproxy|next|pairs|pcall|print|rawequal|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|typeof|unpack|xpcall)\\b"},{"name":"constant.language.luau","match":"(?\u003c![^.]\\.|:)\\b(_G|_VERSION)\\b"},{"name":"support.function.luau","match":"(?\u003c![^.]\\.|:)\\b(bit32\\.(?:arshift|band|bnot|bor|btest|bxor|extract|lrotate|lshift|replace|rrotate|rshift|countlz|countrz|byteswap)|coroutine\\.(?:create|isyieldable|resume|running|status|wrap|yield|close)|debug\\.(?:info|loadmodule|profilebegin|profileend|traceback)|math\\.(?:abs|acos|asin|atan|atan2|ceil|clamp|cos|cosh|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|noise|pow|rad|random|randomseed|round|sign|sin|sinh|sqrt|tan|tanh)|os\\.(?:clock|date|difftime|time)|string\\.(?:byte|char|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|split|sub|unpack|upper)|table\\.(?:concat|create|find|foreach|foreachi|getn|insert|maxn|move|pack|remove|sort|unpack|clear|freeze|isfrozen|clone)|task\\.(?:spawn|synchronize|desynchronize|wait|defer|delay)|utf8\\.(?:char|codepoint|codes|graphemes|len|nfcnormalize|nfdnormalize|offset)|buffer\\.(?:create|fromstring|tostring|len|readi8|readu8|readi16|readu16|readi32|readu32|readf32|readf64|writei8|writeu8|writei16|writeu16|writei32|writeu32|writef32|writef64|readstring|writestring|copy|fill)|vector\\.(?:abs|angle|ceil|clamp|create|cross|dot|floor|lerp|magnitude|max|min|normalize|sign))\\b"},{"name":"support.constant.luau","match":"(?\u003c![^.]\\.|:)\\b(bit32|buffer|coroutine|debug|math(\\.(huge|pi))?|os|string|table|task|utf8(\\.charpattern)?|vector(\\.(one|zero))?)\\b"},{"name":"support.function.luau","match":"(?\u003c![^.]\\.|:)\\b(delay|DebuggerManager|elapsedTime|PluginManager|printidentity|settings|spawn|stats|tick|time|UserSettings|version|wait|warn)\\b"},{"name":"constant.language.luau","match":"(?\u003c![^.]\\.|:)\\b(game|plugin|shared|script|workspace|Enum(?:\\.\\w+){0,2})\\b"}]},"string":{"patterns":[{"name":"string.quoted.double.luau","begin":"\"","end":"\"","patterns":[{"include":"#string_escape"}]},{"name":"string.quoted.single.luau","begin":"'","end":"'","patterns":[{"include":"#string_escape"}]},{"name":"string.other.multiline.luau","begin":"\\[(=*)\\[","end":"\\]\\1\\]"},{"name":"string.interpolated.luau","begin":"`","end":"`","patterns":[{"include":"#interpolated_string_expression"},{"include":"#string_escape"}]}]},"string_escape":{"patterns":[{"name":"constant.character.escape.luau","match":"\\\\[abfnrtvz'\"`{\\\\]"},{"name":"constant.character.escape.luau","match":"\\\\\\d{1,3}"},{"name":"constant.character.escape.luau","match":"\\\\x[0-9a-fA-F]{2}"},{"name":"constant.character.escape.luau","match":"\\\\u\\{[0-9a-fA-F]*\\}"},{"name":"constant.character.escape.luau","match":"\\\\$"}]},"table":{"begin":"(\\{)","end":"(\\})","patterns":[{"name":"punctuation.separator.fields.luau","match":"[,;]"},{"include":"source.luau"}],"beginCaptures":{"1":{"name":"punctuation.table.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.table.end.luau"}}},"type-alias-declaration":{"begin":"(?\u003c![^.]\\.|:)\\b(?:(export)\\s+)?(type)\\b(?=\\s+(?!function\\b)[a-zA-Z_][a-zA-Z0-9_]*)","end":"(?=[),}\\]](?!\\s*[\u0026|]))|(?=\\s*;)|(?=\\s*\\b(?:break|continue|do|else|elseif|end|for|function|if|in|local|repeat|return|then|until|while)\\b)|(?=^\\s*$)|(?=^\\s*(?:@|\\b(?:export\\s+)?type\\b))|(?=^\\s*[a-zA-Z_][a-zA-Z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z0-9_]*)*\\s*(?:(?:[+\\-*/%^]|\\.\\.)?=(?!=)|\\(|\\[|:))","patterns":[{"include":"#type_literal"},{"name":"keyword.operator.assignment.luau","match":"="}],"beginCaptures":{"1":{"name":"storage.modifier.visibility.luau"},"2":{"name":"storage.type.luau"}}},"type-function":{"name":"meta.function.luau","begin":"(?\u003c![^.]\\.|:)\\b(?:(export)\\s+)?(type)\\s+(function)\\b","end":"(?\u003c=[\\)\\-{}\\[\\]\"'])","patterns":[{"include":"#comment"},{"include":"#generics-declaration"},{"name":"meta.parameter.luau","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comment"},{"name":"variable.parameter.function.varargs.luau","match":"\\.\\.\\."},{"name":"variable.parameter.function.luau","match":"[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"punctuation.separator.arguments.luau","match":","},{"begin":":","end":"(?=[\\),])","patterns":[{"include":"#type_literal"}],"beginCaptures":{"0":{"name":"keyword.operator.type.luau"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.luau"}}},{"name":"entity.name.type.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.visibility.luau"},"2":{"name":"storage.type.luau"},"3":{"name":"keyword.control.luau"}}},"type_annotation":{"begin":":(?!\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(?:\u003c\u003c|[({\"']|\\[\\[)))","end":"(?\u003c=\\))(?!\\s*-\u003e)|=|;|$|(?=\\breturn\\b)|(?=\\bend\\b)","patterns":[{"include":"#comment"},{"include":"#type_literal"}]},"type_cast":{"begin":"(::)","end":"(?=[),}\\]](?!\\s*[\u0026|]))|(?=\\s*;)|(?=\\s*\\b(?:break|continue|do|else|elseif|end|for|function|if|in|local|repeat|return|then|until|while)\\b)|(?=^\\s*$)|(?=^\\s*(?:@|\\b(?:export\\s+)?type\\b))|(?=^\\s*[a-zA-Z_][a-zA-Z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z0-9_]*)*\\s*(?:(?:[+\\-*/%^]|\\.\\.)?=(?!=)|\\(|\\[|:))","patterns":[{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"keyword.operator.typecast.luau"}}},"type_literal":{"patterns":[{"include":"#comment"},{"include":"#string"},{"name":"keyword.operator.type.luau","match":"\\?|\\\u0026|\\|"},{"name":"keyword.operator.type.function.luau","match":"-\u003e"},{"name":"constant.language.boolean.false.luau","match":"\\b(false)\\b"},{"name":"constant.language.boolean.true.luau","match":"\\b(true)\\b"},{"name":"support.type.primitive.luau","match":"\\b(nil|string|number|boolean|thread|userdata|symbol|vector|buffer|unknown|never|any)\\b"},{"begin":"\\b(typeof)\\b(\\()","end":"(\\))","patterns":[{"include":"source.luau"}],"beginCaptures":{"1":{"name":"support.function.luau"},"2":{"name":"punctuation.arguments.begin.typeof.luau"}},"endCaptures":{"1":{"name":"punctuation.arguments.end.typeof.luau"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"name":"keyword.operator.assignment.luau","match":"="},{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"punctuation.definition.typeparameters.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.luau"}}},{"name":"entity.name.type.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{"begin":"\\{","end":"\\}","patterns":[{"begin":"\\[","end":"\\]","patterns":[{"include":"#type_literal"}]},{"match":"\\b(?:(read|write)\\s+)?([a-zA-Z_][a-zA-Z0-9_]*)\\b(:)","captures":{"1":{"name":"storage.modifier.access.luau"},"2":{"name":"variable.property.luau"},"3":{"name":"keyword.operator.type.luau"}}},{"include":"#type_literal"},{"name":"punctuation.separator.fields.type.luau","match":"[,;]"}]},{"begin":"\\(","end":"\\)","patterns":[{"name":"variable.parameter.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(:)","captures":{"1":{"name":"variable.parameter.luau"},"2":{"name":"keyword.operator.type.luau"}}},{"include":"#type_literal"}]}]}}}
|
data/grammars/source.m2.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"Macaulay2","scopeName":"source.m2","patterns":[{"include":"#keywords"},{"include":"#comment"},{"include":"#strings"},{"include":"#fields"},{"include":"#math"},{"include":"#autogen"}],"repository":{"autogen":{"patterns":[{"name":"entity.name.type.m2","match":"(?x)(\\b|^)(ANCHOR|Adjacent|AffineVariety|Analyzer|AngleBarList|Array|AssociativeExpression|AtomicInt|BLOCKQUOTE|BODY|BOLD|BR|BUTTON|Bag|BasicList|BettiTally|BinaryOperation|Boolean|CC|CDATA|CODE|COMMENT|CacheTable|ChainComplex|ChainComplexMap|CoherentSheaf|Command|CompiledFunction|CompiledFunctionBody|CompiledFunctionClosure|ComplexField|Constant|DD|DIV|DL|DT|Database|Descent|Describe|Dictionary|DirectSum|Divide|DocumentTag|EM|Eliminate|EngineRing|Equation|ExampleItem|Expression|File|FilePosition|FractionField|Function|FunctionApplication|FunctionBody|FunctionClosure|GaloisField|GeneralOrderedMonoid|GlobalDictionary|GradedModule|GradedModuleMap|GroebnerBasis|GroebnerBasisOptions|HEAD|HEADER1|HEADER2|HEADER3|HEADER4|HEADER5|HEADER6|HR|HREF|HTML|HashTable|HeaderType|Holder|Hybrid|Hypertext|HypertextContainer|HypertextParagraph|HypertextVoid|IMG|INDENT|INPUT|ITALIC|Ideal|ImmutableType|IndeterminateNumber|IndexedVariable|IndexedVariableTable|InexactField|InexactFieldFamily|InexactNumber|InfiniteNumber|IntermediateMarkUpType|Iterator|KBD|Keyword|LABEL|LATER|LI|LINK|LITERAL|List|LocalDictionary|LowerBound|MENU|META|Manipulator|MapExpression|MarkUpType|Matrix|MatrixExpression|MethodFunction|MethodFunctionBinary|MethodFunctionSingle|MethodFunctionWithOptions|Minus|Module|Monoid|MonoidElement|MonomialIdeal|MultigradedBettiTally|MutableHashTable|MutableList|MutableMatrix|Net|NetFile|Nothing|Number|NumberedVerticalList|OL|OneExpression|Option|OptionTable|OrderedMonoid|PARA|PRE|Package|Parenthesize|Parser|Partition|PolynomialRing|Power|Product|ProductOrder|Program|ProgramRun|ProjectiveHilbertPolynomial|ProjectiveVariety|Pseudocode|PseudocodeClosure|QQ|QuotientRing|RR|RRi|RealField|Resolution|Ring|RingElement|RingFamily|RingMap|RowExpression|SAMP|SCRIPT|SMALL|SPAN|STRONG|STYLE|SUB|SUBSECTION|SUP|ScriptedFunctor|SelfInitializingType|Sequence|Set|SheafExpression|SheafMap|SheafOfRings|SparseMonomialVectorExpression|SparseVectorExpression|String|Subscript|Sum|SumOfTwists|Superscript|Symbol|SymbolBody|TABLE|TD|TEX|TH|TITLE|TO|TO2|TOH|TR|TT|Table|Tally|Task|TensorProduct|TestInput|Thing|Time|Type|UL|URL|VAR|Variety|Vector|VectorExpression|VerticalList|VirtualTally|VisibleList|WrapperType|ZZ|ZeroExpression)\\b"},{"name":"entity.name.function.m2","match":"(?x)(\\b|^)(BesselJ|BesselY|Beta|Digamma|EXAMPLE|End|Fano|GCstats|GF|Gamma|Grassmannian|Hom|LLL|LUdecomposition|M2CODE|NNParser|Proj|QQParser|QRDecomposition|SVD|SYNOPSIS|Schubert|Spec|ZZParser|about|abs|accumulate|acos|acosh|acot|acoth|addCancelTask|addDependencyTask|addEndFunction|addHook|addStartTask|adjoint|agm|alarm|all|ambient|analyticSpread|ancestor|ancestors|andP|ann|annihilator|antipode|any|append|applicationDirectory|apply|applyKeys|applyPairs|applyTable|applyValues|apropos|arXiv|ascii|asin|asinh|ass|assert|associatedGradedRing|associatedPrimes|atEndOfFile|atan|atan2|atanh|autoload|baseFilename|baseName|baseRing|basis|beginDocumentation|benchmark|betti|between|binomial|borel|cacheValue|cancelTask|canonicalBundle|capture|ceiling|centerString|chainComplex|changeBase|changeDirectory|char|charAnalyzer|characters|check|checkDegrees|chi|class|clean|clearEcho|code|codim|coefficient|coefficientRing|coefficients|cohomology|coimage|coker|cokernel|collectGarbage|columnAdd|columnMult|columnPermute|columnRankProfile|columnSwap|columnate|combine|commandInterpreter|commonRing|commonest|comodule|compareExchange|complement|complete|components|compose|compositions|compress|concatenate|conductor|cone|conjugate|connectionCount|constParser|content|contract|conwayPolynomial|copy|copyDirectory|copyFile|cos|cosh|cot|cotangentSheaf|coth|cover|coverMap|cpuTime|createTask|csc|csch|currentColumnNumber|currentDirectory|currentPosition|currentRowNumber|currentTime|deadParser|debug|debugError|decompose|deepSplice|default|degree|degreeGroup|degreeLength|degrees|degreesMonoid|degreesRing|delete|demark|denominator|depth|describe|det|determinant|diagonalMatrix|diameter|dictionary|diff|difference|dim|directProduct|directSum|disassemble|discriminant|dismiss|distinguished|divideByVariable|doc|document|drop|dual|eagonNorthcott|echoOff|echoOn|eigenvalues|eigenvectors|eint|elements|eliminate|endPackage|entries|erase|erf|erfc|error|euler|eulers|even|examples|exchange|exec|exp|expectedReesIdeal|expm1|exponents|export|exportFrom|exportMutable|expression|extend|exteriorPower|factor|fileExecutable|fileExists|fileLength|fileMode|fileReadable|fileTime|fileWritable|fillMatrix|findFiles|findHeft|findProgram|findSynonyms|first|firstkey|fittingIdeal|flagLookup|flatten|flattenRing|flip|floor|fold|forceGB|fork|format|formation|frac|fraction|frames|fromDividedPowers|fromDual|functionBody|futureParser|gb|gbRemove|gbSnapshot|gcd|gcdCoefficients|gcdLLL|genera|generateAssertions|generator|generators|genericMatrix|genericSkewMatrix|genericSymmetricMatrix|gens|genus|get|getChangeMatrix|getGlobalSymbol|getIOThreadMode|getNetFile|getNonUnit|getPrimeWithRootOfUnity|getSymbol|getWWW|getc|getenv|globalAssign|globalAssignFunction|globalAssignment|globalReleaseFunction|gradedModule|gradedModuleMap|gramm|graphIdeal|graphRing|groebnerBasis|groupID|hash|hashTable|headlines|heft|height|hermite|hilbertFunction|hilbertPolynomial|hilbertSeries|hold|homogenize|homology|homomorphism|hooks|horizontalJoin|html|httpHeaders|hypertext|icFracP|icFractions|icMap|icPIdeal|ideal|idealSheaf|idealizer|identity|image|imaginaryPart|importFrom|independentSets|index|indices|inducedMap|inducesWellDefinedMap|info|input|insert|installAssignmentMethod|installHilbertFunction|installMethod|installMinprimes|installPackage|installedPackages|instance|instances|integralClosure|integrate|intersect|intersectInP|intersection|interval|inverse|inverseErf|inversePermutation|inverseRegularizedBeta|inverseRegularizedGamma|inverseSystem|irreducibleCharacteristicSeries|irreducibleDecomposition|isANumber|isAffineRing|isBorel|isCanceled|isCommutative|isConstant|isDirectSum|isDirectory|isEmpty|isExact|isField|isFinite|isFinitePrimeField|isFreeModule|isGlobalSymbol|isHomogeneous|isIdeal|isInfinite|isInjective|isInputFile|isIsomorphic|isIsomorphism|isLLL|isLinearType|isListener|isLocallyFree|isMember|isModule|isMonomialIdeal|isMutable|isNormal|isOpen|isOutputFile|isPolynomialRing|isPrimary|isPrime|isPrimitive|isProjective|isPseudoprime|isQuotientModule|isQuotientOf|isQuotientRing|isReady|isReal|isReduction|isRegularFile|isRing|isSkewCommutative|isSmooth|isSorted|isSquareFree|isStandardGradedPolynomialRing|isSubmodule|isSubquotient|isSubset|isSupportedInZeroLocus|isSurjective|isTable|isUnit|isVeryAmple|isWellDefined|isWeylAlgebra|isc|isomorphism|iterator|jacobian|jacobianDual|join|ker|kernel|kernelLLL|kernelOfLocalization|keys|kill|koszul|last|lcm|leadCoefficient|leadComponent|leadMonomial|leadTerm|left|length|letterParser|lift|liftable|limitFiles|limitProcesses|lines|linkFile|listForm|listSymbols|lngamma|load|loadPackage|localDictionaries|localize|locate|log|log1p|lookup|lookupCount|makeDirectory|makeDocumentTag|makePackageIndex|makeS2|map|markedGB|match|mathML|matrix|max|maxPosition|member|memoize|memoizeClear|memoizeValues|merge|mergePairs|method|methodOptions|methods|midpoint|min|minPosition|minPres|mingens|mingle|minimalBetti|minimalPresentation|minimalPrimes|minimalReduction|minimize|minimizeFilename|minors|minprimes|minus|mkdir|mod|module|modulo|monoid|monomialCurveIdeal|monomialIdeal|monomialSubideal|monomials|moveFile|multidegree|multidoc|multigraded|multiplicity|mutable|mutableIdentity|mutableMatrix|nanosleep|needs|needsPackage|net|netList|newClass|newCoordinateSystem|newNetFile|newPackage|newRing|next|nextPrime|nextkey|nonspaceAnalyzer|norm|normalCone|notImplemented|nullParser|nullSpace|nullhomotopy|numColumns|numRows|number|numcols|numerator|numeric|numericInterval|numgens|numrows|odd|oeis|ofClass|on|openDatabase|openDatabaseOut|openFiles|openIn|openInOut|openListener|openOut|openOutAppend|optP|optionalSignParser|options|orP|override|pack|package|packageTemplate|pad|pager|pairs|parallelApply|parent|part|partition|partitions|parts|pdim|peek|permanents|permutations|pfaffians|pivots|plus|poincare|poincareN|polarize|poly|position|positions|power|powermod|precision|preimage|prepend|presentation|pretty|primaryComponent|primaryDecomposition|print|printString|printerr|processID|product|projectiveHilbertPolynomial|promote|protect|prune|pseudoRemainder|pseudocode|pullback|pushForward|pushout|quotient|quotientRemainder|radical|radicalContainment|random|randomKRationalPoint|randomMutableMatrix|randomSubset|rank|rays|read|readDirectory|readPackage|readlink|realPart|realpath|recursionDepth|reduceHilbert|reducedRowEchelonForm|reductionNumber|reesAlgebra|reesAlgebraIdeal|reesIdeal|regSeqInIdeal|regex|regexQuote|registerFinalizer|regularity|regularizedBeta|regularizedGamma|relations|relativizeFilename|remainder|remove|removeDirectory|removeFile|removeLowestDimension|reorganize|replace|res|reshape|resolution|resultant|reverse|right|ring|ringFromFractions|roots|rotate|round|rowAdd|rowMult|rowPermute|rowRankProfile|rowSwap|rsort|run|runHooks|runLengthEncode|runProgram|same|saturate|scan|scanKeys|scanLines|scanPairs|scanValues|schedule|schreyerOrder|searchPath|sec|sech|seeParsing|select|selectInSubring|selectKeys|selectPairs|selectValues|selectVariables|separate|separateRegexp|sequence|serialNumber|set|setEcho|setGroupID|setIOExclusive|setIOSynchronized|setIOUnSynchronized|setRandomSeed|setup|setupEmacs|setupLift|setupPromote|sheaf|sheafHom|sheafMap|show|showHtml|showTex|sign|simpleDocFrob|sin|singularLocus|sinh|size|size2|sleep|smithNormalForm|solve|someTerms|sort|sortColumns|source|span|specialFiber|specialFiberIdeal|splice|splitWWW|sqrt|stack|stacksProject|stacktrace|standardForm|standardPairs|stashValue|status|store|style|sub|sublists|submatrix|submatrixByDegrees|subquotient|subsets|substitute|substring|subtable|sum|super|support|switch|sylvesterMatrix|symbolBody|symlinkDirectory|symlinkFile|symmetricAlgebra|symmetricAlgebraIdeal|symmetricKernel|symmetricPower|synonym|syz|syzygyScheme|table|take|tally|tan|tangentCone|tangentSheaf|tanh|target|taskResult|temporaryFileName|tensor|tensorAssociativity|terminalParser|terms|testHunekeQuestion|tests|tex|texMath|times|toAbsolutePath|toCC|toDividedPowers|toDual|toExternalString|toField|toList|toLower|toRR|toRRi|toSequence|toString|toUpper|top|topCoefficients|topComponents|trace|transpose|trim|truncate|truncateOutput|tutorial|ultimate|unbag|uncurry|undocumented|uniform|uninstallAllPackages|uninstallPackage|union|unique|uniquePermutations|unsequence|unstack|urlEncode|use|userSymbols|utf8|utf8check|utf8substring|validate|value|values|variety|vars|vector|versalEmbedding|wait|wedgeProduct|weightRange|whichGm|width|wikipedia|wrap|youngest|zero|zeta)\\b"},{"name":"constant.other.m2","match":"(?x)(\\b|^)(A1BrouwerDegrees|AbstractSimplicialComplexes|AbstractToricVarieties|Acknowledgement|AdditionalPaths|AdjointIdeal|AdjunctionForSurfaces|AfterEval|AfterNoPrint|AfterPrint|AInfinity|AlgebraicSplines|Algorithm|Alignment|AllCodimensions|AllMarkovBases|allowableThreads|AnalyzeSheafOnP1|applicationDirectorySuffix|argument|Ascending|AssociativeAlgebras|Authors|AuxiliaryFiles|backtrace|Bareiss|Base|BaseFunction|baseRings|BaseRow|BasisElementLimit|Bayer|BeforePrint|BeginningMacaulay2|Benchmark|BernsteinSato|Bertini|BettiCharacters|BGG|BIBasis|Binary|Binomial|BinomialEdgeIdeals|Binomials|BKZ|blockMatrixForm|Body|BoijSoederberg|Book3264Examples|BooleanGB|Boxes|Brackets|Browse|Bruns|cache|CacheExampleOutput|CallLimit|CannedExample|CatalanConstant|Caveat|CellularResolutions|Center|Certification|ChainComplexExtras|ChainComplexOperations|ChangeMatrix|CharacteristicClasses|CheckDocumentation|Chordal|Citation|cite|Classic|clearAll|clearOutput|close|closeIn|closeOut|ClosestFit|Code|CodimensionLimit|CodingTheory|CoefficientRing|Cofactor|CohenEngine|CohenTopLevel|CohomCalg|CoincidentRootLoci|commandLine|compactMatrixForm|Complement|CompleteIntersection|CompleteIntersectionResolutions|Complexes|ConductorElement|Configuration|ConformalBlocks|ConnectionMatrices|Consequences|Constants|Contributors|ConvexInterface|ConwayPolynomials|copyright|Core|CorrespondenceScrolls|CotangentSchubert|cotangentSurjection|coverageSummary|Cremona|currentFileDirectory|currentFileName|currentLayout|currentPackage|Cyclotomic|Date|dd|DebuggingMode|debuggingMode|debugLevel|DecomposableSparseSystems|Decompose|Default|defaultPrecision|Degree|DegreeGroup|DegreeLift|DegreeLimit|DegreeMap|DegreeOrder|DegreeRank|Degrees|Dense|Density|Depth|Descending|Description|DeterminantalRepresentations|DGAlgebras|dictionaryPath|DiffAlg|Dispatch|DivideConquer|DividedPowers|Divisor|Dmodules|docExample|docTemplate|Down|Dynamic|EagonResolution|EdgeIdeals|edit|EigenSolver|EisenbudHunekeVasconcelos|Elimination|EliminationMatrices|EllipticCurves|EllipticIntegrals|Email|embeddedToAbstract|end|endl|Engine|engineDebugLevel|EngineTests|EnumerationCurves|environment|EquivariantGB|errorDepth|EulerConstant|eulerSequence|Example|ExampleFiles|ExampleSystems|Exclude|exit|Ext|ExteriorIdeals|ExteriorModules|ExtLongExactSequence|false|FastMinors|FastNonminimal|FGLM|fileDictionaries|fileExitHooks|FileName|FindOne|FiniteFittingIdeals|First|FirstPackage|FlatMonoid|Flexible|flush|FollowLinks|ForeignFunctions|FormalGroupLaws|Format|FourierMotzkin|FourTiTwo|fpLLL|FrobeniusThresholds|FunctionFieldDesingularization|GameTheory|GBDegrees|gbTrace|GenerateAssertions|Generic|GenericInitialIdeal|GeometricDecomposability|gfanInterface|Givens|GKMVarieties|GLex|Global|GlobalAssignHook|globalAssignmentHooks|GlobalHookStore|GlobalReleaseHook|GlobalSectionLimit|Gorenstein|GradedLieAlgebras|GraphicalModels|GraphicalModelsMLE|Graphics|Graphs|GRevLex|GroebnerStrata|GroebnerWalk|GroupLex|GroupRevLex|GTZ|Hadamard|handleInterrupts|HardDegreeLimit|Heading|Headline|Heft|Height|help|Hermite|Hermitian|HH|hh|HigherCIOperators|HighestWeights|Hilbert|HodgeIntegrals|HolonomicSystems|homeDirectory|HomePage|Homogeneous|Homogeneous2|HomologicalAlgebraPackage|HomotopyLieAlgebra|HorizontalSpace|HyperplaneArrangements|id|idealSheafSequence|IgnoreExampleErrors|ii|IncidenceCorrespondenceCohomology|incomparable|Increment|indeterminate|Index|indexComponents|infinity|InfoDirSection|infoHelp|Inhomogeneous|Inputs|InstallPrefix|IntegerProgramming|IntegralClosure|interpreterDepth|Intersection|InvariantRing|InverseMethod|Inverses|InverseSystems|Invertible|InvolutiveBases|Isomorphism|Item|Iterate|Jacobian|Jets|Join|JSON|K3Carpets|K3Surfaces|Keep|KeepFiles|KeepZeroes|Key|Keywords|Kronecker|KustinMiller|lastMatch|LatticePolytopes|Layout|Left|LengthLimit|Lex|LexIdeals|LieTypes|Limit|Linear|LinearAlgebra|LinearTruncations|lineNumber|listLocalSymbols|listUserSymbols|LLLBases|loadDepth|LoadDocumentation|loadedFiles|loadedPackages|Local|LocalRings|LongPolynomial|M0nbar|Macaulay2Doc|Maintainer|MakeDocumentation|MakeHTML|MakeInfo|MakePDF|MapleInterface|Markov|MatchingFields|MatrixSchubert|Matroids|maxAllowableThreads|maxExponent|MaximalRank|MaxReductionCount|MCMApproximations|MergeTeX|minExponent|MinimalGenerators|MinimalMatrix|minimalPresentationMap|minimalPresentationMapInv|MinimalPrimes|Minimize|MinimumVersion|Miura|MixedMultiplicity|ModuleDeformations|MonodromySolver|Monomial|MonomialAlgebras|MonomialIntegerPrograms|MonomialOrbits|MonomialOrder|Monomials|MonomialSize|Msolve|MultigradedBGG|MultigradedImplicitization|MultiGradedRationalMap|MultiplicitySequence|MultiplierIdeals|MultiplierIdealsDim2|MultiprojectiveVarieties|NAGtypes|Name|Nauty|NautyGraphs|NCAlgebra|NCLex|NewFromMethod|newline|NewMethod|NewOfFromMethod|NewOfMethod|nil|Node|NoetherianOperators|NoetherNormalization|NonminimalComplexes|NoPrint|Normaliz|NormalToricVarieties|notify|NTL|null|nullaryMethods|NumericalAlgebraicGeometry|NumericalCertification|NumericalImplicitization|NumericalLinearAlgebra|NumericalSchubertCalculus|NumericalSemigroups|NumericSolutions|numTBBThreads|OIGroebnerBases|OldChainComplexes|OldPolyhedra|OldToricVectorBundles|OnlineLookup|OO|oo|ooo|oooo|OpenMath|operatorAttributes|OptionalComponentsPresent|Options|Order|order|Oscillators|OutputDictionary|Outputs|PackageCitations|PackageDictionary|PackageExports|PackageImports|PackageTemplate|PairLimit|PairsRemaining|ParallelF4|ParallelizeByDegree|Parametrization|Parsing|path|PencilsOfQuadrics|Permanents|Permutations|PHCpack|PhylogeneticTrees|pi|PieriMaps|PlaneCurveLinearSeries|PlaneCurveSingularities|Points|Polyhedra|Polymake|PolyominoIdeals|Posets|Position|PositivityToricBundles|POSIX|Postfix|Pre|Precision|Prefix|prefixDirectory|prefixPath|PrimaryDecomposition|PrimaryTag|PrimitiveElement|Print|printingAccuracy|printingLeadLimit|printingPrecision|printingSeparator|printingTimeLimit|printingTrailLimit|printWidth|Probability|profileSummary|programPaths|Projective|Prune|PruneComplex|pruningMap|PseudomonomialPrimaryDecomposition|Pullback|pullbackMaps|PushForward|pushoutMaps|Python|QthPower|QuadraticIdealExamplesByRoos|Quasidegrees|QuaternaryQuartics|QuillenSuslin|quit|Quotient|Radical|RadicalCodim1|RaiseError|RandomCanonicalCurves|RandomComplexes|RandomCurves|RandomCurvesOverVerySmallFiniteFields|RandomGenus14Curves|RandomIdeals|RandomMonomialIdeals|RandomObjects|RandomPlaneCurves|RandomPoints|RandomSpaceCurves|Range|RationalMaps|RationalPoints|RationalPoints2|ReactionNetworks|RealFP|RealQP|RealQP1|RealRoots|RealRR|RealXD|recursionLimit|Reduce|ReesAlgebra|References|ReflexivePolytopesDB|Regularity|RelativeCanonicalResolution|Reload|RemakeAllDocumentation|RerunExamples|ResidualIntersections|ResLengthThree|ResolutionsOfStanleyReisnerRings|restart|Result|Resultants|returnCode|Reverse|RevLex|RHom|Right|RInterface|rootPath|rootURI|RunDirectory|RunExamples|RunExternalM2|SagbiGbDetection|Saturation|SaturationMap|Schubert2|SchurComplexes|SchurFunctors|SchurRings|SchurVeronese|SCMAlgebras|scriptCommandLine|SCSCP|SectionRing|SeeAlso|SegreClasses|SemidefiniteProgramming|Seminormalization|SeparateExec|Serialization|sheafExt|ShimoyamaYokoyama|showClassStructure|showStructure|showUserStructure|SimpleDoc|SimplicialComplexes|SimplicialDecomposability|SimplicialPosets|SimplifyFractions|SizeLimit|SkewCommutative|SlackIdeals|SLnEquivariantMatrices|SLPexpressions|Sort|SortStrategy|SourceCode|SourceRing|SpaceCurves|SparseResultants|SpechtModule|SpecialFanoFourfolds|SpectralSequences|SRdeformations|Standard|StartWithOneMinor|StatePolytope|StatGraphs|stderr|stdio|StopBeforeComputation|stopIfError|StopIteration|StopWithMinimalGenerators|Strategy|Strict|StronglyStableIdeals|Style|SubalgebraBases|Subnodes|SubringLimit|subscript|Sugarless|SumsOfSquares|SuperLinearAlgebra|superscript|SVDComplexes|SwitchingFields|SymbolicPowers|SymmetricPolynomials|Synopsis|Syzygies|SyzygyLimit|SyzygyMatrix|SyzygyRows|TangentCone|TateOnProducts|TensorComplexes|TerraciniLoci|Test|testExample|TestIdeals|TeXmacs|Text|ThinSincereQuivers|ThreadedGB|Threads|Threshold|Topcom|topLevelMode|Tor|TorAlgebra|Toric|ToricHigherDirectImages|ToricInvariants|ToricTopology|ToricVectorBundles|Torsion|TorsionFree|TotalPairs|Tree|TriangularSets|Triangulations|Tries|Trim|Triplets|Tropical|TropicalToric|true|Truncate|Truncations|TSpreadIdeals|TypicalValue|typicalValues|Undo|Unique|Units|Unmixed|Up|UpdateOnly|UpperTriangular|Usage|UseCachedExampleOutput|UseHilbertFunction|UserMode|UseSyzygies|Valuations|Variable|VariableBaseName|Variables|Varieties|Vasconcelos|VectorFields|VectorGraphics|Verbose|Verbosity|Verify|VersalDeformations|Version|version|VerticalSpace|viewHelp|VirtualResolutions|Visualize|VNumber|WebApp|Weights|WeylAlgebra|WeylAlgebras|WeylGroups|WhitneyStratifications|Wrap|XML|yonedaSheafExtension)\\b"}]},"comment":{"patterns":[{"name":"comment.line.double-dash.m2","match":"(--).*$","captures":{"1":{"name":"punctuation.definition.comment.m2"}}},{"contentName":"comment.block.m2","begin":"-\\*","end":"\\*-","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.m2"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.m2"}}}]},"fields":{"patterns":[{"name":"entity.name.type.m2","match":"(ZZ|QQ)(\\/\\d+)?"}]},"keywords":{"patterns":[{"name":"keyword.control.m2","match":"(?x)(\\b|^)(SPACE|TEST|and|break|breakpoint|catch|continue|do|elapsedTime|elapsedTiming|else|for|from|global|if|in|list|local|new|not|of|or|profile|return|shield|step|symbol|then|threadLocal|threadVariable|throw|time|timing|to|try|when|while|xor)\\b"},{"name":"keyword.operator.m2","match":"(?x)(\\b|^)(and|not|or)\\b"}]},"math":{"patterns":[{"name":"keyword.operator.arithmetic.m2","match":"(\\+|\\*)"},{"name":"constant.numeric.integer.m2","match":"(?\u003c=\\s)\\d+"}]},"strings":{"patterns":[{"name":"string.quoted.double.m2","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.m2"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.m2"}}},{"name":"string.unquoted.m2","match":"\"///\\(/?/?[^/]\\|\\(//\\)*////[^/]\\)*\\(//\\)*///\""}]}}}
|
|
1
|
+
{"name":"Macaulay2","scopeName":"source.m2","patterns":[{"include":"#keywords"},{"include":"#comment"},{"include":"#strings"},{"include":"#fields"},{"include":"#math"},{"include":"#autogen"}],"repository":{"autogen":{"patterns":[{"name":"entity.name.type.m2","match":"(?x)(\\b|^)(ANCHOR|Adjacent|AffineVariety|Analyzer|AngleBarList|Array|AssociativeExpression|AtomicInt|BLOCKQUOTE|BODY|BOLD|BR|BUTTON|Bag|BasicList|BettiTally|BinaryOperation|Boolean|CC|CDATA|CODE|COMMENT|CacheTable|ChainComplex|ChainComplexMap|CoherentSheaf|Command|CompiledFunction|CompiledFunctionBody|CompiledFunctionClosure|ComplexField|Constant|DD|DIV|DL|DT|Database|Descent|Describe|Dictionary|DirectSum|Divide|DocumentTag|EM|Eliminate|EngineRing|Equation|ExampleItem|Expression|File|FilePosition|FractionField|Function|FunctionApplication|FunctionBody|FunctionClosure|GaloisField|GeneralOrderedMonoid|GlobalDictionary|GradedModule|GradedModuleMap|GroebnerBasis|GroebnerBasisOptions|HEAD|HEADER1|HEADER2|HEADER3|HEADER4|HEADER5|HEADER6|HR|HREF|HTML|HashTable|HeaderType|Holder|Hybrid|Hypertext|HypertextContainer|HypertextParagraph|HypertextVoid|IFRAME|IMG|INDENT|INPUT|ITALIC|Ideal|ImmutableType|IndeterminateNumber|IndexedVariable|IndexedVariableTable|InexactField|InexactFieldFamily|InexactNumber|InfiniteNumber|IntermediateMarkUpType|Iterator|KBD|Keyword|LABEL|LATER|LI|LINK|LITERAL|List|LocalDictionary|LowerBound|MENU|META|Manipulator|MapExpression|MarkUpType|Matrix|MatrixExpression|MethodFunction|MethodFunctionBinary|MethodFunctionSingle|MethodFunctionWithOptions|Minus|Module|Monoid|MonoidElement|MonomialIdeal|MultigradedBettiTally|MutableHashTable|MutableList|MutableMatrix|Net|NetFile|Nothing|Number|NumberedVerticalList|OL|OneExpression|Option|OptionTable|OrderedMonoid|PARA|PRE|Package|Parenthesize|Parser|Partition|PolynomialRing|Power|Product|ProductOrder|Program|ProgramRun|ProjectiveHilbertPolynomial|ProjectiveVariety|Pseudocode|PseudocodeClosure|QQ|QuotientRing|RR|RRi|RealField|Resolution|Ring|RingElement|RingFamily|RingMap|RowExpression|SAMP|SCRIPT|SMALL|SPAN|STRONG|STYLE|SUB|SUBSECTION|SUP|ScriptedFunctor|SelfInitializingType|Sequence|Set|SheafExpression|SheafMap|SheafOfRings|SparseMonomialVectorExpression|SparseVectorExpression|String|Subscript|Sum|SumOfTwists|Superscript|Symbol|SymbolBody|TABLE|TD|TEX|TH|TITLE|TO|TO2|TOH|TR|TT|Table|Tally|Task|TensorProduct|TestInput|Thing|Time|Type|UL|URL|VAR|Variety|Vector|VectorExpression|VerticalList|VirtualTally|VisibleList|WrapperType|ZZ|ZeroExpression)\\b"},{"name":"entity.name.function.m2","match":"(?x)(\\b|^)(BesselJ|BesselY|Beta|Digamma|EXAMPLE|End|Fano|GCstats|GF|Gamma|Grassmannian|Hom|LLL|LUdecomposition|M2CODE|NNParser|Proj|QQParser|QRDecomposition|SVD|SYNOPSIS|Schubert|Spec|ZZParser|about|abs|accumulate|acos|acosh|acot|acoth|addCancelTask|addDependencyTask|addEndFunction|addHook|addStartTask|adjoint|agm|alarm|all|ambient|analyticSpread|ancestor|ancestors|andP|ann|annihilator|antipode|any|append|applicationDirectory|apply|applyKeys|applyPairs|applyTable|applyValues|apropos|arXiv|ascii|asin|asinh|ass|assert|associatedGradedRing|associatedPrimes|atEndOfFile|atan|atan2|atanh|autoload|baseFilename|baseName|baseRing|basis|beginDocumentation|benchmark|betti|between|binomial|borel|cacheValue|cancelTask|canonicalBundle|capture|ceiling|centerString|chainComplex|changeBase|changeDirectory|char|charAnalyzer|characters|check|checkDegrees|chi|class|clean|clearEcho|code|codim|coefficient|coefficientRing|coefficients|cohomology|coimage|coker|cokernel|collectGarbage|columnAdd|columnMult|columnPermute|columnRankProfile|columnSwap|columnate|combine|commandInterpreter|commonRing|commonest|comodule|compareExchange|complement|complete|components|compose|compositions|compress|concatenate|conductor|cone|conjugate|connectionCount|constParser|content|contract|conwayPolynomial|copy|copyDirectory|copyFile|cos|cosh|cot|cotangentSheaf|coth|cover|coverMap|cpuTime|createTask|csc|csch|currentColumnNumber|currentDirectory|currentPosition|currentRowNumber|currentTime|deadParser|debug|debugError|decompose|deepSplice|default|degree|degreeGroup|degreeLength|degrees|degreesMonoid|degreesRing|delete|demark|denominator|depth|describe|det|determinant|diagonalMatrix|diameter|dictionary|diff|difference|dim|directProduct|directSum|disassemble|discriminant|dismiss|distinguished|divideByVariable|doc|document|drop|dual|eagonNorthcott|echoOff|echoOn|eigenvalues|eigenvectors|eint|elements|eliminate|endPackage|entries|erase|erf|erfc|error|euler|eulers|even|examples|exchange|exec|exp|expectedReesIdeal|expm1|exponents|export|exportFrom|exportMutable|expression|extend|exteriorPower|factor|fileExecutable|fileExists|fileLength|fileMode|fileReadable|fileTime|fileWritable|fillMatrix|findFiles|findHeft|findProgram|findSynonyms|first|firstkey|fittingIdeal|flagLookup|flatten|flattenRing|flip|floor|fold|forceGB|fork|format|formation|frac|fraction|frames|fromDividedPowers|fromDual|functionBody|futureParser|gb|gbRemove|gbSnapshot|gcd|gcdCoefficients|gcdLLL|genera|generateAssertions|generator|generators|genericMatrix|genericSkewMatrix|genericSymmetricMatrix|gens|genus|get|getChangeMatrix|getGlobalSymbol|getIOThreadMode|getNetFile|getNonUnit|getPrimeWithRootOfUnity|getSymbol|getWWW|getc|getenv|globalAssign|globalAssignFunction|globalAssignment|globalReleaseFunction|gradedModule|gradedModuleMap|gramm|graphIdeal|graphRing|groebnerBasis|groupID|hash|hashTable|headlines|heft|height|hermite|hilbertFunction|hilbertPolynomial|hilbertSeries|hold|homogenize|homology|homomorphism|hooks|horizontalJoin|html|httpHeaders|hypertext|icFracP|icFractions|icMap|icPIdeal|ideal|idealSheaf|idealizer|identity|image|imaginaryPart|importFrom|independentSets|index|indices|inducedMap|inducesWellDefinedMap|info|input|insert|installAssignmentMethod|installHilbertFunction|installMethod|installMinprimes|installPackage|installedPackages|instance|instances|integralClosure|integrate|intersect|intersectInP|intersection|interval|inverse|inverseErf|inversePermutation|inverseRegularizedBeta|inverseRegularizedGamma|inverseSystem|irreducibleCharacteristicSeries|irreducibleDecomposition|isANumber|isAffineRing|isBorel|isCanceled|isCommutative|isConstant|isDirectSum|isDirectory|isEmpty|isExact|isField|isFinite|isFinitePrimeField|isFreeModule|isGlobalSymbol|isHomogeneous|isIdeal|isInfinite|isInjective|isInputFile|isIsomorphic|isIsomorphism|isLLL|isLinearType|isListener|isLocallyFree|isMember|isModule|isMonomialIdeal|isMutable|isNormal|isOpen|isOutputFile|isPolynomialRing|isPrimary|isPrime|isPrimitive|isProjective|isPseudoprime|isQuotientModule|isQuotientOf|isQuotientRing|isReady|isReal|isReduction|isRegularFile|isRing|isSkewCommutative|isSmooth|isSorted|isSquareFree|isStandardGradedPolynomialRing|isSubmodule|isSubquotient|isSubset|isSupportedInZeroLocus|isSurjective|isTable|isUnit|isVeryAmple|isWellDefined|isWeylAlgebra|isc|isomorphism|iterator|jacobian|jacobianDual|join|ker|kernel|kernelLLL|kernelOfLocalization|keys|kill|koszul|last|lcm|leadCoefficient|leadComponent|leadMonomial|leadTerm|left|length|letterParser|lift|liftable|limitFiles|limitProcesses|lines|linkFile|listForm|listSymbols|lngamma|load|loadPackage|localDictionaries|localize|locate|log|log1p|lookup|lookupCount|makeDirectory|makeDocumentTag|makePackageIndex|makeS2|map|markedGB|match|mathML|matrix|max|maxPosition|member|memoize|memoizeClear|memoizeValues|merge|mergePairs|method|methodOptions|methods|midpoint|min|minPosition|minPres|mingens|mingle|minimalBetti|minimalPresentation|minimalPrimes|minimalReduction|minimize|minimizeFilename|minors|minprimes|minus|mkdir|mod|module|modulo|monoid|monomialCurveIdeal|monomialIdeal|monomialSubideal|monomials|moveFile|multidegree|multidoc|multigraded|multiplicity|mutable|mutableIdentity|mutableMatrix|nanosleep|needs|needsPackage|net|netList|newClass|newCoordinateSystem|newNetFile|newPackage|newRing|next|nextPrime|nextkey|nonspaceAnalyzer|norm|normalCone|notImplemented|nullParser|nullSpace|nullhomotopy|numColumns|numRows|number|numcols|numerator|numeric|numericInterval|numgens|numrows|odd|oeis|ofClass|on|openDatabase|openDatabaseOut|openFiles|openIn|openInOut|openListener|openOut|openOutAppend|optP|optionalSignParser|options|orP|override|pack|package|packageTemplate|pad|pager|pairs|parallelApply|parent|part|partition|partitions|parts|pdim|peek|permanents|permutations|pfaffian|pfaffians|pivots|plus|poincare|poincareN|polarize|poly|position|positions|power|powermod|precision|preimage|prepend|presentation|pretty|primaryComponent|primaryDecomposition|print|printString|printerr|processID|product|projectiveHilbertPolynomial|promote|protect|prune|pseudoRemainder|pseudocode|pullback|pushForward|pushout|quotient|quotientRemainder|radical|radicalContainment|random|randomKRationalPoint|randomMutableMatrix|randomSubset|rank|rays|read|readDirectory|readPackage|readlink|realPart|realpath|recursionDepth|reduceHilbert|reducedRowEchelonForm|reductionNumber|reesAlgebra|reesAlgebraIdeal|reesIdeal|regSeqInIdeal|regex|regexQuote|registerFinalizer|regularity|regularizedBeta|regularizedGamma|relations|relativizeFilename|remainder|remove|removeDirectory|removeFile|removeLowestDimension|reorganize|replace|res|reshape|resolution|resultant|reverse|right|ring|ringFromFractions|roots|rotate|round|rowAdd|rowMult|rowPermute|rowRankProfile|rowSwap|rsort|run|runHooks|runLengthEncode|runProgram|same|saturate|scan|scanKeys|scanLines|scanPairs|scanValues|schedule|schreyerOrder|searchPath|sec|sech|seeParsing|select|selectInSubring|selectKeys|selectPairs|selectValues|selectVariables|separate|separateRegexp|sequence|serialNumber|set|setEcho|setGroupID|setIOExclusive|setIOSynchronized|setIOUnSynchronized|setRandomSeed|setup|setupEmacs|setupLift|setupPromote|sheaf|sheafHom|sheafMap|show|showHtml|showTex|sign|simpleDocFrob|sin|singularLocus|sinh|size|size2|sleep|smithNormalForm|solve|someTerms|sort|sortColumns|source|span|specialFiber|specialFiberIdeal|splice|splitWWW|sqrt|stack|stacksProject|stacktrace|standardForm|standardPairs|stashValue|status|store|style|sub|sublists|submatrix|submatrixByDegrees|subquotient|subsets|substitute|substring|subtable|sum|super|support|switch|sylvesterMatrix|symbolBody|symlinkDirectory|symlinkFile|symmetricAlgebra|symmetricAlgebraIdeal|symmetricKernel|symmetricPower|synonym|syz|syzygyScheme|table|take|tally|tan|tangentCone|tangentSheaf|tanh|target|taskResult|temporaryFileName|tensor|tensorAssociativity|terminalParser|terms|testHunekeQuestion|tests|tex|texMath|times|toAbsolutePath|toCC|toDividedPowers|toDual|toExternalString|toField|toList|toLower|toRR|toRRi|toSequence|toString|toUpper|top|topCoefficients|topComponents|trace|transpose|trim|truncate|truncateOutput|tutorial|ultimate|unbag|uncurry|undocumented|uniform|uninstallAllPackages|uninstallPackage|union|unique|uniquePermutations|unsequence|unstack|urlEncode|use|userSymbols|utf8|utf8check|utf8substring|validate|value|values|variety|vars|vector|versalEmbedding|wait|wedgeProduct|weightRange|whichGm|width|wikipedia|wrap|youngest|zero|zeta)\\b"},{"name":"constant.other.m2","match":"(?x)(\\b|^)(A1BrouwerDegrees|AbstractSimplicialComplexes|AbstractToricVarieties|Acknowledgement|AdditionalPaths|AdjointIdeal|AdjunctionForSurfaces|AfterEval|AfterNoPrint|AfterPrint|AInfinity|AlgebraicSplines|Algorithm|Alignment|AllCodimensions|AllMarkovBases|allowableThreads|AnalyzeSheafOnP1|applicationDirectorySuffix|argument|Ascending|AssociativeAlgebras|Authors|AuxiliaryFiles|backtrace|Bareiss|Base|BaseFunction|baseRings|BaseRow|BasisElementLimit|Bayer|BeforePrint|BeginningMacaulay2|Benchmark|BernsteinSato|Bertini|BettiCharacters|BGG|BIBasis|Binary|Binomial|BinomialEdgeIdeals|Binomials|BKZ|blockMatrixForm|Body|BoijSoederberg|Book3264Examples|BooleanGB|Boxes|Brackets|Browse|Bruns|cache|CacheExampleOutput|CallLimit|CannedExample|CatalanConstant|Caveat|CellularResolutions|Center|Certification|ChainComplexExtras|ChainComplexOperations|ChangeMatrix|CharacteristicClasses|CheckDocumentation|Chordal|Citation|cite|Classic|clearAll|clearOutput|close|closeIn|closeOut|ClosestFit|Code|CodimensionLimit|CodingTheory|CoefficientRing|Cofactor|CohenEngine|CohenTopLevel|CohomCalg|CoincidentRootLoci|commandLine|compactMatrixForm|Complement|CompleteIntersection|CompleteIntersectionResolutions|Complexes|ConductorElement|Configuration|ConformalBlocks|ConnectionMatrices|Consequences|Constants|Contributors|ConvexInterface|ConwayPolynomials|copyright|Core|CorrespondenceScrolls|CotangentSchubert|cotangentSurjection|coverageSummary|CpMackeyFunctors|Cremona|currentFileDirectory|currentFileName|currentLayout|currentPackage|Cyclotomic|Date|dd|DebuggingMode|debuggingMode|debugLevel|DecomposableSparseSystems|Decompose|Default|defaultPrecision|Degree|DegreeGroup|DegreeLift|DegreeLimit|DegreeMap|DegreeOrder|DegreeRank|Degrees|Dense|Density|Depth|Descending|Description|DeterminantalRepresentations|DGAlgebras|dictionaryPath|DiffAlg|Dispatch|DivideConquer|DividedPowers|Dmodules|docExample|docTemplate|Down|Dynamic|EagonResolution|EdgeIdeals|edit|EigenSolver|EisenbudHunekeVasconcelos|Elimination|EliminationMatrices|EllipticCurves|EllipticIntegrals|Email|embeddedToAbstract|end|endl|Engine|engineDebugLevel|EngineTests|EnumerationCurves|environment|EquivariantGB|errorDepth|EulerConstant|eulerSequence|Example|ExampleFiles|ExampleSystems|Exclude|exit|Ext|ExteriorExtensions|ExteriorIdeals|ExteriorModules|ExtLongExactSequence|false|FastMinors|FastNonminimal|FGLM|fileDictionaries|fileExitHooks|FileName|FindOne|FiniteFittingIdeals|First|FirstPackage|FlatMonoid|Flexible|flush|FollowLinks|ForeignFunctions|FormalGroupLaws|Format|FourierMotzkin|FourTiTwo|fpLLL|FrobeniusThresholds|FunctionFieldDesingularization|GameTheory|GBDegrees|gbTrace|GenerateAssertions|Generic|GenericInitialIdeal|GeometricDecomposability|gfanInterface|Givens|GKMVarieties|GLex|Global|GlobalAssignHook|globalAssignmentHooks|GlobalHookStore|GlobalReleaseHook|GlobalSectionLimit|Gorenstein|GradedLieAlgebras|GraphicalModels|GraphicalModelsMLE|Graphics|Graphs|GRevLex|GroebnerStrata|GroebnerWalk|GroupLex|GroupRevLex|GTZ|Hadamard|handleInterrupts|HardDegreeLimit|Heading|Headline|Heft|Height|help|Hermite|Hermitian|HH|hh|HigherCIOperators|HighestWeights|Hilbert|HodgeIntegrals|HolonomicSystems|homeDirectory|HomePage|Homogeneous|Homogeneous2|HomologicalAlgebraPackage|HomotopyLieAlgebra|HorizontalSpace|HyperplaneArrangements|id|idealSheafSequence|IgnoreExampleErrors|ii|IncidenceCorrespondenceCohomology|incomparable|Increment|indeterminate|Index|indexComponents|infinity|InfoDirSection|infoHelp|Inhomogeneous|Inputs|InstallPrefix|IntegerProgramming|IntegralClosure|interpreterDepth|Intersection|InvariantRing|InverseMethod|Inverses|InverseSystems|Invertible|InvolutiveBases|Isomorphism|Item|Iterate|Jacobian|Jets|Join|JSON|JSONRPC|K3Carpets|K3Surfaces|Keep|KeepFiles|KeepZeroes|Key|Keywords|Kronecker|KustinMiller|lastMatch|LatticePolytopes|Layout|Left|LengthLimit|Lex|LexIdeals|LieAlgebraRepresentations|Limit|Linear|LinearAlgebra|LinearTruncations|lineNumber|listLocalSymbols|listUserSymbols|LLLBases|loadDepth|LoadDocumentation|loadedFiles|loadedPackages|Local|LocalRings|LongPolynomial|M0nbar|Macaulay2Doc|Maintainer|MakeDocumentation|MakeHTML|MakeInfo|MakePDF|MapleInterface|Markov|MatchingFields|MatrixFactorizations|MatrixSchubert|Matroids|maxAllowableThreads|maxExponent|MaximalRank|MaxReductionCount|MCMApproximations|MergeTeX|minExponent|MinimalGenerators|MinimalMatrix|minimalPresentationMap|minimalPresentationMapInv|MinimalPrimes|Minimize|MinimumVersion|Miura|MixedMultiplicity|ModuleDeformations|MonodromySolver|Monomial|MonomialAlgebras|MonomialIntegerPrograms|MonomialOrbits|MonomialOrder|Monomials|MonomialSize|Msolve|MultigradedBGG|MultigradedImplicitization|MultiGradedRationalMap|MultiplicitySequence|MultiplierIdeals|MultiplierIdealsDim2|MultiprojectiveVarieties|NAGtypes|Name|Nauty|NautyGraphs|NCAlgebra|NCLex|NewFromMethod|newline|NewMethod|NewOfFromMethod|NewOfMethod|nil|Node|NoetherianOperators|NoetherNormalization|NonminimalComplexes|NonPrincipalTestIdeals|NoPrint|Normaliz|NormalToricVarieties|NotANumber|notify|NTL|null|nullaryMethods|NumericalAlgebraicGeometry|NumericalCertification|NumericalImplicitization|NumericalLinearAlgebra|NumericalSchubertCalculus|NumericalSemigroups|NumericSolutions|numTBBThreads|OIGroebnerBases|OldChainComplexes|OldPolyhedra|OldToricVectorBundles|OnlineLookup|OO|oo|ooo|oooo|OpenMath|operatorAttributes|OptionalComponentsPresent|Options|Order|order|Oscillators|OutputDictionary|Outputs|PackageCitations|PackageDictionary|PackageExports|PackageImports|PackageTemplate|PairLimit|PairsRemaining|ParallelF4|ParallelizeByDegree|Parametrization|Parsing|path|PathSignatures|PencilsOfQuadrics|Permanents|Permutations|PHCpack|PhylogeneticTrees|pi|PieriMaps|PlaneCurveLinearSeries|PlaneCurveSingularities|Points|Polyhedra|Polymake|PolyominoIdeals|Posets|Position|PositivityToricBundles|POSIX|Postfix|Pre|Precision|Prefix|prefixDirectory|prefixPath|PrimaryDecomposition|PrimaryTag|PrimitiveElement|Print|printingAccuracy|printingLeadLimit|printingPrecision|printingSeparator|printingTimeLimit|printingTrailLimit|printWidth|Probability|profileSummary|programPaths|Projective|Prune|PruneComplex|pruningMap|PseudomonomialPrimaryDecomposition|Pullback|pullbackMaps|PushForward|pushoutMaps|Python|QthPower|QuadraticIdealExamplesByRoos|Quasidegrees|QuaternaryQuartics|QuillenSuslin|quit|Quotient|Radical|RadicalCodim1|RaiseError|RandomCanonicalCurves|RandomComplexes|RandomCurves|RandomCurvesOverVerySmallFiniteFields|RandomGenus14Curves|RandomIdeals|RandomMonomialIdeals|RandomObjects|RandomPlaneCurves|RandomPoints|RandomSpaceCurves|Range|RationalMaps|RationalPoints|RationalPoints2|ReactionNetworks|RealFP|RealQP|RealQP1|RealRoots|RealRR|RealXD|recursionLimit|Reduce|ReesAlgebra|References|ReflexivePolytopesDB|Regularity|RelativeCanonicalResolution|Reload|RemakeAllDocumentation|RerunExamples|ResidualIntersections|ResLengthThree|ResolutionsOfStanleyReisnerRings|restart|Result|Resultants|returnCode|Reverse|RevLex|RHom|Right|RInterface|rootPath|rootURI|RunDirectory|RunExamples|RunExternalM2|SagbiGbDetection|Saturation|SaturationMap|Schubert2|SchurComplexes|SchurFunctors|SchurRings|SchurVeronese|SCMAlgebras|scriptCommandLine|SCSCP|SectionRing|SeeAlso|SegreClasses|SemidefiniteProgramming|Seminormalization|SeparateExec|Serialization|sheafExt|ShimoyamaYokoyama|showClassStructure|showStructure|showUserStructure|SimpleDoc|SimplicialComplexes|SimplicialDecomposability|SimplicialPosets|SimplifyFractions|SizeLimit|SkewCommutative|SlackIdeals|SLnEquivariantMatrices|SLPexpressions|Sort|SortStrategy|SourceCode|SourceRing|SpaceCurves|SparseResultants|SpechtModule|SpecialFanoFourfolds|SpectralSequences|SRdeformations|Standard|StartWithOneMinor|StatePolytope|StatGraphs|stderr|stdio|StopBeforeComputation|stopIfError|StopIteration|StopWithMinimalGenerators|Strategy|Strict|StronglyStableIdeals|Style|SubalgebraBases|Subnodes|SubringLimit|subscript|Sugarless|SumsOfSquares|SuperLinearAlgebra|superscript|SVDComplexes|SwitchingFields|SymbolicPowers|SymmetricPolynomials|Synopsis|Syzygies|SyzygyLimit|SyzygyMatrix|SyzygyRows|Tableaux|TangentCone|TateOnProducts|TensorComplexes|TerraciniLoci|Test|testExample|TestIdeals|TeXmacs|Text|ThinSincereQuivers|ThreadedGB|Threads|Threshold|Topcom|topLevelMode|Tor|TorAlgebra|Toric|ToricHigherDirectImages|ToricInvariants|ToricTopology|ToricVectorBundles|Torsion|TorsionFree|TotalPairs|Tree|TriangularSets|Triangulations|Tries|Trim|Triplets|Tropical|TropicalToric|true|Truncate|Truncations|TSpreadIdeals|TypicalValue|typicalValues|Undo|Unique|Units|Unmixed|Up|UpdateOnly|UpperTriangular|Usage|UseCachedExampleOutput|UseHilbertFunction|UserMode|UseSyzygies|Valuations|Variable|VariableBaseName|Variables|Varieties|Vasconcelos|VectorFields|VectorGraphics|Verbose|Verbosity|Verify|VersalDeformations|Version|version|VerticalSpace|viewHelp|VirtualResolutions|Visualize|VNumber|WebApp|Weights|WeilDivisors|WeylAlgebra|WeylAlgebras|WeylGroups|WhitneyStratifications|Wrap|XML|yonedaSheafExtension)\\b"}]},"comment":{"patterns":[{"name":"comment.line.double-dash.m2","match":"(--).*$","captures":{"1":{"name":"punctuation.definition.comment.m2"}}},{"contentName":"comment.block.m2","begin":"-\\*","end":"\\*-","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.m2"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.m2"}}}]},"fields":{"patterns":[{"name":"entity.name.type.m2","match":"(ZZ|QQ)(\\/\\d+)?"}]},"keywords":{"patterns":[{"name":"keyword.control.m2","match":"(?x)(\\b|^)(SPACE|TEST|and|break|breakpoint|catch|continue|do|elapsedTime|elapsedTiming|else|for|from|global|if|in|list|local|new|not|of|or|profile|return|shield|step|symbol|then|threadLocal|threadVariable|throw|time|timing|to|try|when|while|xor)\\b"},{"name":"keyword.operator.m2","match":"(?x)(\\b|^)(and|not|or)\\b"}]},"math":{"patterns":[{"name":"keyword.operator.arithmetic.m2","match":"(\\+|\\*)"},{"name":"constant.numeric.integer.m2","match":"(?\u003c=\\s)\\d+"}]},"strings":{"patterns":[{"name":"string.quoted.double.m2","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.m2"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.m2"}}},{"name":"string.unquoted.m2","match":"\"///\\(/?/?[^/]\\|\\(//\\)*////[^/]\\)*\\(//\\)*///\""}]}}}
|
data/grammars/source.mask.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"Mask","scopeName":"source.mask","patterns":[{"include":"#comments"},{"include":"#punctuation"},{"include":"#literal-string"},{"include":"#decorator"},{"include":"#import"},{"include":"#xml_markdown"},{"include":"#xml_style"},{"include":"#xml_script"},{"include":"#xml"},{"include":"#define"},{"include":"#tag_javascript"},{"include":"#tag_var"},{"include":"#tag_style"},{"include":"#tag_markdown"},{"include":"#tag"},{"include":"#statement"},{"include":"#node_klass_id"},{"include":"#node_template"},{"include":"#node"}],"repository":{"comments":{"patterns":[{"name":"comment.block.js","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.js"}}},{"name":"comment.line.double-slash.js","match":"(//).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.js"}}}]},"decorator":{"begin":"(\\[)","end":"(\\])","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"keyword"}},"endCaptures":{"1":{"name":"keyword"}}},"define":{"name":"define.mask","begin":"((define|let)\\b)","end":"(?\u003c=[\u003e;\\{\\}])|(?=[\u003e;\\{\\}])|([\u003e;\\{\\}])","patterns":[{"name":"keyword","match":"(as|extends)\\b"},{"name":"punctuation","match":"(,)"},{"name":"entity.other.attribute-name","match":"([\\w_\\-:]+)"},{"name":"variable.parameter","match":"(\\([^\\)]*\\))"}],"beginCaptures":{"1":{"name":"support.constant"}}},"expression":{"patterns":[{"name":"markup.italic","begin":"(\\()","end":"\\)","patterns":[{"include":"#js-expression"},{"include":"source.js"}],"beginCaptures":{"0":{"name":"variable.parameter"}},"endCaptures":{"0":{"name":"variable.parameter"}}}]},"html":{"patterns":[{"name":"syntax.html.mask","begin":"((\\{|\u003e)\\s*('''|\"\"\"))","end":"(('''|\"\"\"))","patterns":[{"include":"text.html.basic"}],"beginCaptures":{"1":{"name":"variable.parameter"}},"endCaptures":{"1":{"name":"variable.parameter"}}}]},"import":{"name":"import.mask","begin":"(import)\\b","end":"(;|(?\u003c=['|\"]))","patterns":[{"name":"keyword","match":"\\b(sync|async|as|from)\\b"},{"name":"punctuation","match":"(,)"},{"include":"#literal-string"}],"beginCaptures":{"1":{"name":"keyword"}}},"interpolation":{"patterns":[{"name":"markup.italic","match":"(?\u003c!\\\\)(~)([\\w\\.]+)","captures":{"1":{"name":"variable.parameter"},"2":{"name":"other.interpolated.mask"}}},{"name":"markup.italic","begin":"(~\\[)","end":"\\]","patterns":[{"name":"keyword.util.mask","match":"(\\s*\\w*\\s*:)"},{"include":"#js-interpolation"},{"include":"source.js"}],"beginCaptures":{"0":{"name":"variable.parameter"}},"endCaptures":{"0":{"name":"variable.parameter"}}}]},"javascript":{"patterns":[{"name":"syntax.js.mask","begin":"\\{","end":"\\}","patterns":[{"include":"#js-block"},{"include":"source.js"}],"beginCaptures":{"0":{"name":"variable.parameter"}},"endCaptures":{"0":{"name":"variable.parameter"}}}]},"js-block":{"patterns":[{"name":"other.interpolated.mask","begin":"\\{","end":"\\}","patterns":[{"include":"#js-block"},{"include":"source.js"}]}]},"js-expression":{"patterns":[{"name":"other.interpolated.mask","begin":"\\(","end":"\\)","patterns":[{"include":"#js-expression"},{"include":"source.js"}]}]},"js-interpolation":{"patterns":[{"name":"other.interpolated.mask","begin":"\\[","end":"\\]","patterns":[{"include":"#js-interpolation"},{"include":"source.js"}]}]},"klass_id":{"name":"node-head.attribute.mask","begin":"([\\.#][\\w_\\-$:]*)","end":"(?=[\\s\\.#])","patterns":[{"include":"#interpolation"},{"name":"entity.other.attribute-name.mask","match":"(([\\w_\\-$]+)(?=[\\s.#]))"}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.markup.bold.mask"}}},"literal-string":{"patterns":[{"name":"literal-string","begin":"(''')","end":"(''')","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"string.quoted.single.js"}},"endCaptures":{"0":{"name":"string.quoted.single.js"}}},{"name":"literal-string","begin":"(\"\"\")","end":"(\"\"\")","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"string.quoted.single.js"}},"endCaptures":{"0":{"name":"string.quoted.single.js"}}},{"name":"literal-string","begin":"(')","end":"(')","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"string.quoted.single.js"}},"endCaptures":{"0":{"name":"string.quoted.single.js"}}},{"name":"literal-string","begin":"(\")","end":"(\")","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"string.quoted.single.js"}},"endCaptures":{"0":{"name":"string.quoted.single.js"}}}]},"markdown":{"name":"syntax.markdown.mask","begin":"((\\{|\u003e)\\s*('''|\"\"\"))","end":"('''|\"\"\")","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"variable.parameter"}},"endCaptures":{"1":{"name":"variable.parameter"}}},"node":{"name":"node.mask","begin":"([^\\s\\.#;\u003e\\{\\(]+)","end":"(?\u003c=[\u003e;\\{\\}])|(?=[\u003e;\\{\\}])|([\u003e;\\{\\}])","patterns":[{"include":"#node_attributes"}],"beginCaptures":{"0":{"name":"entity.name.tag.mask"}}},"node_attribute":{"name":"node.attribute.mask","patterns":[{"include":"#comments"},{"name":"attribute-expression","include":"#expression"},{"name":"attribute-key-value","begin":"([\\w_\\-$]+)(\\s*=\\s*)","end":"([\\s;\u003e\\{])","patterns":[{"include":"#node_attribute_value"}],"beginCaptures":{"1":{"name":"entity.other.attribute-name"},"2":{"name":"keyword.operator.assignment"}}},{"name":"entity.other.attribute-name","match":"([\\w_\\-$:]+)(?=([\\s;\u003e\\{])|$)"}]},"node_attribute_expression":{"name":"meta.group.braces.round","begin":"(\\()","end":"(\\))","patterns":[{"include":"#js-expression"}]},"node_attribute_value":{"patterns":[{"name":"constant.character","match":"(true|false)(?=[\\s\u003e;\\{])"},{"name":"constant.numeric","match":"([\\d\\.]+)(?=[\\s\u003e;\\{])"},{"include":"#literal-string"},{"name":"string.quoted","match":"((\\s*)[^\\s\u003e;\\{]+)"}]},"node_attributes":{"name":"node.attributes.mask","end":"(?\u003c=[\u003e;\\{\\}])","patterns":[{"include":"#klass_id"},{"include":"#node_attribute"}]},"node_klass_id":{"name":"node.head.mask","begin":"(?=[\\.#])","end":"(?\u003c=[\u003e;\\{\\}])|(?=[\u003e;\\{\\}])|([\u003e;\\{\\}])","patterns":[{"include":"#klass_id"},{"include":"#node_attribute"}]},"node_template":{"name":"node.mask","begin":"(@[^\\s\\.#;\u003e\\{]+)","end":"(?\u003c=[\u003e;\\{\\}])|(?=[\u003e;\\{\\}])|([\u003e;\\{\\}])","patterns":[{"include":"#klass_id"},{"include":"#node_attribute"}],"beginCaptures":{"0":{"name":"variable.parameter.mask"}}},"punctuation":{"name":"meta.group.braces","match":"([\u003e;\\{\\}])","patterns":[{"include":"$self"}]},"statement":{"name":"tag.mask","begin":"(if|else|with|each|for|switch|case|\\+if|\\+with|\\+each|\\+for|debugger|log|script|\\:import|\\:template|include)(?=[\\s.#;\\{\\}]|$)","end":"(?\u003c=[\u003e;\\{\\}])|(?=[\u003e;\\{\\}])|([\u003e;\\{\\}])","patterns":[{"include":"#node_attributes"}],"beginCaptures":{"1":{"name":"support.constant"}}},"string-content":{"patterns":[{"name":"constant.character.escape.js","match":"\\\\(x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|.)"},{"include":"#interpolation"},{"name":"string","match":"(.)"}]},"style":{"patterns":[{"name":"syntax.style.mask","begin":"(\\{)","end":"(\\})","patterns":[{"include":"source.css"}],"beginCaptures":{"1":{"name":"variable.parameter"}},"endCaptures":{"1":{"name":"variable.parameter"}}}]},"tag":{"name":"tag.mask","begin":"(a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdo|big|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|dir|div|dl|dt|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|img|input|ins|keygen|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|u|ul|video|wbr|xmp)(?=[\\s.#;\\{\\}]|$)","end":"(?\u003c=[\u003e;\\{\\}])|(?=[\u003e;\\{\\}])|([\u003e;\\{\\}])","patterns":[{"include":"#node_attributes"}],"beginCaptures":{"1":{"name":"storage.type.mask"}}},"tag_javascript":{"name":"slot.mask","begin":"(slot|pipe|event|function|script)\\b","end":"(\\})|(?\u003c=\\})","patterns":[{"name":"keyword","match":"\\b(static|private|public|async|self)\\b"},{"include":"#klass_id"},{"include":"#node_attribute"},{"include":"#javascript"}],"beginCaptures":{"1":{"name":"support.constant"}}},"tag_markdown":{"name":"syntax.markdown.mask","begin":"(md|markdown)\\b","end":"(?\u003c=\\})|(\\})","patterns":[{"include":"#klass_id"},{"include":"#node_attribute"},{"include":"#markdown"}],"beginCaptures":{"1":{"name":"support.constant"}}},"tag_style":{"name":"syntax.style.mask","begin":"(style)\\b","end":"(?\u003c=\\})|(\\})","patterns":[{"include":"#klass_id"},{"include":"#node_attribute"},{"include":"#style"}],"beginCaptures":{"1":{"name":"support.constant"}}},"tag_var":{"name":"var.mask","begin":"(var)\\b","end":"([\\};\\]])|(?\u003c=[\\};\\]])","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"support.constant"}}},"xml":{"name":"syntax.html.mask","begin":"(?=\u003c/?\\s*(\\w+))","end":"(?\u003c=\u003c/\\1\u003e)","patterns":[{"begin":"(\u003cmask\u003e)","end":"(\u003c/mask\u003e)","patterns":[{"include":"source.mask"}]},{"include":"text.html.basic"},{"include":"#xml"}]},"xml_markdown":{"name":"syntax.markdown.mask","begin":"(?i)\u003cmarkdown[^\\\u003e]*\u003e","end":"(?i)\u003c/markdown[^\\\u003e]*\u003e","patterns":[{"include":"source.gfm"}],"beginCaptures":{"0":{"name":"variable.parameter"}},"endCaptures":{"0":{"name":"variable.parameter"}}},"xml_script":{"name":"syntax.markdown.mask","begin":"(?i)\u003cscript[^\\\u003e]*\u003e","end":"(?i)\u003c/script[^\\\u003e]*\u003e","patterns":[{"include":"source.js"}],"beginCaptures":{"0":{"name":"variable.parameter"}},"endCaptures":{"0":{"name":"variable.parameter"}}},"xml_style":{"name":"syntax.markdown.mask","begin":"(?i)\u003cstyle[^\\\u003e]*\u003e","end":"(?i)\u003c/style[^\\\u003e]*\u003e","patterns":[{"include":"source.css"}],"beginCaptures":{"0":{"name":"variable.parameter"}},"endCaptures":{"0":{"name":"variable.parameter"}}}}}
|
|
1
|
+
{"name":"Mask","scopeName":"source.mask","patterns":[{"include":"#comments"},{"include":"#punctuation"},{"include":"#literal-string"},{"include":"#decorator"},{"include":"#import"},{"include":"#xml_markdown"},{"include":"#xml_style"},{"include":"#xml_script"},{"include":"#xml"},{"include":"#define"},{"include":"#tag_javascript"},{"include":"#tag_var"},{"include":"#tag_style"},{"include":"#tag_markdown"},{"include":"#tag"},{"include":"#statement"},{"include":"#node_klass_id"},{"include":"#node_template"},{"include":"#node"}],"repository":{"comments":{"patterns":[{"name":"comment.block.js","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.js"}}},{"name":"comment.line.double-slash.js","match":"(//).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.js"}}}]},"decorator":{"begin":"(\\[)","end":"(\\])","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"keyword"}},"endCaptures":{"1":{"name":"keyword"}}},"define":{"name":"define.mask","begin":"((define|let)\\b)","end":"(?\u003c=[\u003e;\\{\\}])|(?=[\u003e;\\{\\}])|([\u003e;\\{\\}])","patterns":[{"name":"keyword","match":"(as|extends)\\b"},{"name":"punctuation","match":"(,)"},{"name":"entity.other.attribute-name","match":"([\\w_\\-:]+)"},{"name":"variable.parameter","match":"(\\([^\\)]*\\))"}],"beginCaptures":{"1":{"name":"support.constant"}}},"expression":{"patterns":[{"name":"markup.italic","begin":"(\\()","end":"\\)","patterns":[{"include":"#js-expression"},{"include":"source.js"}],"beginCaptures":{"0":{"name":"variable.parameter"}},"endCaptures":{"0":{"name":"variable.parameter"}}}]},"html":{"patterns":[{"name":"syntax.html.mask","begin":"((\\{|\u003e)\\s*('''|\"\"\"))","end":"(('''|\"\"\"))","patterns":[{"include":"text.html.basic"}],"beginCaptures":{"1":{"name":"variable.parameter"}},"endCaptures":{"1":{"name":"variable.parameter"}}}]},"import":{"name":"import.mask","begin":"(import)\\b","end":"(;|(?\u003c=['|\"]))","patterns":[{"name":"keyword","match":"\\b(sync|async|as|from)\\b"},{"name":"punctuation","match":"(,)"},{"include":"#literal-string"}],"beginCaptures":{"1":{"name":"keyword"}}},"interpolation":{"patterns":[{"name":"markup.italic","match":"(?\u003c!\\\\)(~)([\\w\\.]+)","captures":{"1":{"name":"variable.parameter"},"2":{"name":"other.interpolated.mask"}}},{"name":"markup.italic","begin":"(~\\[)","end":"\\]","patterns":[{"name":"keyword.util.mask","match":"(\\s*\\w*\\s*:)"},{"include":"#js-interpolation"},{"include":"source.js"}],"beginCaptures":{"0":{"name":"variable.parameter"}},"endCaptures":{"0":{"name":"variable.parameter"}}}]},"javascript":{"patterns":[{"name":"syntax.js.mask","begin":"\\{","end":"\\}","patterns":[{"include":"#js-block"},{"include":"source.js"}],"beginCaptures":{"0":{"name":"variable.parameter"}},"endCaptures":{"0":{"name":"variable.parameter"}}}]},"js-block":{"patterns":[{"name":"other.interpolated.mask","begin":"\\{","end":"\\}","patterns":[{"include":"#js-block"},{"include":"source.js"}]}]},"js-expression":{"patterns":[{"name":"other.interpolated.mask","begin":"\\(","end":"\\)","patterns":[{"include":"#js-expression"},{"include":"source.js"}]}]},"js-interpolation":{"patterns":[{"name":"other.interpolated.mask","begin":"\\[","end":"\\]","patterns":[{"include":"#js-interpolation"},{"include":"source.js"}]}]},"klass_id":{"name":"node-head.attribute.mask","begin":"([\\.#][\\w_\\-$:]*)","end":"(?=[\\s\\.#])","patterns":[{"include":"#interpolation"},{"name":"entity.other.attribute-name.mask","match":"(([\\w_\\-$]+)(?=[\\s.#]))"}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.markup.bold.mask"}}},"literal-string":{"patterns":[{"name":"literal-string","begin":"(''')","end":"(''')","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"string.quoted.single.js"}},"endCaptures":{"0":{"name":"string.quoted.single.js"}}},{"name":"literal-string","begin":"(\"\"\")","end":"(\"\"\")","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"string.quoted.single.js"}},"endCaptures":{"0":{"name":"string.quoted.single.js"}}},{"name":"literal-string","begin":"(')","end":"(')","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"string.quoted.single.js"}},"endCaptures":{"0":{"name":"string.quoted.single.js"}}},{"name":"literal-string","begin":"(\")","end":"(\")","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"string.quoted.single.js"}},"endCaptures":{"0":{"name":"string.quoted.single.js"}}}]},"markdown":{"name":"syntax.markdown.mask","begin":"((\\{|\u003e)\\s*('''|\"\"\"))","end":"('''|\"\"\")","patterns":[{"include":"text.md"}],"beginCaptures":{"1":{"name":"variable.parameter"}},"endCaptures":{"1":{"name":"variable.parameter"}}},"node":{"name":"node.mask","begin":"([^\\s\\.#;\u003e\\{\\(]+)","end":"(?\u003c=[\u003e;\\{\\}])|(?=[\u003e;\\{\\}])|([\u003e;\\{\\}])","patterns":[{"include":"#node_attributes"}],"beginCaptures":{"0":{"name":"entity.name.tag.mask"}}},"node_attribute":{"name":"node.attribute.mask","patterns":[{"include":"#comments"},{"name":"attribute-expression","include":"#expression"},{"name":"attribute-key-value","begin":"([\\w_\\-$]+)(\\s*=\\s*)","end":"([\\s;\u003e\\{])","patterns":[{"include":"#node_attribute_value"}],"beginCaptures":{"1":{"name":"entity.other.attribute-name"},"2":{"name":"keyword.operator.assignment"}}},{"name":"entity.other.attribute-name","match":"([\\w_\\-$:]+)(?=([\\s;\u003e\\{])|$)"}]},"node_attribute_expression":{"name":"meta.group.braces.round","begin":"(\\()","end":"(\\))","patterns":[{"include":"#js-expression"}]},"node_attribute_value":{"patterns":[{"name":"constant.character","match":"(true|false)(?=[\\s\u003e;\\{])"},{"name":"constant.numeric","match":"([\\d\\.]+)(?=[\\s\u003e;\\{])"},{"include":"#literal-string"},{"name":"string.quoted","match":"((\\s*)[^\\s\u003e;\\{]+)"}]},"node_attributes":{"name":"node.attributes.mask","end":"(?\u003c=[\u003e;\\{\\}])","patterns":[{"include":"#klass_id"},{"include":"#node_attribute"}]},"node_klass_id":{"name":"node.head.mask","begin":"(?=[\\.#])","end":"(?\u003c=[\u003e;\\{\\}])|(?=[\u003e;\\{\\}])|([\u003e;\\{\\}])","patterns":[{"include":"#klass_id"},{"include":"#node_attribute"}]},"node_template":{"name":"node.mask","begin":"(@[^\\s\\.#;\u003e\\{]+)","end":"(?\u003c=[\u003e;\\{\\}])|(?=[\u003e;\\{\\}])|([\u003e;\\{\\}])","patterns":[{"include":"#klass_id"},{"include":"#node_attribute"}],"beginCaptures":{"0":{"name":"variable.parameter.mask"}}},"punctuation":{"name":"meta.group.braces","match":"([\u003e;\\{\\}])","patterns":[{"include":"$self"}]},"statement":{"name":"tag.mask","begin":"(if|else|with|each|for|switch|case|\\+if|\\+with|\\+each|\\+for|debugger|log|script|\\:import|\\:template|include)(?=[\\s.#;\\{\\}]|$)","end":"(?\u003c=[\u003e;\\{\\}])|(?=[\u003e;\\{\\}])|([\u003e;\\{\\}])","patterns":[{"include":"#node_attributes"}],"beginCaptures":{"1":{"name":"support.constant"}}},"string-content":{"patterns":[{"name":"constant.character.escape.js","match":"\\\\(x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|.)"},{"include":"#interpolation"},{"name":"string","match":"(.)"}]},"style":{"patterns":[{"name":"syntax.style.mask","begin":"(\\{)","end":"(\\})","patterns":[{"include":"source.css"}],"beginCaptures":{"1":{"name":"variable.parameter"}},"endCaptures":{"1":{"name":"variable.parameter"}}}]},"tag":{"name":"tag.mask","begin":"(a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdo|big|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|dir|div|dl|dt|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|img|input|ins|keygen|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|u|ul|video|wbr|xmp)(?=[\\s.#;\\{\\}]|$)","end":"(?\u003c=[\u003e;\\{\\}])|(?=[\u003e;\\{\\}])|([\u003e;\\{\\}])","patterns":[{"include":"#node_attributes"}],"beginCaptures":{"1":{"name":"storage.type.mask"}}},"tag_javascript":{"name":"slot.mask","begin":"(slot|pipe|event|function|script)\\b","end":"(\\})|(?\u003c=\\})","patterns":[{"name":"keyword","match":"\\b(static|private|public|async|self)\\b"},{"include":"#klass_id"},{"include":"#node_attribute"},{"include":"#javascript"}],"beginCaptures":{"1":{"name":"support.constant"}}},"tag_markdown":{"name":"syntax.markdown.mask","begin":"(md|markdown)\\b","end":"(?\u003c=\\})|(\\})","patterns":[{"include":"#klass_id"},{"include":"#node_attribute"},{"include":"#markdown"}],"beginCaptures":{"1":{"name":"support.constant"}}},"tag_style":{"name":"syntax.style.mask","begin":"(style)\\b","end":"(?\u003c=\\})|(\\})","patterns":[{"include":"#klass_id"},{"include":"#node_attribute"},{"include":"#style"}],"beginCaptures":{"1":{"name":"support.constant"}}},"tag_var":{"name":"var.mask","begin":"(var)\\b","end":"([\\};\\]])|(?\u003c=[\\};\\]])","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"support.constant"}}},"xml":{"name":"syntax.html.mask","begin":"(?=\u003c/?\\s*(\\w+))","end":"(?\u003c=\u003c/\\1\u003e)","patterns":[{"begin":"(\u003cmask\u003e)","end":"(\u003c/mask\u003e)","patterns":[{"include":"source.mask"}]},{"include":"text.html.basic"},{"include":"#xml"}]},"xml_markdown":{"name":"syntax.markdown.mask","begin":"(?i)\u003cmarkdown[^\\\u003e]*\u003e","end":"(?i)\u003c/markdown[^\\\u003e]*\u003e","patterns":[{"include":"text.md"}],"beginCaptures":{"0":{"name":"variable.parameter"}},"endCaptures":{"0":{"name":"variable.parameter"}}},"xml_script":{"name":"syntax.markdown.mask","begin":"(?i)\u003cscript[^\\\u003e]*\u003e","end":"(?i)\u003c/script[^\\\u003e]*\u003e","patterns":[{"include":"source.js"}],"beginCaptures":{"0":{"name":"variable.parameter"}},"endCaptures":{"0":{"name":"variable.parameter"}}},"xml_style":{"name":"syntax.markdown.mask","begin":"(?i)\u003cstyle[^\\\u003e]*\u003e","end":"(?i)\u003c/style[^\\\u003e]*\u003e","patterns":[{"include":"source.css"}],"beginCaptures":{"0":{"name":"variable.parameter"}},"endCaptures":{"0":{"name":"variable.parameter"}}}}}
|
data/grammars/source.mc.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"Monkey C","scopeName":"source.mc","patterns":[{"include":"#statements"}],"repository":{"access-modifier":{"patterns":[{"name":"storage.modifier.mc","match":"(?\u003c!\\.|\\$)\\b(hidden|static)\\b(?!\\$)"}]},"after-operator-block":{"name":"meta.objectliteral.mc","begin":"(?\u003c=[=(,\\[?+!]|return|throw|in|of|typeof|\u0026\u0026|\\|\\||\\*)\\s*(\\{)","end":"\\}","patterns":[{"include":"#object-member"}],"beginCaptures":{"1":{"name":"punctuation.definition.block.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.block.mc"}}},"array-literal":{"name":"meta.array.literal.mc","begin":"\\[","end":"\\]","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"meta.brace.square.mc"}},"endCaptures":{"0":{"name":"meta.brace.square.mc"}}},"boolean-literal":{"patterns":[{"name":"constant.language.boolean.true.mc","match":"(?\u003c!\\.|\\$)\\btrue\\b(?!\\$)"},{"name":"constant.language.boolean.false.mc","match":"(?\u003c!\\.|\\$)\\bfalse\\b(?!\\$)"}]},"case-clause":{"name":"case-clause.expr.mc","begin":"(?\u003c!\\.|\\$)\\b(case|default(?=:))\\b(?!\\$)","end":":","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.switch.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.section.case-statement.mc"}}},"class-body":{"begin":"\\{","end":"\\}","patterns":[{"include":"#string"},{"include":"#comment"},{"include":"#decorator"},{"include":"#method-declaration"},{"include":"#enum-declaration"},{"include":"#field-declaration"},{"include":"#access-modifier"},{"include":"#after-operator-block"},{"include":"#decl-block"},{"include":"#expression"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.block.mc"}}},"class-declaration":{"name":"meta.class.mc","begin":"(?\u003c!\\.|\\$)\\b(?:(class))\\b","end":"(?\u003c=\\})","patterns":[{"include":"#comment"},{"include":"#class-heritage"},{"match":"[_$[:alpha:]][_$[:alnum:]]*","captures":{"0":{"name":"entity.name.type.class.mc"}}},{"include":"#class-body"}],"beginCaptures":{"1":{"name":"storage.type.class.mc"}},"endCaptures":{"1":{"name":"punctuation.definition.block.mc"}}},"class-heritage":{"begin":"(?\u003c!\\.|\\$)(?:\\b(extends)\\b)(?!\\$)","end":"(?=\\{)","patterns":[{"include":"#comment"},{"include":"#class-heritage"},{"match":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\.)(?=\\s*[_$[:alpha:]][_$[:alnum:]]*(\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)*\\s*([,\u003c{]|extends|//|/\\*))","captures":{"1":{"name":"entity.name.type.module.mc"},"2":{"name":"punctuation.accessor.mc"}}},{"match":"([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*([,\u003c{]|extends|//|/\\*))","captures":{"1":{"name":"entity.other.inherited-class.mc"}}},{"include":"#expression"}],"beginCaptures":{"1":{"name":"storage.modifier.mc"}},"endCaptures":{"1":{"name":"punctuation.definition.block.mc"}}},"comment":{"patterns":[{"name":"comment.block.documentation.mc","begin":"/\\*\\*(?!/)","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.mc"}}},{"name":"comment.block.mc","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.mc"}}},{"begin":"(^[ \\t]+)?(?=//)","end":"(?=$)","patterns":[{"name":"comment.line.double-slash.mc","begin":"//","end":"(?=$)","beginCaptures":{"0":{"name":"punctuation.definition.comment.mc"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.mc"}}}]},"control-statement":{"patterns":[{"name":"keyword.control.trycatch.mc","match":"(?\u003c!\\.|\\$)\\b(catch|finally|throw|try)\\b(?!\\$)"},{"name":"keyword.control.loop.mc","match":"(?\u003c!\\.|\\$)\\b(break|continue|do|while)\\b(?!\\$)"},{"name":"keyword.control.flow.mc","match":"(?\u003c!\\.|\\$)\\b(return)\\b(?!\\$)"},{"name":"keyword.control.switch.mc","match":"(?\u003c!\\.|\\$)\\b(case|default|switch)\\b(?!\\$)"},{"name":"keyword.control.conditional.mc","match":"(?\u003c!\\.|\\$)\\b(else|if)\\b(?!\\$)"}]},"decl-block":{"name":"meta.block.mc","begin":"\\{","end":"\\}","patterns":[{"include":"#statements"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.block.mc"}}},"declaration":{"name":"meta.declaration.mc","patterns":[{"include":"#decorator"},{"include":"#var-expr"},{"include":"#function-declaration"},{"include":"#class-declaration"},{"include":"#enum-declaration"},{"include":"#namespace-declaration"},{"include":"#import-declaration"}]},"decorator":{"name":"meta.decorator.mc","patterns":[{"match":"(?\u003c!\\.|\\$)(\\(:([_$[:alpha:]][_$[:alnum:]]*)\\))","captures":{"0":{"name":"storage.type.decorator.mc"}}}]},"enum-declaration":{"name":"meta.enum.declaration.mc","begin":"(?\u003c!\\.|\\$)\\b(enum)\\b","end":"(?\u003c=\\})","patterns":[{"include":"#comment"},{"begin":"\\{","end":"\\}","patterns":[{"include":"#comment"},{"begin":"([_$[:alpha:]][_$[:alnum:]]*)","end":"(?=,|\\}|$)","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}],"beginCaptures":{"0":{"name":"variable.other.enummember.mc"}}},{"begin":"(?=((\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\])))","end":"(?=,|\\}|$)","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#comment"},{"include":"#variable-initializer"}]},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.block.mc"}}}],"beginCaptures":{"1":{"name":"storage.type.enum.mc"}}},"expression":{"name":"meta.expression.mc","patterns":[{"include":"#string"},{"include":"#comment"},{"include":"#literal"},{"include":"#function-declaration"},{"include":"#class-declaration"},{"include":"#ternary-expression"},{"include":"#new-expr"},{"include":"#object-literal"},{"include":"#expression-operators"},{"include":"#function-call"},{"include":"#support-objects"},{"include":"#identifiers"},{"include":"#paren-expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"}]},"expression-operators":{"patterns":[{"name":"keyword.operator.expression.instanceof.mc","match":"(?\u003c!\\.|\\$)\\binstanceof\\b(?!\\$)"},{"name":"keyword.operator.expression.has.mc","match":"(?\u003c!\\.|\\$)\\bhas\\b(?!\\$)"},{"name":"keyword.operator.new.mc","match":"(?\u003c!\\.|\\$)\\bnew\\b(?!\\$)"},{"name":"keyword.operator.expression.void.mc","match":"(?\u003c!\\.|\\$)\\bvoid\\b(?!\\$)"},{"name":"keyword.operator.assignment.compound.mc","match":"\\*=|(?\u003c!\\()/=|%=|\\+=|\\-="},{"name":"keyword.operator.assignment.compound.bitwise.mc","match":"\\\u0026=|\\^=|\u003c\u003c=|\u003e\u003e=|\\|="},{"name":"keyword.operator.bitwise.shift.mc","match":"\u003c\u003c|\u003e\u003e"},{"name":"keyword.operator.comparison.mc","match":"==|!="},{"name":"keyword.operator.relational.mc","match":"\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e"},{"name":"keyword.operator.logical.mc","match":"\\!|\u0026\u0026|\\|\\|"},{"name":"keyword.operator.expression.logical.mc","match":"(?\u003c!\\.|\\$)\\band|or|not\\b(?!\\$)"},{"name":"keyword.operator.bitwise.mc","match":"\\\u0026|~|\\^|\\|"},{"name":"keyword.operator.assignment.mc","match":"\\="},{"name":"keyword.operator.decrement.mc","match":"--"},{"name":"keyword.operator.increment.mc","match":"\\+\\+"},{"name":"keyword.operator.arithmetic.mc","match":"%|\\*|/|-|\\+"},{"match":"(?\u003c=[_$[:alnum:])])\\s*(/)(?![/*])","captures":{"1":{"name":"keyword.operator.arithmetic.mc"}}}]},"field-declaration":{"name":"meta.field.declaration.mc","begin":"(?\u003c!\\()(?:(?\u003c!\\.|\\$)\\b(const|var)\\s+)(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\?\\s*)?(=)?)","end":"(?=\\}|;|,|$)|(?\u003c=\\})","patterns":[{"include":"#variable-initializer"}],"beginCaptures":{"1":{"name":"storage.type.mc"}}},"for-loop":{"begin":"(?\u003c!\\.|\\$)\\b(for)\\s*(\\()","end":"\\)","patterns":[{"include":"#var-expr"},{"include":"#expression"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"1":{"name":"keyword.control.loop.mc"},"2":{"name":"meta.brace.round.mc"}},"endCaptures":{"0":{"name":"meta.brace.round.mc"}}},"function-call":{"begin":"(?=(\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\()","end":"(?\u003c=\\))(?!(\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\()","patterns":[{"include":"#support-objects"},{"include":"#punctuation-accessor"},{"name":"entity.name.function.mc","match":"([_$[:alpha:]][_$[:alnum:]]*)"},{"include":"#comment"},{"include":"#paren-expression"}]},"function-declaration":{"name":"meta.function.mc","begin":"(?\u003c!\\.|\\$)\\b(function\\b)(?:(?:\\s+|(?\u003c=\\*))([_$[:alpha:]][_$[:alnum:]]*))?\\s*","end":"(?=$|;|\\})|(?\u003c=\\})","patterns":[{"include":"#comment"},{"include":"#function-parameters"},{"include":"#decl-block"}],"beginCaptures":{"1":{"name":"storage.type.function.mc"},"2":{"name":"entity.name.function.mc"}}},"function-parameters":{"name":"meta.parameters.mc","begin":"\\(","end":"\\)","patterns":[{"include":"#comment"},{"include":"#decorator"},{"include":"#parameter-name"},{"include":"#variable-initializer"},{"name":"punctuation.separator.parameter.mc","match":","}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.mc"}}},"identifiers":{"patterns":[{"name":"support.class.mc","match":"([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*\\.\\s*prototype\\b(?!\\$))"},{"match":"(?x)(\\.)\\s*(?:\n ([[:upper:]][_$[:digit:][:upper:]]*) |\n ([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"punctuation.accessor.mc"},"2":{"name":"variable.other.constant.object.property.mc"},"3":{"name":"variable.other.object.property.mc"}}},{"match":"(?x)(?:(\\.)\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*=\\s*(\n (function\\s*[(\u003c])|(function\\s+)|\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=\u003e)|\n ([(]\\s*(([)]\\s*:)|([_$[:alpha:]][_$[:alnum:]]*\\s*:) )) |\n ([\u003c]\\s*[_$[:alpha:]][_$[:alnum:]]*((\\s+extends\\s*[^=\u003e])|(\\s*[,]))) |\n ((\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=\u003e)))","captures":{"1":{"name":"punctuation.accessor.mc"},"2":{"name":"entity.name.function.mc"}}},{"match":"(\\.)\\s*([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])","captures":{"1":{"name":"punctuation.accessor.mc"},"2":{"name":"variable.other.constant.property.mc"}}},{"match":"(\\.)\\s*([_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"punctuation.accessor.mc"},"2":{"name":"variable.other.property.mc"}}},{"match":"(?x)(?:\n ([[:upper:]][_$[:digit:][:upper:]]*) |\n ([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"variable.other.constant.object.mc"},"2":{"name":"variable.other.object.mc"}}},{"name":"variable.other.constant.mc","match":"([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])"},{"name":"variable.other.readwrite.mc","match":"[_$[:alpha:]][_$[:alnum:]]*"}]},"import-declaration":{"name":"meta.import.mc","begin":"(?\u003c!\\.|\\$)\\b(using)(?!(\\s*:)|(\\$))\\b","end":"(?=;|$)","patterns":[{"include":"#import-export-declaration"}],"beginCaptures":{"1":{"name":"keyword.control.import.mc"}}},"import-export-clause":{"patterns":[{"include":"#comment"},{"match":"(?x) ([_$[:alpha:]][_$[:alnum:]]*) \\s+ \n (as) \\s+ ([_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"variable.other.readwrite.mc"},"2":{"name":"keyword.control.as.mc"},"3":{"name":"entity.name.type.alias.mc"}}},{"include":"#punctuation-comma"},{"name":"constant.language.import-export-all.mc","match":"\\*"},{"name":"keyword.control.default.mc","match":"\\b(default)\\b"},{"name":"variable.other.readwrite.alias.mc","match":"([_$[:alpha:]][_$[:alnum:]]*)"}]},"import-export-declaration":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#import-export-clause"}]},"literal":{"name":"literal.mc","patterns":[{"include":"#numeric-literal"},{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#numericConstant-literal"},{"include":"#array-literal"}]},"method-declaration":{"name":"meta.method.declaration.mc","begin":"(?\u003c!\\.|\\$)(?:\\b(hidden)\\s+)?(?:\\b(function)\\s+)(?:(?:\\b(?:(initialize)|(initialize))\\b(?!\\$|:))|(?:(\\*)\\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))?\\s*[\\(\\\u003c]))","end":"(?=\\}|;|,|$)|(?\u003c=\\})","patterns":[{"include":"#method-declaration-name"},{"include":"#comment"},{"include":"#function-parameters"},{"include":"#decl-block"}],"beginCaptures":{"1":{"name":"storage.modifier.mc"},"2":{"name":"storage.type.function.mc"},"3":{"name":"keyword.operator.new.mc"},"4":{"name":"storage.type.mc"},"5":{"name":"keyword.generator.asterisk.mc"}}},"method-declaration-name":{"begin":"(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??)\\s*[\\(\\\u003c])","end":"(?=\\(|\\\u003c)","patterns":[{"include":"#string"},{"include":"#array-literal"},{"name":"entity.name.function.mc","match":"[_$[:alpha:]][_$[:alnum:]]*"}]},"namespace-declaration":{"name":"meta.namespace.declaration.mc","begin":"(?\u003c!\\.|\\$)\\b(module)\\s+(?=[_$[:alpha:]\"'`])","end":"(?=$|\\{)","patterns":[{"include":"#comment"},{"include":"#string"},{"name":"entity.name.type.module.mc","match":"([_$[:alpha:]][_$[:alnum:]]*)"},{"include":"#punctuation-accessor"}],"beginCaptures":{"1":{"name":"storage.type.namespace.mc"}}},"new-expr":{"name":"new.expr.mc","begin":"(?\u003c!\\.|\\$)\\b(new)\\b(?!\\$)","end":"(?\u003c=\\))|(?=[;),}]|$|((?\u003c!\\.|\\$)\\bnew\\b(?!\\$)))","patterns":[{"include":"#paren-expression"},{"include":"#class-declaration"},{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.new.mc"}}},"null-literal":{"patterns":[{"name":"constant.language.null.mc","match":"(?\u003c!\\.|\\$)\\bnull\\b(?!\\$)"}]},"numeric-literal":{"patterns":[{"name":"constant.numeric.hex.mc","match":"\\b(?\u003c!\\$)0(x|X)[0-9a-fA-F]+\\b(?!\\$)"},{"name":"constant.numeric.binary.mc","match":"\\b(?\u003c!\\$)0(b|B)[01]+\\b(?!\\$)"},{"name":"constant.numeric.octal.mc","match":"\\b(?\u003c!\\$)0(o|O)?[0-7]+\\b(?!\\$)"},{"match":"(?x)\n(?\u003c!\\$)(?:\n (?:\\b[0-9]+(\\.)[0-9]+[eE][+-]?[0-9]+[ld]?\\b)| # 1.1E+3\n (?:\\b[0-9]+(\\.)[eE][+-]?[0-9]+[ld]?\\b)| # 1.E+3\n (?:\\B(\\.)[0-9]+[eE][+-]?[0-9]+[ld]?\\b)| # .1E+3\n (?:\\b[0-9]+[eE][+-]?[0-9]+[ld]?\\b)| # 1E+3\n (?:\\b[0-9]+(\\.)[0-9]+[ld]?\\b)| # 1.1\n (?:\\b[0-9]+(\\.)[ld]?\\B)| # 1.\n (?:\\B(\\.)[0-9]+[ld]?\\b)| # .1\n (?:\\b[0-9]+[ld]?\\b(?!\\.)) # 1\n)(?!\\$)","captures":{"0":{"name":"constant.numeric.decimal.mc"},"1":{"name":"meta.delimiter.decimal.period.mc"},"2":{"name":"meta.delimiter.decimal.period.mc"},"3":{"name":"meta.delimiter.decimal.period.mc"},"4":{"name":"meta.delimiter.decimal.period.mc"},"5":{"name":"meta.delimiter.decimal.period.mc"},"6":{"name":"meta.delimiter.decimal.period.mc"}}}]},"numericConstant-literal":{"patterns":[{"name":"constant.language.nan.mc","match":"(?\u003c!\\.|\\$)\\bNaN\\b(?!\\$)"}]},"object-literal":{"name":"meta.objectliteral.mc","begin":"\\{","end":"\\}","patterns":[{"include":"#object-member"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.block.mc"}}},"object-member":{"patterns":[{"include":"#comment"},{"name":"meta.object.member.mc","begin":"(?:[:_$[:alpha:]][_$[:alnum:]]*)\\s*(=\u003e)","end":"(?=,|\\})","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"meta.object-literal.key.mc"},"1":{"name":"punctuation.separator.key-value.mc"}}},{"include":"#punctuation-comma"}]},"parameter-name":{"patterns":[{"match":"\\s*\\b(hidden)(?=\\s+(hidden)\\s+)","captures":{"1":{"name":"storage.modifier.mc"}}},{"match":"(?x)(?:\\s*\\b(hidden|static)\\s+)?(\\.\\.\\.)?\\s*(?\u003c!=|:)([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\??)(?=\\s*\n (=\\s*(\n (function\\s*[(\u003c]) |\n (function\\s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=\u003e) |\n ([(]\\s*(([)]\\s*:)|([_$[:alpha:]][_$[:alnum:]]*\\s*:)|(\\.\\.\\.) )) |\n ([\u003c]\\s*[_$[:alpha:]][_$[:alnum:]]*((\\s+extends\\s*[^=\u003e])|(\\s*[,]))) |\n ((\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=\u003e))\n ) |\n (:\\s*(\n (\u003c) |\n ([(]\\s*(\n ([)]) |\n (\\.\\.\\.) |\n ([_$[:alnum:]]+\\s*(\n ([:,?=])|\n ([)]\\s*=\u003e)\n ))\n )))\n )\n)","captures":{"1":{"name":"storage.modifier.mc"},"2":{"name":"keyword.operator.rest.mc"},"3":{"name":"entity.name.function.mc"},"4":{"name":"keyword.operator.optional.mc"}}},{"match":"(?:\\s*\\b(hidden|static)\\s+)?\\s*(?\u003c!=|:)([_$[:alpha:]][_$[:alnum:]]*)\\s*","captures":{"1":{"name":"storage.modifier.mc"},"2":{"name":"keyword.operator.rest.mc"},"3":{"name":"variable.parameter.mc"}}}]},"paren-expression":{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"meta.brace.round.mc"}},"endCaptures":{"0":{"name":"meta.brace.round.mc"}}},"punctuation-accessor":{"name":"punctuation.accessor.mc","match":"\\."},"punctuation-comma":{"name":"punctuation.separator.comma.mc","match":","},"punctuation-semicolon":{"name":"punctuation.terminator.statement.mc","match":";"},"qstring-double":{"name":"string.quoted.double.mc","begin":"\"","end":"(\")|((?:[^\\\\\\n])$)","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mc"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mc"},"2":{"name":"invalid.illegal.newline.mc"}}},"qstring-single":{"name":"string.quoted.single.mc","begin":"'","end":"(\\')|((?:[^\\\\\\n])$)","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mc"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mc"},"2":{"name":"invalid.illegal.newline.mc"}}},"statements":{"patterns":[{"include":"#string"},{"include":"#comment"},{"include":"#literal"},{"include":"#declaration"},{"include":"#switch-statement"},{"include":"#for-loop"},{"include":"#after-operator-block"},{"include":"#decl-block"},{"include":"#control-statement"},{"include":"#expression"},{"include":"#punctuation-semicolon"}]},"string":{"patterns":[{"include":"#qstring-single"},{"include":"#qstring-double"}]},"string-character-escape":{"name":"constant.character.escape.mc","match":"\\\\(x[[:xdigit:]]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"},"support-objects":{"patterns":[{"match":"(?x)(?\u003c!\\.|\\$)\\b(Math)(?:\\s*(\\.)\\s*(?:\n (abs|acos|acosh|asin|asinh|atan|atan2|atanh|cbrt|ceil|clz32|cos|cosh|exp|\n expm1|floor|fround|hypot|imul|log|log10|log1p|log2|max|min|pow|random|\n round|sign|sin|sinh|sqrt|tan|tanh|trunc)\n |\n (E|LN10|LN2|LOG10E|LOG2E|PI|SQRT1_2|SQRT2)))?\\b(?!\\$)","captures":{"1":{"name":"support.constant.math.mc"},"2":{"name":"punctuation.accessor.mc"},"3":{"name":"support.function.math.mc"},"4":{"name":"support.constant.property.math.mc"}}},{"match":"(?x)(?\u003c!\\.|\\$)\\b(System)(?:\\s*(\\.)\\s*(\n print|println|getTimer|getClockTime|getSystemStats|trap|exit|error))?\\b(?!\\$)","captures":{"1":{"name":"support.class.system.mc"},"2":{"name":"punctuation.accessor.mc"},"3":{"name":"support.function.system.mc"}}},{"match":"(?x) (\\.) \\s* \n(?:\n (method)\n)(?=\\s*\\()","captures":{"1":{"name":"punctuation.accessor.js"},"2":{"name":"support.function.js"}}}]},"switch-block":{"name":"switch-block.expr.mc","begin":"\\{","end":"(?=\\})","patterns":[{"include":"#case-clause"},{"include":"#statements"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.mc"}}},"switch-expression":{"name":"switch-expression.expr.mc","begin":"(?\u003c!\\.|\\$)\\b(switch)\\s*(\\()","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.switch.mc"},"2":{"name":"meta.brace.round.mc"}},"endCaptures":{"0":{"name":"meta.brace.round.mc"}}},"switch-statement":{"name":"switch-statement.expr.mc","begin":"(?\u003c!\\.|\\$)(?=\\bswitch\\s*\\()","end":"\\}","patterns":[{"include":"#switch-expression"},{"include":"#switch-block"}],"endCaptures":{"0":{"name":"punctuation.definition.block.mc"}}},"ternary-expression":{"begin":"(\\?)","end":"(:)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.ternary.mc"}},"endCaptures":{"0":{"name":"keyword.operator.ternary.mc"}}},"type":{"name":"meta.type.mc","patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#type-builtin-literals"},{"include":"#type-fn-type-parameters"},{"include":"#type-paren-or-function-parameters"},{"include":"#type-name"}]},"type-builtin-literals":{"name":"support.type.builtin.mc","match":"(?\u003c!\\.|\\$)\\b(this|true|false|null)\\b(?!\\$)"},"type-fn-type-parameters":{"patterns":[{"name":"meta.type.constructor.mc","match":"(?\u003c!\\.|\\$)\\b(new)\\b(?=\\s*\\\u003c)","captures":{"1":{"name":"keyword.control.new.mc"}}},{"name":"meta.type.constructor.mc","begin":"(?\u003c!\\.|\\$)\\b(new)\\b\\s*(?=\\()","end":"(?\u003c=\\))","patterns":[{"include":"#function-parameters"}],"beginCaptures":{"1":{"name":"keyword.control.new.mc"}}},{"name":"meta.type.function.mc","begin":"(?\u003c=\\\u003e)\\s*(?=\\()","end":"(?\u003c=\\))","patterns":[{"include":"#function-parameters"}]},{"name":"meta.type.function.mc","begin":"(?x)(\n (?=\n [(]\\s*(\n ([)]) | \n (\\.\\.\\.) |\n ([_$[:alnum:]]+\\s*(\n ([:,?=])|\n ([)]\\s*=\u003e)\n ))\n )\n )\n)","end":"(?\u003c=\\))","patterns":[{"include":"#function-parameters"}]}]},"type-name":{"patterns":[{"match":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\.)","captures":{"1":{"name":"entity.name.type.module.mc"},"2":{"name":"punctuation.accessor.mc"}}},{"name":"entity.name.type.mc","match":"[_$[:alpha:]][_$[:alnum:]]*"}]},"type-paren-or-function-parameters":{"name":"meta.type.paren.cover.mc","begin":"\\(","end":"\\)","patterns":[{"include":"#type"},{"include":"#function-parameters"}],"beginCaptures":{"0":{"name":"meta.brace.round.mc"}},"endCaptures":{"0":{"name":"meta.brace.round.mc"}}},"var-expr":{"name":"meta.var.expr.mc","begin":"(?\u003c!\\.|\\$)\\b(var|const(?!\\s+enum\\b))\\b(?!\\$)","end":"(?=$|;|})","patterns":[{"include":"#var-single-variable"},{"include":"#variable-initializer"},{"include":"#comment"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"storage.type.mc"}}},"var-single-variable":{"patterns":[{"name":"meta.var-single-variable.expr.mc","begin":"(?x)([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*\n (=\\s*(\n (function\\s*[(\u003c]) |\n (function\\s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=\u003e) |\n ([(]\\s*(([)]\\s*:)|([_$[:alpha:]][_$[:alnum:]]*\\s*:)|(\\.\\.\\.) )) |\n ([\u003c]\\s*[_$[:alpha:]][_$[:alnum:]]*((\\s+extends\\s*[^=\u003e])|(\\s*[,]))) |\n ((\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=\u003e))\n ) |\n (:\\s*(\n (\u003c) |\n ([(]\\s*(\n ([)]) |\n (\\.\\.\\.) |\n ([_$[:alnum:]]+\\s*(\n ([:,?=])|\n ([)]\\s*=\u003e)\n ))\n )))\n )\n)","end":"(?=$|[;,=}]|(\\s+(of|in)\\s+))","patterns":[{"include":"#string"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"entity.name.function.mc"}}},{"name":"meta.var-single-variable.expr.mc","begin":"([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])","end":"(?=$|[;,=}]|(\\s+(of|in)\\s+))","beginCaptures":{"1":{"name":"variable.other.constant.mc"}}},{"name":"meta.var-single-variable.expr.mc","begin":"([_$[:alpha:]][_$[:alnum:]]*)","end":"(?=$|[;,=}]|(\\s+(of|in)\\s+))","patterns":[{"include":"#string"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"variable.other.readwrite.mc"}}}]},"variable-initializer":{"patterns":[{"begin":"(?\u003c!=|!)(=)(?!=)(?=\\s*\\S)","end":"(?=$|[,);}\\]])","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.mc"}}},{"begin":"(?\u003c!=|!)(=)(?!=)","end":"(?=[,);}\\]])|(?=^\\s*$)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.mc"}}}]}}}
|
|
1
|
+
{"name":"Monkey C","scopeName":"source.mc","patterns":[{"include":"#statements"}],"repository":{"access-modifier":{"patterns":[{"name":"storage.modifier.mc","match":"(?\u003c!\\.|\\$)\\b(hidden|static|public|private|protected)\\b(?!\\$)"}]},"after-operator-block":{"name":"meta.objectliteral.mc","begin":"(?\u003c=[=(,\\[?+!]|return|throw|in|of|typeof|\u0026\u0026|\\|\\||\\*)\\s*(\\{)","end":"\\}","patterns":[{"include":"#object-member"}],"beginCaptures":{"1":{"name":"punctuation.definition.block.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.block.mc"}}},"array-literal":{"name":"meta.array.literal.mc","begin":"\\[","end":"\\]","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"meta.brace.square.mc"}},"endCaptures":{"0":{"name":"meta.brace.square.mc"}}},"boolean-literal":{"patterns":[{"name":"constant.language.boolean.true.mc","match":"(?\u003c!\\.|\\$)\\btrue\\b(?!\\$)"},{"name":"constant.language.boolean.false.mc","match":"(?\u003c!\\.|\\$)\\bfalse\\b(?!\\$)"}]},"case-clause":{"name":"case-clause.expr.mc","begin":"(?\u003c!\\.|\\$)\\b(case|default(?=:))\\b(?!\\$)","end":":","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.switch.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.section.case-statement.mc"}}},"class-body":{"begin":"\\{","end":"\\}","patterns":[{"include":"#string"},{"include":"#comment"},{"include":"#decorator"},{"include":"#method-declaration"},{"include":"#enum-declaration"},{"include":"#field-declaration"},{"include":"#access-modifier"},{"include":"#after-operator-block"},{"include":"#decl-block"},{"include":"#expression"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.block.mc"}}},"class-declaration":{"name":"meta.class.mc","begin":"(?\u003c!\\.|\\$)\\b(?:(class))\\b","end":"(?\u003c=\\})","patterns":[{"include":"#comment"},{"include":"#class-heritage"},{"match":"[_$[:alpha:]][_$[:alnum:]]*","captures":{"0":{"name":"entity.name.type.class.mc"}}},{"include":"#class-body"}],"beginCaptures":{"1":{"name":"storage.type.class.mc"}},"endCaptures":{"1":{"name":"punctuation.definition.block.mc"}}},"class-heritage":{"begin":"(?\u003c!\\.|\\$)(?:\\b(extends)\\b)(?!\\$)","end":"(?=\\{)","patterns":[{"include":"#comment"},{"include":"#class-heritage"},{"match":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\.)(?=\\s*[_$[:alpha:]][_$[:alnum:]]*(\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)*\\s*([,\u003c{]|extends|//|/\\*))","captures":{"1":{"name":"entity.name.type.module.mc"},"2":{"name":"punctuation.accessor.mc"}}},{"match":"([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*([,\u003c{]|extends|//|/\\*))","captures":{"1":{"name":"entity.other.inherited-class.mc"}}},{"include":"#expression"}],"beginCaptures":{"1":{"name":"storage.modifier.mc"}},"endCaptures":{"1":{"name":"punctuation.definition.block.mc"}}},"comment":{"patterns":[{"name":"comment.block.documentation.mc","begin":"/\\*\\*(?!/)","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.mc"}}},{"name":"comment.block.mc","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.mc"}}},{"begin":"(^[ \\t]+)?(?=//)","end":"(?=$)","patterns":[{"name":"comment.line.double-slash.mc","begin":"//","end":"(?=$)","beginCaptures":{"0":{"name":"punctuation.definition.comment.mc"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.mc"}}}]},"control-statement":{"patterns":[{"name":"keyword.control.typedef.mc","match":"(?\u003c!\\.|\\$)\\b(typedef)\\b(?!\\$)"},{"name":"keyword.control.trycatch.mc","match":"(?\u003c!\\.|\\$)\\b(catch|finally|throw|try)\\b(?!\\$)"},{"name":"keyword.control.loop.mc","match":"(?\u003c!\\.|\\$)\\b(break|continue|do|while)\\b(?!\\$)"},{"name":"keyword.control.flow.mc","match":"(?\u003c!\\.|\\$)\\b(return)\\b(?!\\$)"},{"name":"keyword.control.switch.mc","match":"(?\u003c!\\.|\\$)\\b(case|default|switch)\\b(?!\\$)"},{"name":"keyword.control.conditional.mc","match":"(?\u003c!\\.|\\$)\\b(else|if)\\b(?!\\$)"}]},"decl-block":{"name":"meta.block.mc","begin":"\\{","end":"\\}","patterns":[{"include":"#statements"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.block.mc"}}},"declaration":{"name":"meta.declaration.mc","patterns":[{"include":"#decorator"},{"include":"#access-modifier"},{"include":"#var-expr"},{"include":"#function-declaration"},{"include":"#class-declaration"},{"include":"#enum-declaration"},{"include":"#namespace-declaration"},{"include":"#import-declaration"}]},"decorator":{"name":"meta.decorator.mc","patterns":[{"match":"(?\u003c!\\.|\\$)(\\(:([_$[:alpha:]][_$[:alnum:]]*)\\))","captures":{"0":{"name":"storage.type.decorator.mc"}}}]},"enum-declaration":{"name":"meta.enum.declaration.mc","begin":"(?\u003c!\\.|\\$)\\b(enum)\\b","end":"(?\u003c=\\})","patterns":[{"include":"#comment"},{"begin":"\\{","end":"\\}","patterns":[{"include":"#comment"},{"begin":"([_$[:alpha:]][_$[:alnum:]]*)","end":"(?=,|\\}|$)","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}],"beginCaptures":{"0":{"name":"variable.other.enummember.mc"}}},{"begin":"(?=((\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\])))","end":"(?=,|\\}|$)","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#comment"},{"include":"#variable-initializer"}]},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.block.mc"}}}],"beginCaptures":{"1":{"name":"storage.type.enum.mc"}}},"expression":{"name":"meta.expression.mc","patterns":[{"include":"#string"},{"include":"#comment"},{"include":"#literal"},{"include":"#function-declaration"},{"include":"#class-declaration"},{"include":"#ternary-expression"},{"include":"#new-expr"},{"include":"#object-literal"},{"include":"#expression-operators"},{"include":"#function-call"},{"include":"#support-objects"},{"include":"#identifiers"},{"include":"#paren-expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"}]},"expression-operators":{"patterns":[{"name":"keyword.operator.expression.instanceof.mc","match":"(?\u003c!\\.|\\$)\\binstanceof\\b(?!\\$)"},{"name":"keyword.control.has.mc","match":"(?\u003c!\\.|\\$)\\bhas\\b(?!\\$)"},{"name":"keyword.control.as.mc","match":"(?\u003c!\\.|\\$)\\bas\\b(?!\\$)"},{"name":"keyword.operator.new.mc","match":"(?\u003c!\\.|\\$)\\bnew\\b(?!\\$)"},{"name":"keyword.operator.expression.void.mc","match":"(?\u003c!\\.|\\$)\\bvoid\\b(?!\\$)"},{"name":"keyword.operator.assignment.compound.mc","match":"\\*=|(?\u003c!\\()/=|%=|\\+=|\\-="},{"name":"keyword.operator.assignment.compound.bitwise.mc","match":"\\\u0026=|\\^=|\u003c\u003c=|\u003e\u003e=|\\|="},{"name":"keyword.operator.bitwise.shift.mc","match":"\u003c\u003c|\u003e\u003e"},{"name":"keyword.operator.comparison.mc","match":"==|!="},{"name":"keyword.operator.relational.mc","match":"\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e"},{"name":"keyword.operator.logical.mc","match":"\\!|\u0026\u0026|\\|\\|"},{"name":"keyword.operator.expression.logical.mc","match":"(?\u003c!\\.|\\$)\\band|or|not\\b(?!\\$)"},{"name":"keyword.operator.bitwise.mc","match":"\\\u0026|~|\\^|\\|"},{"name":"keyword.operator.assignment.mc","match":"\\="},{"name":"keyword.operator.decrement.mc","match":"--"},{"name":"keyword.operator.increment.mc","match":"\\+\\+"},{"name":"keyword.operator.arithmetic.mc","match":"%|\\*|/|-|\\+"},{"match":"(?\u003c=[_$[:alnum:])])\\s*(/)(?![/*])","captures":{"1":{"name":"keyword.operator.arithmetic.mc"}}}]},"field-declaration":{"name":"meta.field.declaration.mc","begin":"(?\u003c!\\()(?:(?\u003c!\\.|\\$)\\b(const|var)\\s+)(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\?\\s*)?(=)?)","end":"(?=\\}|;|,|$)|(?\u003c=\\})","patterns":[{"include":"#type-clause"},{"include":"#variable-initializer"}],"beginCaptures":{"1":{"name":"storage.type.mc"}}},"for-loop":{"begin":"(?\u003c!\\.|\\$)\\b(for)\\s*(\\()","end":"\\)","patterns":[{"include":"#var-expr"},{"include":"#expression"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"1":{"name":"keyword.control.loop.mc"},"2":{"name":"meta.brace.round.mc"}},"endCaptures":{"0":{"name":"meta.brace.round.mc"}}},"function-call":{"begin":"(?=(\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\()","end":"(?\u003c=\\))(?!(\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\()","patterns":[{"name":"storage.type.builtin.mc","match":"(?\u003c!\\.|\\$)\\b(Number|Float|Double|Long|Boolean|String|Char|Symbol|Array|Dictionary|Method|Null|Object|WeakReference|Void)\\b(?!\\$)"},{"include":"#support-objects"},{"include":"#punctuation-accessor"},{"name":"entity.name.function.mc","match":"([_$[:alpha:]][_$[:alnum:]]*)"},{"include":"#comment"},{"include":"#paren-expression"}]},"function-declaration":{"name":"meta.function.mc","begin":"(?\u003c!\\.|\\$)\\b(function\\b)(?:(?:\\s+|(?\u003c=\\*))([_$[:alpha:]][_$[:alnum:]]*))?\\s*","end":"(?=$|;|\\})|(?\u003c=\\})","patterns":[{"include":"#comment"},{"include":"#function-parameters"},{"include":"#type-clause"},{"include":"#decl-block"}],"beginCaptures":{"1":{"name":"storage.type.function.mc"},"2":{"name":"entity.name.function.mc"}}},"function-parameters":{"name":"meta.parameters.mc","begin":"\\(","end":"\\)","patterns":[{"include":"#comment"},{"include":"#decorator"},{"include":"#type-dictionary"},{"include":"#parameter-name"},{"include":"#type-clause"},{"include":"#variable-initializer"},{"name":"punctuation.separator.parameter.mc","match":","}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.mc"}}},"identifiers":{"patterns":[{"name":"storage.type.builtin.mc","match":"(?\u003c!\\.|\\$)\\b(Number|Float|Double|Long|Boolean|String|Char|Symbol|Array|Dictionary|Method|Null|Object|WeakReference|Void)\\b(?!\\$)"},{"name":"support.class.mc","match":"([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*\\.\\s*prototype\\b(?!\\$))"},{"match":"(?x)(\\.)\\s*(?:\n ([[:upper:]][_$[:digit:][:upper:]]*) |\n ([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"punctuation.accessor.mc"},"2":{"name":"variable.other.constant.object.property.mc"},"3":{"name":"variable.other.object.property.mc"}}},{"match":"(?x)(?:(\\.)\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*=\\s*(\n (function\\s*[(\u003c])|(function\\s+)|\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=\u003e)|\n ([(]\\s*(([)]\\s*:)|([_$[:alpha:]][_$[:alnum:]]*\\s*:) )) |\n ([\u003c]\\s*[_$[:alpha:]][_$[:alnum:]]*((\\s+extends\\s*[^=\u003e])|(\\s*[,]))) |\n ((\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=\u003e)))","captures":{"1":{"name":"punctuation.accessor.mc"},"2":{"name":"entity.name.function.mc"}}},{"match":"(\\.)\\s*([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])","captures":{"1":{"name":"punctuation.accessor.mc"},"2":{"name":"variable.other.constant.property.mc"}}},{"match":"(\\.)\\s*([_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"punctuation.accessor.mc"},"2":{"name":"variable.other.property.mc"}}},{"match":"(?x)(?:\n ([[:upper:]][_$[:digit:][:upper:]]*) |\n ([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"variable.other.constant.object.mc"},"2":{"name":"variable.other.object.mc"}}},{"name":"variable.other.constant.mc","match":"([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])"},{"name":"variable.other.readwrite.mc","match":"[_$[:alpha:]][_$[:alnum:]]*"}]},"import-declaration":{"name":"meta.import.mc","begin":"(?\u003c!\\.|\\$)\\b(using|import)(?!(\\s*:)|(\\$))\\b","end":"(?=;|$)","patterns":[{"include":"#import-export-declaration"}],"beginCaptures":{"1":{"name":"keyword.control.import.mc"}}},"import-export-clause":{"patterns":[{"include":"#comment"},{"match":"(?x) ([_$[:alpha:]][_$[:alnum:]]*) \\s+ \n (as) \\s+ ([_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"variable.other.readwrite.mc"},"2":{"name":"keyword.control.as.mc"},"3":{"name":"entity.name.type.alias.mc"}}},{"include":"#punctuation-comma"},{"name":"constant.language.import-export-all.mc","match":"\\*"},{"name":"keyword.control.default.mc","match":"\\b(default)\\b"},{"name":"variable.other.readwrite.alias.mc","match":"([_$[:alpha:]][_$[:alnum:]]*)"}]},"import-export-declaration":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#import-export-clause"}]},"literal":{"name":"literal.mc","patterns":[{"include":"#numeric-literal"},{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#numericConstant-literal"},{"include":"#array-literal"}]},"method-declaration":{"name":"meta.method.declaration.mc","begin":"(?\u003c!\\.|\\$)(?:\\b(hidden|public|private|protected)\\s+)?(?:\\b(function)\\s+)(?:(?:\\b(?:(initialize)|(initialize))\\b(?!\\$|:))|(?:(\\*)\\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))?\\s*[\\(\\\u003c]))","end":"(?=\\}|;|,|$)|(?\u003c=\\})","patterns":[{"include":"#method-declaration-name"},{"include":"#comment"},{"include":"#function-parameters"},{"include":"#type-clause"},{"include":"#decl-block"}],"beginCaptures":{"1":{"name":"storage.modifier.mc"},"2":{"name":"storage.type.function.mc"},"3":{"name":"keyword.operator.new.mc"},"4":{"name":"storage.type.mc"},"5":{"name":"keyword.generator.asterisk.mc"}}},"method-declaration-name":{"begin":"(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??)\\s*[\\(\\\u003c])","end":"(?=\\(|\\\u003c)","patterns":[{"include":"#string"},{"include":"#array-literal"},{"name":"entity.name.function.mc","match":"[_$[:alpha:]][_$[:alnum:]]*"}]},"namespace-declaration":{"name":"meta.namespace.declaration.mc","begin":"(?\u003c!\\.|\\$)\\b(module)\\s+(?=[_$[:alpha:]\"'`])","end":"(?=$|\\{)","patterns":[{"include":"#comment"},{"include":"#string"},{"name":"entity.name.type.module.mc","match":"([_$[:alpha:]][_$[:alnum:]]*)"},{"include":"#punctuation-accessor"}],"beginCaptures":{"1":{"name":"storage.type.namespace.mc"}}},"new-expr":{"name":"new.expr.mc","begin":"(?\u003c!\\.|\\$)\\b(new)\\b(?!\\$)","end":"(?\u003c=\\))|(?=[;),}]|$|((?\u003c!\\.|\\$)\\bnew\\b(?!\\$)))","patterns":[{"include":"#paren-expression"},{"include":"#class-declaration"},{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.new.mc"}}},"null-literal":{"patterns":[{"name":"constant.language.null.mc","match":"(?\u003c!\\.|\\$)\\bnull\\b(?!\\$)"}]},"numeric-literal":{"patterns":[{"name":"constant.numeric.hex.mc","match":"\\b(?\u003c!\\$)0(x|X)[0-9a-fA-F]+\\b(?!\\$)"},{"name":"constant.numeric.binary.mc","match":"\\b(?\u003c!\\$)0(b|B)[01]+\\b(?!\\$)"},{"name":"constant.numeric.octal.mc","match":"\\b(?\u003c!\\$)0(o|O)?[0-7]+\\b(?!\\$)"},{"match":"(?x)\n(?\u003c!\\$)(?:\n (?:\\b[0-9]+(\\.)[0-9]+[eE][+-]?[0-9]+[ld]?\\b)| # 1.1E+3\n (?:\\b[0-9]+(\\.)[eE][+-]?[0-9]+[ld]?\\b)| # 1.E+3\n (?:\\B(\\.)[0-9]+[eE][+-]?[0-9]+[ld]?\\b)| # .1E+3\n (?:\\b[0-9]+[eE][+-]?[0-9]+[ld]?\\b)| # 1E+3\n (?:\\b[0-9]+(\\.)[0-9]+[ld]?\\b)| # 1.1\n (?:\\b[0-9]+(\\.)[ld]?\\B)| # 1.\n (?:\\B(\\.)[0-9]+[ld]?\\b)| # .1\n (?:\\b[0-9]+[ld]?\\b(?!\\.)) # 1\n)(?!\\$)","captures":{"0":{"name":"constant.numeric.decimal.mc"},"1":{"name":"meta.delimiter.decimal.period.mc"},"2":{"name":"meta.delimiter.decimal.period.mc"},"3":{"name":"meta.delimiter.decimal.period.mc"},"4":{"name":"meta.delimiter.decimal.period.mc"},"5":{"name":"meta.delimiter.decimal.period.mc"},"6":{"name":"meta.delimiter.decimal.period.mc"}}}]},"numericConstant-literal":{"patterns":[{"name":"constant.language.nan.mc","match":"(?\u003c!\\.|\\$)\\bNaN\\b(?!\\$)"}]},"object-literal":{"name":"meta.objectliteral.mc","begin":"\\{","end":"\\}","patterns":[{"include":"#object-member"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.block.mc"}}},"object-member":{"patterns":[{"include":"#comment"},{"name":"meta.object.member.mc","begin":"(:[_$[:alpha:]][_$[:alnum:]]*)\\s*(=\u003e)","end":"(?=,|\\})","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"constant.other.symbol.mc"},"2":{"name":"punctuation.separator.key-value.mc"}}},{"name":"meta.object.member.mc","begin":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(=\u003e)","end":"(?=,|\\})","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"meta.object-literal.key.mc"},"2":{"name":"punctuation.separator.key-value.mc"}}},{"include":"#punctuation-comma"}]},"parameter-name":{"patterns":[{"match":"\\s*\\b(hidden)(?=\\s+(hidden)\\s+)","captures":{"1":{"name":"storage.modifier.mc"}}},{"match":"(?:\\s*\\b(hidden|static|public|private|protected)\\s+)?\\s*(?\u003c!=|:)([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*(as|,|\\)|=))","captures":{"1":{"name":"storage.modifier.mc"},"2":{"name":"variable.parameter.mc"}}}]},"paren-expression":{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"meta.brace.round.mc"}},"endCaptures":{"0":{"name":"meta.brace.round.mc"}}},"punctuation-accessor":{"name":"punctuation.accessor.mc","match":"\\."},"punctuation-comma":{"name":"punctuation.separator.comma.mc","match":","},"punctuation-semicolon":{"name":"punctuation.terminator.statement.mc","match":";"},"qstring-double":{"name":"string.quoted.double.mc","begin":"\"","end":"(\")|((?:[^\\\\\\n])$)","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mc"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mc"},"2":{"name":"invalid.illegal.newline.mc"}}},"qstring-single":{"name":"string.quoted.single.mc","begin":"'","end":"(\\')|((?:[^\\\\\\n])$)","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mc"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mc"},"2":{"name":"invalid.illegal.newline.mc"}}},"statements":{"patterns":[{"include":"#string"},{"include":"#comment"},{"include":"#literal"},{"include":"#declaration"},{"include":"#switch-statement"},{"include":"#for-loop"},{"include":"#after-operator-block"},{"include":"#decl-block"},{"include":"#control-statement"},{"include":"#expression"},{"include":"#punctuation-semicolon"}]},"string":{"patterns":[{"include":"#qstring-single"},{"include":"#qstring-double"}]},"string-character-escape":{"name":"constant.character.escape.mc","match":"\\\\(x[[:xdigit:]]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"},"support-objects":{"patterns":[{"match":"(?x)(?\u003c!\\.|\\$)\\b(Math)(?:\\s*(\\.)\\s*(?:\n (abs|acos|acosh|asin|asinh|atan|atan2|atanh|cbrt|ceil|clz32|cos|cosh|exp|\n expm1|floor|fround|hypot|imul|log|log10|log1p|log2|max|min|pow|random|\n round|sign|sin|sinh|sqrt|tan|tanh|trunc)\n |\n (E|LN10|LN2|LOG10E|LOG2E|PI|SQRT1_2|SQRT2)))?\\b(?!\\$)","captures":{"1":{"name":"support.constant.math.mc"},"2":{"name":"punctuation.accessor.mc"},"3":{"name":"support.function.math.mc"},"4":{"name":"support.constant.property.math.mc"}}},{"match":"(?x)(?\u003c!\\.|\\$)\\b(System)(?:\\s*(\\.)\\s*(\n print|println|getTimer|getClockTime|getSystemStats|trap|exit|error))?\\b(?!\\$)","captures":{"1":{"name":"support.class.system.mc"},"2":{"name":"punctuation.accessor.mc"},"3":{"name":"support.function.system.mc"}}},{"match":"(?x) (\\.) \\s* \n(?:\n (method)\n)(?=\\s*\\()","captures":{"1":{"name":"punctuation.accessor.js"},"2":{"name":"support.function.js"}}}]},"switch-block":{"name":"switch-block.expr.mc","begin":"\\{","end":"(?=\\})","patterns":[{"include":"#case-clause"},{"include":"#statements"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.mc"}}},"switch-expression":{"name":"switch-expression.expr.mc","begin":"(?\u003c!\\.|\\$)\\b(switch)\\s*(\\()","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.switch.mc"},"2":{"name":"meta.brace.round.mc"}},"endCaptures":{"0":{"name":"meta.brace.round.mc"}}},"switch-statement":{"name":"switch-statement.expr.mc","begin":"(?\u003c!\\.|\\$)(?=\\bswitch\\s*\\()","end":"\\}","patterns":[{"include":"#switch-expression"},{"include":"#switch-block"}],"endCaptures":{"0":{"name":"punctuation.definition.block.mc"}}},"ternary-expression":{"begin":"(\\?)","end":"(:)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.ternary.mc"}},"endCaptures":{"0":{"name":"keyword.operator.ternary.mc"}}},"type":{"name":"meta.type.mc","patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#type-builtin-literals"},{"include":"#type-fn-type-parameters"},{"include":"#type-paren-or-function-parameters"},{"include":"#type-name"}]},"type-builtin-literals":{"name":"storage.type.builtin.mc","match":"(?\u003c!\\.|\\$)\\b(this|true|false|null|Number|Float|Double|Long|Boolean|String|Char|Symbol|Array|Dictionary|Method|Object|WeakReference|Void)\\b(?!\\$)"},"type-clause":{"begin":"(?\u003c!\\.|\\$)\\b(as)\\b(?!\\$)","end":"(?=[;,={)])|(?=^\\s*$)","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.control.as.mc"}}},"type-dictionary":{"name":"meta.type.dictionary.mc","begin":"\\{","end":"\\}","patterns":[{"include":"#comment"},{"name":"constant.other.symbol.mc","match":"(:[_$[:alpha:]][_$[:alnum:]]*)"},{"include":"#type-clause"},{"name":"punctuation.separator.parameter.mc","match":","}],"beginCaptures":{"0":{"name":"meta.brace.curly.mc"}},"endCaptures":{"0":{"name":"meta.brace.curly.mc"}}},"type-fn-type-parameters":{"patterns":[{"name":"meta.type.constructor.mc","match":"(?\u003c!\\.|\\$)\\b(new)\\b(?=\\s*\\\u003c)","captures":{"1":{"name":"keyword.control.new.mc"}}},{"name":"meta.type.constructor.mc","begin":"(?\u003c!\\.|\\$)\\b(new)\\b\\s*(?=\\()","end":"(?\u003c=\\))","patterns":[{"include":"#function-parameters"}],"beginCaptures":{"1":{"name":"keyword.control.new.mc"}}},{"name":"meta.type.function.mc","begin":"(?\u003c=\\\u003e)\\s*(?=\\()","end":"(?\u003c=\\))","patterns":[{"include":"#function-parameters"}]},{"name":"meta.type.function.mc","begin":"(?x)(\n (?=\n [(]\\s*(\n ([)]) | \n (\\.\\.\\.) |\n ([_$[:alnum:]]+\\s*(\n ([:,?=])|\n ([)]\\s*=\u003e)\n ))\n )\n )\n)","end":"(?\u003c=\\))","patterns":[{"include":"#function-parameters"}]}]},"type-name":{"patterns":[{"match":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\.)","captures":{"1":{"name":"entity.name.type.module.mc"},"2":{"name":"punctuation.accessor.mc"}}},{"name":"entity.name.type.mc","match":"[_$[:alpha:]][_$[:alnum:]]*"}]},"type-paren-or-function-parameters":{"name":"meta.type.paren.cover.mc","begin":"\\(","end":"\\)","patterns":[{"include":"#type"},{"include":"#function-parameters"}],"beginCaptures":{"0":{"name":"meta.brace.round.mc"}},"endCaptures":{"0":{"name":"meta.brace.round.mc"}}},"var-expr":{"name":"meta.var.expr.mc","begin":"(?\u003c!\\.|\\$)\\b(var|const(?!\\s+enum\\b))\\b(?!\\$)","end":"(?=$|;|})","patterns":[{"include":"#var-single-variable"},{"include":"#type-clause"},{"include":"#variable-initializer"},{"include":"#comment"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"storage.type.mc"}}},"var-single-variable":{"patterns":[{"name":"meta.var-single-variable.expr.mc","begin":"(?x)([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*\n (=\\s*(\n (function\\s*[(\u003c]) |\n (function\\s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=\u003e) |\n ([(]\\s*(([)]\\s*:)|([_$[:alpha:]][_$[:alnum:]]*\\s*:)|(\\.\\.\\.) )) |\n ([\u003c]\\s*[_$[:alpha:]][_$[:alnum:]]*((\\s+extends\\s*[^=\u003e])|(\\s*[,]))) |\n ((\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=\u003e))\n ) |\n (:\\s*(\n (\u003c) |\n ([(]\\s*(\n ([)]) |\n (\\.\\.\\.) |\n ([_$[:alnum:]]+\\s*(\n ([:,?=])|\n ([)]\\s*=\u003e)\n ))\n )))\n )\n)","end":"(?=\\s*(as|of|in|=|[;,}]))","beginCaptures":{"1":{"name":"entity.name.function.mc"}}},{"name":"meta.var-single-variable.expr.mc","begin":"([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])","end":"(?=\\s*(as|of|in|=|[;,}]))","beginCaptures":{"1":{"name":"variable.other.constant.mc"}}},{"name":"meta.var-single-variable.expr.mc","begin":"([_$[:alpha:]][_$[:alnum:]]*)","end":"(?=\\s*(as|of|in|=|[;,}]))","beginCaptures":{"1":{"name":"variable.other.readwrite.mc"}}}]},"variable-initializer":{"patterns":[{"begin":"(?\u003c!=|!)(=)(?!=)(?=\\s*\\S)","end":"(?=$|[,);}\\]])","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.mc"}}},{"begin":"(?\u003c!=|!)(=)(?!=)","end":"(?=[,);}\\]])|(?=^\\s*$)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.mc"}}}]}}}
|