@shikijs/langs-precompiled 4.0.1 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/luau.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"Luau",fileTypes:["luau"],name:"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:[{captures:{"1":{name:"keyword.operator.attribute.luau"},"2":{name:"storage.type.attribute.luau"}},match:/(@)([A-Z_a-z][0-9A-Z_a-z]*)/dgv,name:"meta.attribute.luau"}]},comment:{patterns:[{begin:/--\[(=*)\[/dgv,end:/\]\1\]()/dgv,name:"comment.block.luau",patterns:[{begin:/(```luau?)\p{space}+/dgv,beginCaptures:{"1":{name:"comment.luau"}},end:/(```)/dgv,endCaptures:{"1":{name:"comment.luau"}},name:"keyword.operator.other.luau",patterns:[{include:"source.luau"}]},{include:"#doc_comment_tags"}]},{begin:/---/dgv,end:/\n/dgv,name:"comment.line.double-dash.documentation.luau",patterns:[{include:"#doc_comment_tags"}]},{begin:/--/dgv,end:/\n/dgv,name:"comment.line.double-dash.luau"}]},doc_comment_tags:{patterns:[{match:/@[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"storage.type.class.luadoc.luau"},{captures:{"1":{name:"storage.type.class.luadoc.luau"},"2":{name:"variable.parameter.luau"}},match:/((?<=[\!\*\/\p{space}])[\@\\]param)\p{space}+\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv}]},"for-loop":{begin:/\b(for)\b/dgv,beginCaptures:{"1":{name:"keyword.control.luau"}},end:/\b(in)\b|(=)/dgv,endCaptures:{"1":{name:"keyword.control.luau"},"2":{name:"keyword.operator.assignment.luau"}},patterns:[{begin:/(:)/dgv,beginCaptures:{"1":{name:"keyword.operator.type.luau"}},end:/(?=\p{space}*in\b|\p{space}*[\,\=]|\p{space}*(?=\n?$))/dgv,patterns:[{include:"#type_literal"}]},{match:/\b([A-Z_a-z][0-9A-Z_a-z]*)\b/dgv,name:"variable.parameter.luau"}]},"function-definition":{begin:/\b(?:(local)\p{space}+)?(function)\b(?![\,\:])/dgv,beginCaptures:{"1":{name:"storage.modifier.local.luau"},"2":{name:"keyword.control.luau"}},end:/(?<=[\-\]"'\)\[\{\}])/dgv,name:"meta.function.luau",patterns:[{include:"#comment"},{include:"#generics-declaration"},{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.luau"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.luau"}},name:"meta.parameter.luau",patterns:[{include:"#comment"},{match:/\.\.\./dgv,name:"variable.parameter.function.varargs.luau"},{match:/[A-Z_a-z][0-9A-Z_a-z]*/dgv,name:"variable.parameter.function.luau"},{match:/,/dgv,name:"punctuation.separator.arguments.luau"},{begin:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.type.luau"}},end:/(?=[\)\,])/dgv,patterns:[{include:"#type_literal"}]}]},{match:/\b(__(?:add|call|concat|div|eq|index|len??|lt|metatable|mode??|mul|newindex|pow|sub|tostring|unm|iter|idiv))\b/dgv,name:"variable.language.metamethod.luau"},{match:/\b([A-Z_a-z][0-9A-Z_a-z]*)\b/dgv,name:"entity.name.function.luau"}]},"generics-declaration":{begin:/(<)/dgv,end:/(>)/dgv,patterns:[{match:/[A-Z_a-z][0-9A-Z_a-z]*/dgv,name:"entity.name.type.luau"},{match:/=/dgv,name:"keyword.operator.assignment.luau"},{include:"#type_literal"}]},identifier:{patterns:[{match:/\b([A-Z_a-z][0-9A-Z_a-z]*)\b(?=\p{space}*(?:["'\(\{]|\[\[))/dgv,name:"entity.name.function.luau"},{match:/(?<=[^\.]\.|:)\b([A-Z_a-z][0-9A-Z_a-z]*)\b/dgv,name:"variable.other.property.luau"},{match:/\b([A-Z_][0-9A-Z_]*)\b/dgv,name:"variable.other.constant.luau"},{match:/\b([A-Z_a-z][0-9A-Z_a-z]*)\b/dgv,name:"variable.other.readwrite.luau"}]},interpolated_string_expression:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.interpolated-string-expression.begin.luau"}},contentName:"meta.embedded.line.luau",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.interpolated-string-expression.end.luau"}},name:"meta.template.expression.luau",patterns:[{include:"source.luau"}]},keyword:{patterns:[{match:/\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\b/dgv,name:"keyword.control.luau"},{match:/\b(local)\b/dgv,name:"storage.modifier.local.luau"},{match:/\b(function)\b(?![\,\:])/dgv,name:"keyword.control.luau"},{match:/(?<![^\.]\.|:)\b(self)\b/dgv,name:"variable.language.self.luau"},{match:/\b(and|or|not)\b/dgv,name:"keyword.operator.logical.luau keyword.operator.wordlike.luau"},{match:/(?<=[^\.]\.|:)\b(__(?:add|call|concat|div|eq|index|len??|lt|metatable|mode??|mul|newindex|pow|sub|tostring|unm))\b/dgv,name:"variable.language.metamethod.luau"},{match:/(?<!\.)\.{3}(?!\.)/dgv,name:"keyword.other.unit.luau"}]},language_constant:{patterns:[{match:/(?<![^\.]\.|:)\b(false)\b/dgv,name:"constant.language.boolean.false.luau"},{match:/(?<![^\.]\.|:)\b(true)\b/dgv,name:"constant.language.boolean.true.luau"},{match:/(?<![^\.]\.|:)\b(nil(?!:))\b/dgv,name:"constant.language.nil.luau"}]},"local-declaration":{begin:/\b(local)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.local.luau"}},end:/(?=\p{space}*do\b|\p{space}*[\;\=]|\p{space}*(?=\n?$))/dgv,patterns:[{include:"#comment"},{include:"#attribute"},{begin:/(:)/dgv,beginCaptures:{"1":{name:"keyword.operator.type.luau"}},end:/(?=\p{space}*do\b|\p{space}*[\,\;\=]|\p{space}*(?=\n?$))/dgv,patterns:[{include:"#type_literal"}]},{match:/\b([A-Z_][0-9A-Z_]*)\b/dgv,name:"variable.other.constant.luau"},{match:/\b([A-Z_a-z][0-9A-Z_a-z]*)\b/dgv,name:"variable.other.readwrite.luau"}]},number:{patterns:[{match:/\b0_*[Xx]_*[A-F_a-f\p{Nd}]*(?:[Ee][\-\+]?_*\p{Nd}[_\p{Nd}]*(?:\.[_\p{Nd}]*)?)?/dgv,name:"constant.numeric.hex.luau"},{match:/\b0_*[Bb][01_]+(?:[Ee][\-\+]?_*\p{Nd}[_\p{Nd}]*(?:\.[_\p{Nd}]*)?)?/dgv,name:"constant.numeric.binary.luau"},{match:/(?:\p{Nd}[_\p{Nd}]*(?:\.[_\p{Nd}]*)?|\.\p{Nd}[_\p{Nd}]*)(?:[Ee][\-\+]?_*\p{Nd}[_\p{Nd}]*(?:\.[_\p{Nd}]*)?)?/dgv,name:"constant.numeric.decimal.luau"}]},operator:{patterns:[{match:/==|~=|!=|<=?|>=?/dgv,name:"keyword.operator.comparison.luau"},{match:/(?:[\-\+]|\/\/??|[\%\*\^]|\.\.|)=/dgv,name:"keyword.operator.assignment.luau"},{match:/[\-\%\*\+]|\/\/|[\/\^]/dgv,name:"keyword.operator.arithmetic.luau"},{match:/#|(?<!\.)\.{2}(?!\.)/dgv,name:"keyword.operator.other.luau"}]},parentheses:{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.arguments.begin.luau"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.arguments.end.luau"}},patterns:[{match:/,/dgv,name:"punctuation.separator.arguments.luau"},{include:"source.luau"}]},shebang:{captures:{"1":{name:"punctuation.definition.comment.luau"}},match:/^(#!)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.shebang.luau"},standard_library:{patterns:[{match:/(?<![^\.]\.|:)\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/dgv,name:"support.function.luau"},{match:/(?<![^\.]\.|:)\b(_(?:G|VERSION))\b/dgv,name:"constant.language.luau"},{match:/(?<![^\.]\.|:)\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|atan2??|ceil|clamp|cosh??|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|noise|pow|rad|random|randomseed|round|sign|sinh??|sqrt|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|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/dgv,name:"support.function.luau"},{match:/(?<![^\.]\.|:)\b(bit32|buffer|coroutine|debug|math(\.(huge|pi))?|os|string|table|task|utf8(\.charpattern)?|vector(\.(one|zero))?)\b/dgv,name:"support.constant.luau"},{match:/(?<![^\.]\.|:)\b(delay|DebuggerManager|elapsedTime|PluginManager|printidentity|settings|spawn|stats|tick|time|UserSettings|version|wait|warn)\b/dgv,name:"support.function.luau"},{match:/(?<![^\.]\.|:)\b(game|plugin|shared|script|workspace|Enum(?:\.[\p{L}\p{M}\p{N}\p{Pc}]+){0,2})\b/dgv,name:"constant.language.luau"}]},string:{patterns:[{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.luau",patterns:[{include:"#string_escape"}]},{begin:/'/dgv,end:/'/dgv,name:"string.quoted.single.luau",patterns:[{include:"#string_escape"}]},{begin:/\[(=*)\[/dgv,end:/\]\1\]()/dgv,name:"string.other.multiline.luau"},{begin:/`/dgv,end:/`/dgv,name:"string.interpolated.luau",patterns:[{include:"#interpolated_string_expression"},{include:"#string_escape"}]}]},string_escape:{patterns:[{match:/\\["'\\\`abfnrtvz\{]/dgv,name:"constant.character.escape.luau"},{match:/\\\p{Nd}{1,3}/dgv,name:"constant.character.escape.luau"},{match:/\\x\p{AHex}{2}/dgv,name:"constant.character.escape.luau"},{match:/\\u\{\p{AHex}*\}/dgv,name:"constant.character.escape.luau"},{match:/\\(?=\n?$)/dgv,name:"constant.character.escape.luau"}]},table:{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.table.begin.luau"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.table.end.luau"}},patterns:[{match:/[\,\;]/dgv,name:"punctuation.separator.fields.luau"},{include:"source.luau"}]},"type-alias-declaration":{begin:/^\b(?:(export)\p{space}+)?(type)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.visibility.luau"},"2":{name:"storage.type.luau"}},end:/(?=\p{space}*(?=\n?$))|(?=\p{space}*;)/dgv,patterns:[{include:"#type_literal"},{match:/=/dgv,name:"keyword.operator.assignment.luau"}]},"type-function":{begin:/^\b(?:(export)\p{space}+)?(type)\p{space}+(function)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.visibility.luau"},"2":{name:"storage.type.luau"},"3":{name:"keyword.control.luau"}},end:/(?<=[\-\]"'\)\[\{\}])/dgv,name:"meta.function.luau",patterns:[{include:"#comment"},{include:"#generics-declaration"},{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.luau"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.luau"}},name:"meta.parameter.luau",patterns:[{include:"#comment"},{match:/\.\.\./dgv,name:"variable.parameter.function.varargs.luau"},{match:/[A-Z_a-z][0-9A-Z_a-z]*/dgv,name:"variable.parameter.function.luau"},{match:/,/dgv,name:"punctuation.separator.arguments.luau"},{begin:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.type.luau"}},end:/(?=[\)\,])/dgv,patterns:[{include:"#type_literal"}]}]},{match:/\b([A-Z_a-z][0-9A-Z_a-z]*)\b/dgv,name:"entity.name.type.luau"}]},type_annotation:{begin:/:(?!\b([A-Z_a-z][0-9A-Z_a-z]*)\b(?=\p{space}*(?:["'\(\{]|\[\[)))/dgv,end:/(?<=\))(?!\p{space}*->)|[\;\=]|(?=\n?$)|(?=\breturn\b)|(?=\bend\b)/dgv,patterns:[{include:"#comment"},{include:"#type_literal"}]},type_cast:{begin:/(::)/dgv,beginCaptures:{"1":{name:"keyword.operator.typecast.luau"}},end:/(?=^|[\-\]\)\+\,\:\;\>\?\}](?!\p{space}*[\&\|])|(?=\n?$)|\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\b)/dgv,patterns:[{include:"#type_literal"}]},type_literal:{patterns:[{include:"#comment"},{include:"#string"},{match:/[\&\?\|]/dgv,name:"keyword.operator.type.luau"},{match:/->/dgv,name:"keyword.operator.type.function.luau"},{match:/\b(false)\b/dgv,name:"constant.language.boolean.false.luau"},{match:/\b(true)\b/dgv,name:"constant.language.boolean.true.luau"},{match:/\b(nil|string|number|boolean|thread|userdata|symbol|vector|buffer|unknown|never|any)\b/dgv,name:"support.type.primitive.luau"},{begin:/\b(typeof)\b(\()/dgv,beginCaptures:{"1":{name:"support.function.luau"},"2":{name:"punctuation.arguments.begin.typeof.luau"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.arguments.end.typeof.luau"}},patterns:[{include:"source.luau"}]},{begin:/(<)/dgv,beginCaptures:{"1":{name:"punctuation.definition.typeparameters.begin.luau"}},end:/(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.typeparameters.end.luau"}},patterns:[{match:/=/dgv,name:"keyword.operator.assignment.luau"},{include:"#type_literal"}]},{match:/\b([A-Z_a-z][0-9A-Z_a-z]*)\b/dgv,name:"entity.name.type.luau"},{begin:/\{/dgv,end:/\}/dgv,patterns:[{begin:/\[/dgv,end:/\]/dgv,patterns:[{include:"#type_literal"}]},{captures:{"1":{name:"storage.modifier.access.luau"},"2":{name:"variable.property.luau"},"3":{name:"keyword.operator.type.luau"}},match:/\b(?:(read|write)\p{space}+)?([A-Z_a-z][0-9A-Z_a-z]*)\b(:)/dgv},{include:"#type_literal"},{match:/[\,\;]/dgv,name:"punctuation.separator.fields.type.luau"}]},{begin:/\(/dgv,end:/\)/dgv,patterns:[{captures:{"1":{name:"variable.parameter.luau"},"2":{name:"keyword.operator.type.luau"}},match:/\b([A-Z_a-z][0-9A-Z_a-z]*)\b(:)/dgv,name:"variable.parameter.luau"},{include:"#type_literal"}]}]}},scopeName:"source.luau",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"Luau",fileTypes:["luau"],name:"luau",patterns:[{include:"#function-definition"},{include:"#number"},{include:"#string"},{include:"#shebang"},{include:"#comment"},{include:"#local-declaration"},{include:"#const-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:[{captures:{"1":{name:"keyword.operator.attribute.luau"},"2":{name:"storage.type.attribute.luau"}},match:/(@)([A-Z_a-z][0-9A-Z_a-z]*)/dgv,name:"meta.attribute.luau"}]},comment:{patterns:[{begin:/--\[(=*)\[/dgv,end:/\]\1\]()/dgv,name:"comment.block.luau",patterns:[{begin:/(```luau?)\p{space}*(?=\n?$)/dgv,beginCaptures:{"1":{name:"comment.luau"}},name:"keyword.operator.other.luau",patterns:[{include:"source.luau"}],while:/^(?!\p{space}*```)/dgv},{captures:{"1":{name:"comment.luau"}},match:/(```)/dgv,name:"keyword.operator.other.luau"},{include:"#doc_comment_tags"}]},{begin:/---/dgv,end:/\n/dgv,name:"comment.line.double-dash.documentation.luau",patterns:[{include:"#doc_comment_tags"}]},{begin:/--/dgv,end:/\n/dgv,name:"comment.line.double-dash.luau"}]},"const-declaration":{begin:/\b(const)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.const.luau"}},end:/(?=\p{space}*[\;\=]|\p{space}*(?=\n?$))/dgv,patterns:[{include:"#comment"},{include:"#attribute"},{begin:/(:)/dgv,beginCaptures:{"1":{name:"keyword.operator.type.luau"}},end:/(?=\p{space}*[\,\;\=]|\p{space}*(?=\n?$))/dgv,patterns:[{include:"#type_literal"}]},{match:/\b([A-Z_][0-9A-Z_]*)\b/dgv,name:"variable.other.constant.luau"},{match:/\b([A-Z_a-z][0-9A-Z_a-z]*)\b/dgv,name:"variable.other.readwrite.luau"}]},doc_comment_tags:{patterns:[{match:/@[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"storage.type.class.luadoc.luau"},{captures:{"1":{name:"storage.type.class.luadoc.luau"},"2":{name:"variable.parameter.luau"}},match:/((?<=[\!\*\/\p{space}])[\@\\]param)\p{space}+\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv}]},"for-loop":{begin:/\b(for)\b/dgv,beginCaptures:{"1":{name:"keyword.control.luau"}},end:/\b(in)\b|(=)/dgv,endCaptures:{"1":{name:"keyword.control.luau"},"2":{name:"keyword.operator.assignment.luau"}},patterns:[{begin:/(:)/dgv,beginCaptures:{"1":{name:"keyword.operator.type.luau"}},end:/(?=\p{space}*in\b|\p{space}*[\,\=]|\p{space}*(?=\n?$))/dgv,patterns:[{include:"#type_literal"}]},{match:/\b([A-Z_a-z][0-9A-Z_a-z]*)\b/dgv,name:"variable.parameter.luau"}]},"function-definition":{begin:/\b(?:(local)\p{space}+|(const)\p{space}+)?(function)\b(?![\,\:])/dgv,beginCaptures:{"1":{name:"storage.modifier.local.luau"},"2":{name:"storage.modifier.const.luau"},"3":{name:"keyword.control.luau"}},end:/(?<=[\-\]"'\)\[\{\}])/dgv,name:"meta.function.luau",patterns:[{include:"#comment"},{include:"#generics-declaration"},{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.luau"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.luau"}},name:"meta.parameter.luau",patterns:[{include:"#comment"},{match:/\.\.\./dgv,name:"variable.parameter.function.varargs.luau"},{match:/[A-Z_a-z][0-9A-Z_a-z]*/dgv,name:"variable.parameter.function.luau"},{match:/,/dgv,name:"punctuation.separator.arguments.luau"},{begin:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.type.luau"}},end:/(?=[\)\,])/dgv,patterns:[{include:"#type_literal"}]}]},{match:/\b(__(?:add|call|concat|div|eq|index|len??|lt|metatable|mode??|mul|newindex|pow|sub|tostring|unm|iter|idiv))\b/dgv,name:"variable.language.metamethod.luau"},{match:/\b([A-Z_a-z][0-9A-Z_a-z]*)\b/dgv,name:"entity.name.function.luau"}]},"generics-declaration":{begin:/(<)/dgv,end:/(>)/dgv,patterns:[{match:/[A-Z_a-z][0-9A-Z_a-z]*/dgv,name:"entity.name.type.luau"},{match:/=/dgv,name:"keyword.operator.assignment.luau"},{include:"#type_literal"}]},"generics-instantiation":{begin:/(<<)/dgv,beginCaptures:{"1":{name:"punctuation.definition.typeparameters.begin.luau"}},end:/(>>)/dgv,endCaptures:{"1":{name:"punctuation.definition.typeparameters.end.luau"}},patterns:[{include:"#comment"},{include:"#type_literal"}]},identifier:{patterns:[{match:/\b([A-Z_a-z][0-9A-Z_a-z]*)\b(?=\p{space}*(?:<<|["'\(\{]|\[\[))/dgv,name:"entity.name.function.luau"},{match:/(?<=[^\.]\.|:)\b([A-Z_a-z][0-9A-Z_a-z]*)\b/dgv,name:"variable.other.property.luau"},{match:/\b([A-Z_][0-9A-Z_]*)\b/dgv,name:"variable.other.constant.luau"},{match:/\b([A-Z_a-z][0-9A-Z_a-z]*)\b/dgv,name:"variable.other.readwrite.luau"}]},interpolated_string_expression:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.interpolated-string-expression.begin.luau"}},contentName:"meta.embedded.line.luau",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.interpolated-string-expression.end.luau"}},name:"meta.template.expression.luau",patterns:[{include:"source.luau"}]},keyword:{patterns:[{match:/\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\b/dgv,name:"keyword.control.luau"},{match:/\b(local)\b/dgv,name:"storage.modifier.local.luau"},{match:/\b(const)\b/dgv,name:"storage.modifier.const.luau"},{match:/\b(function)\b(?![\,\:])/dgv,name:"keyword.control.luau"},{match:/(?<![^\.]\.|:)\b(self)\b/dgv,name:"variable.language.self.luau"},{match:/\b(and|or|not)\b/dgv,name:"keyword.operator.logical.luau keyword.operator.wordlike.luau"},{match:/(?<=[^\.]\.|:)\b(__(?:add|call|concat|div|eq|index|len??|lt|metatable|mode??|mul|newindex|pow|sub|tostring|unm))\b/dgv,name:"variable.language.metamethod.luau"},{match:/(?<!\.)\.{3}(?!\.)/dgv,name:"keyword.other.unit.luau"}]},language_constant:{patterns:[{match:/(?<![^\.]\.|:)\b(false)\b/dgv,name:"constant.language.boolean.false.luau"},{match:/(?<![^\.]\.|:)\b(true)\b/dgv,name:"constant.language.boolean.true.luau"},{match:/(?<![^\.]\.|:)\b(nil(?!:))\b/dgv,name:"constant.language.nil.luau"}]},"local-declaration":{begin:/\b(local)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.local.luau"}},end:/(?=\p{space}*do\b|\p{space}*[\;\=]|\p{space}*(?=\n?$))/dgv,patterns:[{include:"#comment"},{include:"#attribute"},{begin:/(:)/dgv,beginCaptures:{"1":{name:"keyword.operator.type.luau"}},end:/(?=\p{space}*do\b|\p{space}*[\,\;\=]|\p{space}*(?=\n?$))/dgv,patterns:[{include:"#type_literal"}]},{match:/\b([A-Z_][0-9A-Z_]*)\b/dgv,name:"variable.other.constant.luau"},{match:/\b([A-Z_a-z][0-9A-Z_a-z]*)\b/dgv,name:"variable.other.readwrite.luau"}]},number:{patterns:[{match:/\b0_*[Xx]_*[A-F_a-f\p{Nd}]*(?:[Ee][\-\+]?_*\p{Nd}[_\p{Nd}]*(?:\.[_\p{Nd}]*)?)?/dgv,name:"constant.numeric.hex.luau"},{match:/\b0_*[Bb][01_]+(?:[Ee][\-\+]?_*\p{Nd}[_\p{Nd}]*(?:\.[_\p{Nd}]*)?)?/dgv,name:"constant.numeric.binary.luau"},{match:/(?:\p{Nd}[_\p{Nd}]*(?:\.[_\p{Nd}]*)?|\.\p{Nd}[_\p{Nd}]*)(?:[Ee][\-\+]?_*\p{Nd}[_\p{Nd}]*(?:\.[_\p{Nd}]*)?)?/dgv,name:"constant.numeric.decimal.luau"}]},operator:{patterns:[{match:/==|~=|!=|<=?|>=?/dgv,name:"keyword.operator.comparison.luau"},{match:/(?:[\-\+]|\/\/??|[\%\*\^]|\.\.|)=/dgv,name:"keyword.operator.assignment.luau"},{match:/[\-\%\*\+]|\/\/|[\/\^]/dgv,name:"keyword.operator.arithmetic.luau"},{match:/#|(?<!\.)\.{2}(?!\.)/dgv,name:"keyword.operator.other.luau"}]},parentheses:{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.arguments.begin.luau"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.arguments.end.luau"}},patterns:[{match:/,/dgv,name:"punctuation.separator.arguments.luau"},{include:"source.luau"}]},shebang:{captures:{"1":{name:"punctuation.definition.comment.luau"}},match:/^(#!)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.shebang.luau"},standard_library:{patterns:[{match:/(?<![^\.]\.|:)\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/dgv,name:"support.function.luau"},{match:/(?<![^\.]\.|:)\b(_(?:G|VERSION))\b/dgv,name:"constant.language.luau"},{match:/(?<![^\.]\.|:)\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|atan2??|ceil|clamp|cosh??|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|noise|pow|rad|random|randomseed|round|sign|sinh??|sqrt|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|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/dgv,name:"support.function.luau"},{match:/(?<![^\.]\.|:)\b(bit32|buffer|coroutine|debug|math(\.(huge|pi))?|os|string|table|task|utf8(\.charpattern)?|vector(\.(one|zero))?)\b/dgv,name:"support.constant.luau"},{match:/(?<![^\.]\.|:)\b(delay|DebuggerManager|elapsedTime|PluginManager|printidentity|settings|spawn|stats|tick|time|UserSettings|version|wait|warn)\b/dgv,name:"support.function.luau"},{match:/(?<![^\.]\.|:)\b(game|plugin|shared|script|workspace|Enum(?:\.[\p{L}\p{M}\p{N}\p{Pc}]+){0,2})\b/dgv,name:"constant.language.luau"}]},string:{patterns:[{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.luau",patterns:[{include:"#string_escape"}]},{begin:/'/dgv,end:/'/dgv,name:"string.quoted.single.luau",patterns:[{include:"#string_escape"}]},{begin:/\[(=*)\[/dgv,end:/\]\1\]()/dgv,name:"string.other.multiline.luau"},{begin:/`/dgv,end:/`/dgv,name:"string.interpolated.luau",patterns:[{include:"#interpolated_string_expression"},{include:"#string_escape"}]}]},string_escape:{patterns:[{match:/\\["'\\\`abfnrtvz\{]/dgv,name:"constant.character.escape.luau"},{match:/\\\p{Nd}{1,3}/dgv,name:"constant.character.escape.luau"},{match:/\\x\p{AHex}{2}/dgv,name:"constant.character.escape.luau"},{match:/\\u\{\p{AHex}*\}/dgv,name:"constant.character.escape.luau"},{match:/\\(?=\n?$)/dgv,name:"constant.character.escape.luau"}]},table:{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.table.begin.luau"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.table.end.luau"}},patterns:[{match:/[\,\;]/dgv,name:"punctuation.separator.fields.luau"},{include:"source.luau"}]},"type-alias-declaration":{begin:/(?<![^\.]\.|:)\b(?:(export)\p{space}+)?(type)\b(?=\p{space}+(?!function\b)[A-Z_a-z][0-9A-Z_a-z]*)/dgv,beginCaptures:{"1":{name:"storage.modifier.visibility.luau"},"2":{name:"storage.type.luau"}},end:/(?=[\]\)\,\}](?!\p{space}*[\&\|]))|(?=\p{space}*;)|(?=\p{space}*\b(?:break|const|continue|do|else|elseif|end|for|function|if|in|local|repeat|return|then|until|while)\b)|(?=^\p{space}*(?=\n?$))|(?=^\p{space}*(?:@|\b(?:export\p{space}+)?type\b))|(?=^\p{space}*[A-Z_a-z][0-9A-Z_a-z]*(?:\.[A-Z_a-z][0-9A-Z_a-z]*)*\p{space}*(?:(?:[\-\%\*\+\/\^]|\.\.)?=(?!=)|[\(\:\[]))/dgv,patterns:[{include:"#type_literal"},{match:/=/dgv,name:"keyword.operator.assignment.luau"}]},"type-function":{begin:/(?<![^\.]\.|:)\b(?:(export)\p{space}+)?(type)\p{space}+(function)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.visibility.luau"},"2":{name:"storage.type.luau"},"3":{name:"keyword.control.luau"}},end:/(?<=[\-\]"'\)\[\{\}])/dgv,name:"meta.function.luau",patterns:[{include:"#comment"},{include:"#generics-declaration"},{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.luau"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.luau"}},name:"meta.parameter.luau",patterns:[{include:"#comment"},{match:/\.\.\./dgv,name:"variable.parameter.function.varargs.luau"},{match:/[A-Z_a-z][0-9A-Z_a-z]*/dgv,name:"variable.parameter.function.luau"},{match:/,/dgv,name:"punctuation.separator.arguments.luau"},{begin:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.type.luau"}},end:/(?=[\)\,])/dgv,patterns:[{include:"#type_literal"}]}]},{match:/\b([A-Z_a-z][0-9A-Z_a-z]*)\b/dgv,name:"entity.name.type.luau"}]},type_annotation:{begin:/:(?!\b([A-Z_a-z][0-9A-Z_a-z]*)\b(?=\p{space}*(?:<<|["'\(\{]|\[\[)))/dgv,end:/(?<=\))(?!\p{space}*->)|[\;\=]|(?=\n?$)|(?=\breturn\b)|(?=\bend\b)/dgv,patterns:[{include:"#comment"},{include:"#type_literal"}]},type_cast:{begin:/(::)/dgv,beginCaptures:{"1":{name:"keyword.operator.typecast.luau"}},end:/(?=[\]\)\,\}](?!\p{space}*[\&\|]))|(?=\p{space}*;)|(?=\p{space}*\b(?:break|const|continue|do|else|elseif|end|for|function|if|in|local|repeat|return|then|until|while)\b)|(?=^\p{space}*(?=\n?$))|(?=^\p{space}*(?:@|\b(?:export\p{space}+)?type\b))|(?=^\p{space}*[A-Z_a-z][0-9A-Z_a-z]*(?:\.[A-Z_a-z][0-9A-Z_a-z]*)*\p{space}*(?:(?:[\-\%\*\+\/\^]|\.\.)?=(?!=)|[\(\:\[]))/dgv,patterns:[{include:"#type_literal"}]},type_literal:{patterns:[{include:"#comment"},{include:"#string"},{match:/[\&\?\|]/dgv,name:"keyword.operator.type.luau"},{match:/->/dgv,name:"keyword.operator.type.function.luau"},{match:/\b(false)\b/dgv,name:"constant.language.boolean.false.luau"},{match:/\b(true)\b/dgv,name:"constant.language.boolean.true.luau"},{match:/\b(nil|string|number|boolean|thread|userdata|symbol|vector|buffer|unknown|never|any)\b/dgv,name:"support.type.primitive.luau"},{begin:/\b(typeof)\b(\()/dgv,beginCaptures:{"1":{name:"support.function.luau"},"2":{name:"punctuation.arguments.begin.typeof.luau"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.arguments.end.typeof.luau"}},patterns:[{include:"source.luau"}]},{begin:/(<)/dgv,beginCaptures:{"1":{name:"punctuation.definition.typeparameters.begin.luau"}},end:/(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.typeparameters.end.luau"}},patterns:[{match:/=/dgv,name:"keyword.operator.assignment.luau"},{include:"#type_literal"}]},{match:/\b([A-Z_a-z][0-9A-Z_a-z]*)\b/dgv,name:"entity.name.type.luau"},{begin:/\{/dgv,end:/\}/dgv,patterns:[{begin:/\[/dgv,end:/\]/dgv,patterns:[{include:"#type_literal"}]},{captures:{"1":{name:"storage.modifier.access.luau"},"2":{name:"variable.property.luau"},"3":{name:"keyword.operator.type.luau"}},match:/\b(?:(read|write)\p{space}+)?([A-Z_a-z][0-9A-Z_a-z]*)\b(:)/dgv},{include:"#type_literal"},{match:/[\,\;]/dgv,name:"punctuation.separator.fields.type.luau"}]},{begin:/\(/dgv,end:/\)/dgv,patterns:[{captures:{"1":{name:"variable.parameter.luau"},"2":{name:"keyword.operator.type.luau"}},match:/\b([A-Z_a-z][0-9A-Z_a-z]*)\b(:)/dgv,name:"variable.parameter.luau"},{include:"#type_literal"}]}]}},scopeName:"source.luau",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({foldingStartMarker:/(\{\p{space}*(?=\n?$)|^\p{space}*\/\/ \{\{\{)/dgv,foldingStopMarker:/^\p{space}*(\}|\/\/ \}\}\}(?=\n?$))/dgv,name:"nextflow-groovy",patterns:[{captures:{"1":{name:"punctuation.definition.comment.groovy"}},match:/^(#!)[^\n]+(?=\n?$)\n/dgv,name:"comment.line.hashbang.groovy"},{include:"#groovy"}],repository:{braces:{begin:/\{/dgv,end:/\}/dgv,patterns:[{include:"#groovy-code"}]},closures:{begin:/\{(?=[^\n]*?->)/dgv,end:/\}/dgv,patterns:[{begin:/(?<=\{)(?=[^\}]*?->)/dgv,end:/->/dgv,endCaptures:{"0":{name:"keyword.operator.groovy"}},patterns:[{begin:/(?!->)/dgv,end:/(?=->)/dgv,name:"meta.closure.parameters.groovy",patterns:[{begin:/(?!,|->)/dgv,end:/(?=,|->)/dgv,name:"meta.closure.parameter.groovy",patterns:[{begin:/=/dgv,beginCaptures:{"0":{name:"keyword.operator.assignment.groovy"}},end:/(?=,|->)/dgv,name:"meta.parameter.default.groovy",patterns:[{include:"#groovy-code"}]},{include:"#parameters"}]}]}]},{begin:/(?=[^\}])/dgv,end:/(?=\})/dgv,patterns:[{include:"#groovy-code"}]}]},comments:{patterns:[{captures:{"0":{name:"punctuation.definition.comment.groovy"}},match:/\/\*\*\//dgv,name:"comment.block.empty.groovy"},{include:"text.html.javadoc"},{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.groovy"}},end:/\*\//dgv,name:"comment.block.groovy"},{captures:{"1":{name:"punctuation.definition.comment.groovy"}},match:/(\/\/)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.double-slash.groovy"}]},constants:{patterns:[{match:/\b([A-Z][0-9A-Z_]+)\b/dgv,name:"constant.other.groovy"},{match:/\b(true|false|null)\b/dgv,name:"constant.language.groovy"}]},"constructor-call":{begin:/\bnew\b/dgv,beginCaptures:{"0":{name:"keyword.control.new.groovy"}},end:/(?<=\))|(?=\n?$)/dgv,patterns:[{begin:/(?=[\p{L}\p{M}\p{N}\p{Pc}][^\n]*\(?)/dgv,end:/(?<=\))|(?=\n?$)/dgv,patterns:[{include:"#object-types"},{begin:/\(/dgv,beginCaptures:{"1":{name:"storage.type.groovy"}},end:/\)/dgv,patterns:[{include:"#groovy"}]}]}]},groovy:{patterns:[{include:"#comments"},{include:"#variables"},{include:"#groovy-code"}]},"groovy-code":{patterns:[{include:"#groovy-code-minus-map-keys"},{include:"#map-keys"}]},"groovy-code-minus-map-keys":{patterns:[{include:"#comments"},{include:"#keyword-language"},{include:"#values"},{include:"#keyword-operator"},{include:"#types"},{include:"#parens"},{include:"#closures"},{include:"#braces"}]},keyword:{patterns:[{include:"#keyword-operator"},{include:"#keyword-language"}]},"keyword-language":{patterns:[{match:/\b(try|catch|throw)\b/dgv,name:"keyword.control.exception.groovy"},{match:/\b((?<!\.)(?:return|if|else))\b/dgv,name:"keyword.control.groovy"},{begin:/\b(assert)\p{space}/dgv,beginCaptures:{"1":{name:"keyword.control.assert.groovy"}},end:/(?=\n?$)|[\;\}]/dgv,name:"meta.declaration.assertion.groovy",patterns:[{match:/:/dgv,name:"keyword.operator.assert.expression-seperator.groovy"},{include:"#groovy-code-minus-map-keys"}]}]},"keyword-operator":{patterns:[{match:/\b(as)\b/dgv,name:"keyword.operator.as.groovy"},{match:/\b(in)\b/dgv,name:"keyword.operator.in.groovy"},{match:/\?:/dgv,name:"keyword.operator.elvis.groovy"},{match:/\.\./dgv,name:"keyword.operator.range.groovy"},{match:/->/dgv,name:"keyword.operator.arrow.groovy"},{match:/<</dgv,name:"keyword.operator.leftshift.groovy"},{match:/(?<=\P{space})\.(?=\P{space})/dgv,name:"keyword.operator.navigation.groovy"},{match:/(?<=\P{space})\?\.(?=\P{space})/dgv,name:"keyword.operator.safe-navigation.groovy"},{begin:/\?/dgv,beginCaptures:{"0":{name:"keyword.operator.ternary.groovy"}},end:/(?=(?=\n?$)|[\]\)\}])/dgv,name:"meta.evaluation.ternary.groovy",patterns:[{match:/:/dgv,name:"keyword.operator.ternary.expression-seperator.groovy"},{include:"#groovy-code-minus-map-keys"}]},{match:/==~/dgv,name:"keyword.operator.match.groovy"},{match:/=~/dgv,name:"keyword.operator.find.groovy"},{match:/\b(instanceof)\b/dgv,name:"keyword.operator.instanceof.groovy"},{match:/(==|!=|<=|>=|<=>|<>|[\<\>]|<<)/dgv,name:"keyword.operator.comparison.groovy"},{match:/=/dgv,name:"keyword.operator.assignment.groovy"},{match:/(--|\+\+)/dgv,name:"keyword.operator.increment-decrement.groovy"},{match:/([\-\%\*\+\/])/dgv,name:"keyword.operator.arithmetic.groovy"},{match:/(!|&&|\|\|)/dgv,name:"keyword.operator.logical.groovy"}]},"map-keys":{patterns:[{captures:{"1":{name:"constant.other.key.groovy"},"2":{name:"punctuation.definition.seperator.key-value.groovy"}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(:)/dgv}]},"method-call":{begin:/([\$\p{L}\p{M}\p{N}\p{Pc}]+)(\()/dgv,beginCaptures:{"1":{name:"meta.method.groovy"},"2":{name:"punctuation.definition.method-parameters.begin.groovy"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.method-parameters.end.groovy"}},name:"meta.method-call.groovy",patterns:[{match:/,/dgv,name:"punctuation.definition.seperator.parameter.groovy"},{include:"#groovy-code"}]},"nest-curly":{begin:/\{/dgv,captures:{"0":{name:"punctuation.section.scope.groovy"}},end:/\}/dgv,patterns:[{include:"#nest-curly"}]},numbers:{patterns:[{match:/((0([Xx])\p{AHex}*)|([\-\+])?\b(([0-9]+\.?[0-9]*)|(\.[0-9]+))(([Ee])([\-\+])?[0-9]+)?)([DFLUdfglu]|UL|ul)?\b/dgv,name:"constant.numeric.groovy"}]},"object-types":{patterns:[{begin:/\b((?:[a-z][\p{L}\p{M}\p{N}\p{Pc}]*\.)*(?:[A-Z]+[\p{L}\p{M}\p{N}\p{Pc}]*[a-z]+[\p{L}\p{M}\p{N}\p{Pc}]*|UR[IL]))</dgv,end:/[\>[^\]\,\<\?\[\p{L}\p{M}\p{N}\p{Pc}\p{space}]]/dgv,name:"storage.type.generic.groovy",patterns:[{include:"#object-types"},{begin:/</dgv,end:/[\>[^\]\,\<\[\p{L}\p{M}\p{N}\p{Pc}\p{space}]]/dgv,name:"storage.type.generic.groovy"}]},{match:/\b(?:[A-Za-z][\p{L}\p{M}\p{N}\p{Pc}]*\.)*(?:[A-Z]+[\p{L}\p{M}\p{N}\p{Pc}]*[a-z]+[\p{L}\p{M}\p{N}\p{Pc}]*|UR[IL])\b/dgv,name:"storage.type.groovy"}]},parameters:{patterns:[{include:"#types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.method.groovy"}]},parens:{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"#groovy-code"}]},"primitive-types":{patterns:[{match:/\b(?:boolean|byte|char|short|int|float|long|double)\b/dgv,name:"storage.type.primitive.groovy"}]},"string-quoted-double":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.groovy"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.groovy"}},name:"string.quoted.double.groovy",patterns:[{include:"#string-quoted-double-contents"}]},"string-quoted-double-contents":{patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.groovy"},{applyEndPatternLast:1,begin:/\$[\p{L}\p{M}\p{N}\p{Pc}]/dgv,end:/(?=[^\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.other.interpolated.groovy",patterns:[{match:/[\p{L}\p{M}\p{N}\p{Pc}]/dgv,name:"variable.other.interpolated.groovy"},{match:/\./dgv,name:"keyword.other.dereference.groovy"}]},{begin:/\$\{/dgv,captures:{"0":{name:"punctuation.section.embedded.groovy"}},end:/\}/dgv,name:"source.groovy.embedded.source",patterns:[{include:"#nest-curly"}]}]},"string-quoted-double-multiline":{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.groovy"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.groovy"}},name:"string.quoted.double.multiline.groovy",patterns:[{include:"#string-quoted-double-contents"}]},"string-quoted-single":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.groovy"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.groovy"}},name:"string.quoted.single.groovy",patterns:[{include:"#string-quoted-single-contents"}]},"string-quoted-single-contents":{patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.groovy"}]},"string-quoted-single-multiline":{begin:/'''/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.groovy"}},end:/'''/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.groovy"}},name:"string.quoted.single.multiline.groovy",patterns:[{include:"#string-quoted-single-contents"}]},"string-slashy":{patterns:[{begin:/\/(?=[^\/]+\/([^\>]|(?=\n?$)))/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.regexp.begin.groovy"}},end:/\//dgv,endCaptures:{"0":{name:"punctuation.definition.string.regexp.end.groovy"}},name:"string.regexp.groovy",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.groovy"}]},{begin:/~"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.regexp.begin.groovy"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.regexp.end.groovy"}},name:"string.regexp.compiled.groovy",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.groovy"}]}]},strings:{patterns:[{include:"#string-quoted-double-multiline"},{include:"#string-quoted-single-multiline"},{include:"#string-quoted-double"},{include:"#string-quoted-single"},{include:"#string-slashy"}]},structures:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.structure.begin.groovy"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.structure.end.groovy"}},name:"meta.structure.groovy",patterns:[{include:"#groovy-code"},{match:/,/dgv,name:"punctuation.definition.separator.groovy"}]},types:{patterns:[{match:/\b(def)\b/dgv,name:"storage.type.def.groovy"},{include:"#primitive-types"},{include:"#object-types"}]},values:{patterns:[{include:"#strings"},{include:"#numbers"},{include:"#constants"},{include:"#types"},{include:"#structures"},{include:"#method-call"},{include:"#constructor-call"}]},variables:{patterns:[{applyEndPatternLast:1,begin:/(?=(?:def|(?:boolean|byte|char|short|int|float|long|double)|(?:[a-z][\p{L}\p{M}\p{N}\p{Pc}]*\.)*[A-Z]+[\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+[\]\,\<\>\[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}\p{space}]+(?:=|(?=\n?$)))/dgv,end:/;|(?=\n?$)/dgv,name:"meta.definition.variable.groovy",patterns:[{match:/\p{space}/dgv},{captures:{"1":{name:"constant.variable.groovy"}},match:/([0-9A-Z_]+)\p{space}+(?==)/dgv},{captures:{"1":{name:"meta.definition.variable.name.groovy"}},match:/([\p{L}\p{M}\p{N}\p{Pc}][^\,\p{space}]*)\p{space}+(?==)/dgv},{captures:{"1":{name:"storage.type.groovy"}},match:/: ([\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,patterns:[{include:"#types"}]},{begin:/=/dgv,beginCaptures:{"0":{name:"keyword.operator.assignment.groovy"}},end:/(?=\n?$)/dgv,patterns:[{include:"#groovy-code"}]},{captures:{"1":{name:"meta.definition.variable.name.groovy"}},match:/([\p{L}\p{M}\p{N}\p{Pc}][^\=\p{space}]*)(?=\p{space}*((?=\n?$)|;))/dgv},{include:"#groovy-code"}]}]}},scopeName:"source.nextflow-groovy",displayName:undefined,embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"Nextflow Groovy",foldingStartMarker:/(\{\p{space}*(?=\n?$)|^\p{space}*\/\/ \{\{\{)/dgv,foldingStopMarker:/^\p{space}*(\}|\/\/ \}\}\}(?=\n?$))/dgv,name:"nextflow-groovy",patterns:[{captures:{"1":{name:"punctuation.definition.comment.groovy"}},match:/^(#!)[^\n]+(?=\n?$)\n/dgv,name:"comment.line.hashbang.groovy"},{include:"#groovy"}],repository:{braces:{begin:/\{/dgv,end:/\}/dgv,patterns:[{include:"#groovy-code"}]},closures:{begin:/\{(?=[^\n]*?->)/dgv,end:/\}/dgv,patterns:[{begin:/(?<=\{)(?=[^\}]*?->)/dgv,end:/->/dgv,endCaptures:{"0":{name:"keyword.operator.groovy"}},patterns:[{begin:/(?!->)/dgv,end:/(?=->)/dgv,name:"meta.closure.parameters.groovy",patterns:[{begin:/(?!,|->)/dgv,end:/(?=,|->)/dgv,name:"meta.closure.parameter.groovy",patterns:[{begin:/=/dgv,beginCaptures:{"0":{name:"keyword.operator.assignment.groovy"}},end:/(?=,|->)/dgv,name:"meta.parameter.default.groovy",patterns:[{include:"#groovy-code"}]},{include:"#parameters"}]}]}]},{begin:/(?=[^\}])/dgv,end:/(?=\})/dgv,patterns:[{include:"#groovy-code"}]}]},comments:{patterns:[{captures:{"0":{name:"punctuation.definition.comment.groovy"}},match:/\/\*\*\//dgv,name:"comment.block.empty.groovy"},{include:"text.html.javadoc"},{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.groovy"}},end:/\*\//dgv,name:"comment.block.groovy"},{captures:{"1":{name:"punctuation.definition.comment.groovy"}},match:/(\/\/)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.double-slash.groovy"}]},constants:{patterns:[{match:/\b([A-Z][0-9A-Z_]+)\b/dgv,name:"constant.other.groovy"},{match:/\b(true|false|null)\b/dgv,name:"constant.language.groovy"}]},"constructor-call":{begin:/\bnew\b/dgv,beginCaptures:{"0":{name:"keyword.control.new.groovy"}},end:/(?<=\))|(?=\n?$)/dgv,patterns:[{begin:/(?=[\p{L}\p{M}\p{N}\p{Pc}][^\n]*\(?)/dgv,end:/(?<=\))|(?=\n?$)/dgv,patterns:[{include:"#object-types"},{begin:/\(/dgv,beginCaptures:{"1":{name:"storage.type.groovy"}},end:/\)/dgv,patterns:[{include:"#groovy"}]}]}]},groovy:{patterns:[{include:"#comments"},{include:"#variables"},{include:"#groovy-code"}]},"groovy-code":{patterns:[{include:"#groovy-code-minus-map-keys"},{include:"#map-keys"}]},"groovy-code-minus-map-keys":{patterns:[{include:"#comments"},{include:"#keyword-language"},{include:"#values"},{include:"#keyword-operator"},{include:"#types"},{include:"#parens"},{include:"#closures"},{include:"#braces"}]},keyword:{patterns:[{include:"#keyword-operator"},{include:"#keyword-language"}]},"keyword-language":{patterns:[{match:/\b(try|catch|throw)\b/dgv,name:"keyword.control.exception.groovy"},{match:/\b((?<!\.)(?:return|if|else))\b/dgv,name:"keyword.control.groovy"},{begin:/\b(assert)\p{space}/dgv,beginCaptures:{"1":{name:"keyword.control.assert.groovy"}},end:/(?=\n?$)|[\;\}]/dgv,name:"meta.declaration.assertion.groovy",patterns:[{match:/:/dgv,name:"keyword.operator.assert.expression-seperator.groovy"},{include:"#groovy-code-minus-map-keys"}]}]},"keyword-operator":{patterns:[{match:/\b(as)\b/dgv,name:"keyword.operator.as.groovy"},{match:/\b(in)\b/dgv,name:"keyword.operator.in.groovy"},{match:/\?:/dgv,name:"keyword.operator.elvis.groovy"},{match:/\.\./dgv,name:"keyword.operator.range.groovy"},{match:/->/dgv,name:"keyword.operator.arrow.groovy"},{match:/<</dgv,name:"keyword.operator.leftshift.groovy"},{match:/(?<=\P{space})\.(?=\P{space})/dgv,name:"keyword.operator.navigation.groovy"},{match:/(?<=\P{space})\?\.(?=\P{space})/dgv,name:"keyword.operator.safe-navigation.groovy"},{begin:/\?/dgv,beginCaptures:{"0":{name:"keyword.operator.ternary.groovy"}},end:/(?=(?=\n?$)|[\]\)\}])/dgv,name:"meta.evaluation.ternary.groovy",patterns:[{match:/:/dgv,name:"keyword.operator.ternary.expression-seperator.groovy"},{include:"#groovy-code-minus-map-keys"}]},{match:/==~/dgv,name:"keyword.operator.match.groovy"},{match:/=~/dgv,name:"keyword.operator.find.groovy"},{match:/\b(instanceof)\b/dgv,name:"keyword.operator.instanceof.groovy"},{match:/(==|!=|<=|>=|<=>|<>|[\<\>]|<<)/dgv,name:"keyword.operator.comparison.groovy"},{match:/=/dgv,name:"keyword.operator.assignment.groovy"},{match:/(--|\+\+)/dgv,name:"keyword.operator.increment-decrement.groovy"},{match:/([\-\%\*\+\/])/dgv,name:"keyword.operator.arithmetic.groovy"},{match:/(!|&&|\|\|)/dgv,name:"keyword.operator.logical.groovy"}]},"map-keys":{patterns:[{captures:{"1":{name:"constant.other.key.groovy"},"2":{name:"punctuation.definition.seperator.key-value.groovy"}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(:)/dgv}]},"method-call":{begin:/([\$\p{L}\p{M}\p{N}\p{Pc}]+)(\()/dgv,beginCaptures:{"1":{name:"meta.method.groovy"},"2":{name:"punctuation.definition.method-parameters.begin.groovy"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.method-parameters.end.groovy"}},name:"meta.method-call.groovy",patterns:[{match:/,/dgv,name:"punctuation.definition.seperator.parameter.groovy"},{include:"#groovy-code"}]},"nest-curly":{begin:/\{/dgv,captures:{"0":{name:"punctuation.section.scope.groovy"}},end:/\}/dgv,patterns:[{include:"#nest-curly"}]},numbers:{patterns:[{match:/((0([Xx])\p{AHex}*)|([\-\+])?\b(([0-9]+\.?[0-9]*)|(\.[0-9]+))(([Ee])([\-\+])?[0-9]+)?)([DFLUdfglu]|UL|ul)?\b/dgv,name:"constant.numeric.groovy"}]},"object-types":{patterns:[{begin:/\b((?:[a-z][\p{L}\p{M}\p{N}\p{Pc}]*\.)*(?:[A-Z]+[\p{L}\p{M}\p{N}\p{Pc}]*[a-z]+[\p{L}\p{M}\p{N}\p{Pc}]*|UR[IL]))</dgv,end:/[\>[^\]\,\<\?\[\p{L}\p{M}\p{N}\p{Pc}\p{space}]]/dgv,name:"storage.type.generic.groovy",patterns:[{include:"#object-types"},{begin:/</dgv,end:/[\>[^\]\,\<\[\p{L}\p{M}\p{N}\p{Pc}\p{space}]]/dgv,name:"storage.type.generic.groovy"}]},{match:/\b(?:[A-Za-z][\p{L}\p{M}\p{N}\p{Pc}]*\.)*(?:[A-Z]+[\p{L}\p{M}\p{N}\p{Pc}]*[a-z]+[\p{L}\p{M}\p{N}\p{Pc}]*|UR[IL])\b/dgv,name:"storage.type.groovy"}]},parameters:{patterns:[{include:"#types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.method.groovy"}]},parens:{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"#groovy-code"}]},"primitive-types":{patterns:[{match:/\b(?:boolean|byte|char|short|int|float|long|double)\b/dgv,name:"storage.type.primitive.groovy"}]},"string-quoted-double":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.groovy"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.groovy"}},name:"string.quoted.double.groovy",patterns:[{include:"#string-quoted-double-contents"}]},"string-quoted-double-contents":{patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.groovy"},{applyEndPatternLast:1,begin:/\$[\p{L}\p{M}\p{N}\p{Pc}]/dgv,end:/(?=[^\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.other.interpolated.groovy",patterns:[{match:/[\p{L}\p{M}\p{N}\p{Pc}]/dgv,name:"variable.other.interpolated.groovy"},{match:/\./dgv,name:"keyword.other.dereference.groovy"}]},{begin:/\$\{/dgv,captures:{"0":{name:"punctuation.section.embedded.groovy"}},end:/\}/dgv,name:"source.groovy.embedded.source",patterns:[{include:"#nest-curly"}]}]},"string-quoted-double-multiline":{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.groovy"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.groovy"}},name:"string.quoted.double.multiline.groovy",patterns:[{include:"#string-quoted-double-contents"}]},"string-quoted-single":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.groovy"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.groovy"}},name:"string.quoted.single.groovy",patterns:[{include:"#string-quoted-single-contents"}]},"string-quoted-single-contents":{patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.groovy"}]},"string-quoted-single-multiline":{begin:/'''/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.groovy"}},end:/'''/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.groovy"}},name:"string.quoted.single.multiline.groovy",patterns:[{include:"#string-quoted-single-contents"}]},"string-slashy":{patterns:[{begin:/\/(?=[^\/]+\/([^\>]|(?=\n?$)))/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.regexp.begin.groovy"}},end:/\//dgv,endCaptures:{"0":{name:"punctuation.definition.string.regexp.end.groovy"}},name:"string.regexp.groovy",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.groovy"}]},{begin:/~"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.regexp.begin.groovy"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.regexp.end.groovy"}},name:"string.regexp.compiled.groovy",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.groovy"}]}]},strings:{patterns:[{include:"#string-quoted-double-multiline"},{include:"#string-quoted-single-multiline"},{include:"#string-quoted-double"},{include:"#string-quoted-single"},{include:"#string-slashy"}]},structures:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.structure.begin.groovy"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.structure.end.groovy"}},name:"meta.structure.groovy",patterns:[{include:"#groovy-code"},{match:/,/dgv,name:"punctuation.definition.separator.groovy"}]},types:{patterns:[{match:/\b(def)\b/dgv,name:"storage.type.def.groovy"},{include:"#primitive-types"},{include:"#object-types"}]},values:{patterns:[{include:"#strings"},{include:"#numbers"},{include:"#constants"},{include:"#types"},{include:"#structures"},{include:"#method-call"},{include:"#constructor-call"}]},variables:{patterns:[{applyEndPatternLast:1,begin:/(?=(?:def|(?:boolean|byte|char|short|int|float|long|double)|(?:[a-z][\p{L}\p{M}\p{N}\p{Pc}]*\.)*[A-Z]+[\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+[\]\,\<\>\[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}\p{space}]+(?:=|(?=\n?$)))/dgv,end:/;|(?=\n?$)/dgv,name:"meta.definition.variable.groovy",patterns:[{match:/\p{space}/dgv},{captures:{"1":{name:"constant.variable.groovy"}},match:/([0-9A-Z_]+)\p{space}+(?==)/dgv},{captures:{"1":{name:"meta.definition.variable.name.groovy"}},match:/([\p{L}\p{M}\p{N}\p{Pc}][^\,\p{space}]*)\p{space}+(?==)/dgv},{captures:{"1":{name:"storage.type.groovy"}},match:/: ([\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,patterns:[{include:"#types"}]},{begin:/=/dgv,beginCaptures:{"0":{name:"keyword.operator.assignment.groovy"}},end:/(?=\n?$)/dgv,patterns:[{include:"#groovy-code"}]},{captures:{"1":{name:"meta.definition.variable.name.groovy"}},match:/([\p{L}\p{M}\p{N}\p{Pc}][^\=\p{space}]*)(?=\p{space}*((?=\n?$)|;))/dgv},{include:"#groovy-code"}]}]}},scopeName:"source.nextflow-groovy",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang