@shikijs/langs-precompiled 3.12.2 → 3.13.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 +1 -1
- package/dist/move.mjs +1 -1
- package/dist/nushell.mjs +1 -1
- package/dist/swift.mjs +1 -1
- package/package.json +3 -3
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-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))\b/dgv,name:"support.function.luau"},{match:/(?<![^\.]\.|:)\b(bit32|buffer|coroutine|debug|math(\.(huge|pi))?|os|string|table|task|utf8(\.charpattern)?)\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_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|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:"variable.property.luau"},"2":{name:"keyword.operator.type.luau"}},match:/\b([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:"#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))\b/dgv,name:"support.function.luau"},{match:/(?<![^\.]\.|:)\b(bit32|buffer|coroutine|debug|math(\.(huge|pi))?|os|string|table|task|utf8(\.charpattern)?)\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})
|
|
2
2
|
|
|
3
3
|
export default [
|
|
4
4
|
lang
|
package/dist/move.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const lang = Object.freeze({displayName:"Move",name:"move",patterns:[{include:"#address"},{include:"#comments"},{include:"#module"},{include:"#script"},{include:"#annotation"},{include:"#comments"},{include:"#annotation"},{include:"#entry"},{include:"#public-scope"},{include:"#public"},{include:"#native"},{include:"#import"},{include:"#friend"},{include:"#const"},{include:"#struct"},{include:"#has_ability"},{include:"#enum"},{include:"#macro"},{include:"#fun"},{include:"#spec"}],repository:{"=== DEPRECATED_BELOW ===":{},abilities:{match:/\b(store|key|drop|copy)\b/dgv,name:"support.type.ability.move"},address:{begin:/\b(address)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.type.address.keyword.move"}},end:/(?<=\})/dgv,name:"meta.address_block.move",patterns:[{include:"#comments"},{begin:/(?<=address)/dgv,end:/(?=\{)/dgv,name:"meta.address.definition.move",patterns:[{include:"#comments"},{include:"#address_literal"},{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.type.move"}]},{include:"#module"}]},annotation:{begin:/#\[/dgv,end:/\]/dgv,name:"support.constant.annotation.move",patterns:[{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?==)/dgv,name:"meta.annotation.name.move"},{begin:/=/dgv,end:/(?=[\]\,])/dgv,name:"meta.annotation.value.move",patterns:[{include:"#literals"}]}]},as:{match:/\b(as)\b/dgv,name:"keyword.control.as.move"},"as-import":{match:/\b(as)\b/dgv,name:"meta.import.as.move"},block:{begin:/\{/dgv,end:/\}/dgv,name:"meta.block.move",patterns:[{include:"#expr"}]},"block-comments":{patterns:[{begin:/\/\*[\!\*](?![\*\/])/dgv,end:/\*\//dgv,name:"comment.block.documentation.move"},{begin:/\/\*/dgv,end:/\*\//dgv,name:"comment.block.move"}]},capitalized:{match:/\b([A-Z][0-9A-Z_a-z]*)\b/dgv,name:"entity.name.type.use.move"},comments:{name:"meta.comments.move",patterns:[{include:"#doc-comments"},{include:"#line-comments"},{include:"#block-comments"}]},const:{begin:/\b(const)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.const.move"}},end:/;/dgv,name:"meta.const.move",patterns:[{include:"#comments"},{include:"#primitives"},{include:"#literals"},{include:"#types"},{match:/\b([A-Z][0-9A-Z_]+)\b/dgv,name:"constant.other.move"},{include:"#error_const"}]},control:{match:/\b(return|while|loop|if|else|break|continue|abort)\b/dgv,name:"keyword.control.move"},"doc-comments":{begin:/\/\/\//dgv,end:/(?=\n?$)/dgv,name:"comment.block.documentation.move",patterns:[{captures:{"1":{name:"markup.underline.link.move"}},match:/`([\p{L}\p{M}\p{N}\p{Pc}]+)`/dgv}]},entry:{match:/\b(entry)\b/dgv,name:"storage.modifier.visibility.entry.move"},enum:{begin:/\b(enum)\b/dgv,beginCaptures:{"1":{name:"keyword.control.enum.move"}},end:/(?<=\})/dgv,name:"meta.enum.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#type_param"},{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"entity.name.type.enum.move"},{include:"#has"},{include:"#abilities"},{begin:/\{/dgv,end:/\}/dgv,name:"meta.enum.definition.move",patterns:[{include:"#comments"},{match:/\b([A-Z][0-9A-Z_a-z]*)\b(?=\p{space}*\()/dgv,name:"entity.name.function.enum.move"},{match:/\b([A-Z][0-9A-Z_a-z]*)\b/dgv,name:"entity.name.type.enum.move"},{begin:/\(/dgv,end:/\)/dgv,name:"meta.enum.tuple.move",patterns:[{include:"#comments"},{include:"#expr_generic"},{include:"#capitalized"},{include:"#types"}]},{begin:/\{/dgv,end:/\}/dgv,name:"meta.enum.struct.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#expr_generic"},{include:"#capitalized"},{include:"#types"}]}]}]},error_const:{match:/\b(E[A-Z][0-9A-Z_a-z]*)\b/dgv,name:"variable.other.error.const.move"},escaped_identifier:{begin:/`/dgv,end:/`/dgv,name:"variable.language.escaped.move"},expr:{name:"meta.expression.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#expr_generic"},{include:"#packed_field"},{include:"#import"},{include:"#as"},{include:"#mut"},{include:"#let"},{include:"#types"},{include:"#literals"},{include:"#control"},{include:"#move_copy"},{include:"#resource_methods"},{include:"#self_access"},{include:"#module_access"},{include:"#label"},{include:"#macro_call"},{include:"#local_call"},{include:"#method_call"},{include:"#path_access"},{include:"#match_expression"},{match:/\$(?=[a-z])/dgv,name:"keyword.operator.macro.dollar.move"},{match:/(?<=\$)[a-z][0-9A-Z_a-z]*/dgv,name:"variable.other.meta.move"},{match:/\b([A-Z][A-Z_]+)\b/dgv,name:"constant.other.move"},{include:"#error_const"},{match:/\b([A-Z][0-9A-Z_a-z]*)\b/dgv,name:"entity.name.type.move"},{include:"#paren"},{include:"#block"}]},expr_generic:{begin:/<(?=([\,0-9\<\>A-Z_a-z\p{space}]+>))/dgv,end:/>/dgv,name:"meta.expression.generic.type.move",patterns:[{include:"#comments"},{include:"#types"},{include:"#capitalized"},{include:"#expr_generic"}]},friend:{begin:/\b(friend)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.type.move"}},end:/;/dgv,name:"meta.friend.move",patterns:[{include:"#comments"},{include:"#address_literal"},{match:/\b([A-Za-z][0-9A-Z_a-z]*)\b/dgv,name:"entity.name.type.module.move"}]},fun:{patterns:[{include:"#fun_signature"},{include:"#block"}]},fun_body:{begin:/\{/dgv,end:/(?<=\})/dgv,name:"meta.fun_body.move",patterns:[{include:"#expr"}]},fun_call:{begin:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?:<[\,\p{L}\p{M}\p{N}\p{Pc}\p{space}]+>)?\p{space}*\(/dgv,beginCaptures:{"1":{name:"entity.name.function.call.move"}},end:/\)/dgv,name:"meta.fun_call.move",patterns:[{include:"#comments"},{include:"#resource_methods"},{include:"#self_access"},{include:"#module_access"},{include:"#move_copy"},{include:"#literals"},{include:"#fun_call"},{include:"#block"},{include:"#mut"},{include:"#as"}]},fun_signature:{begin:/\b(fun)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.fun.move"}},end:/(?=[\;\{])/dgv,name:"meta.fun_signature.move",patterns:[{include:"#comments"},{include:"#module_access"},{include:"#capitalized"},{include:"#types"},{include:"#mut"},{begin:/(?<=\bfun)/dgv,end:/(?=[\(\<])/dgv,name:"meta.function_name.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.function.move"}]},{include:"#type_param"},{begin:/\(/dgv,end:/\)/dgv,name:"meta.parentheses.move",patterns:[{include:"#comments"},{include:"#self_access"},{include:"#expr_generic"},{include:"#escaped_identifier"},{include:"#module_access"},{include:"#capitalized"},{include:"#types"},{include:"#mut"}]},{match:/\b(acquires)\b/dgv,name:"storage.modifier"}]},has:{match:/\b(has)\b/dgv,name:"keyword.control.ability.has.move"},has_ability:{begin:/(?<=[\)\}])\p{space}+(has)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.type.move"}},end:/;/dgv,name:"meta.has.ability.move",patterns:[{include:"#comments"},{include:"#abilities"}]},ident:{match:/\b([A-Za-z][0-9A-Z_a-z]*)\b/dgv,name:"meta.identifier.move"},import:{begin:/\b(use)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.type.move"}},end:/;/dgv,name:"meta.import.move",patterns:[{include:"#comments"},{include:"#use_fun"},{include:"#address_literal"},{include:"#as-import"},{match:/\b([A-Z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.type.move"},{begin:/\{/dgv,end:/\}/dgv,patterns:[{include:"#comments"},{include:"#as-import"},{match:/\b([A-Z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.type.move"}]},{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"meta.entity.name.type.module.move"}]},inline:{match:/\b(inline)\b/dgv,name:"storage.modifier.visibility.inline.move"},label:{match:/'[a-z][0-9_a-z]*/dgv,name:"string.quoted.single.label.move"},let:{match:/\b(let)\b/dgv,name:"keyword.control.move"},"line-comments":{begin:/\/\//dgv,end:/(?=\n?$)/dgv,name:"comment.line.double-slash.move"},literals:{name:"meta.literal.move",patterns:[{match:/@0x\p{AHex}+/dgv,name:"support.constant.address.base16.move"},{match:/@[A-Za-z][0-9A-Z_a-z]*/dgv,name:"support.constant.address.name.move"},{match:/0x[_\p{AHex}]+(?:u(?:8|16|32|64|128|256))?/dgv,name:"constant.numeric.hex.move"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}]|(?<!\.)\.)[0-9][0-9_]*(?:\.(?!\.)(?:[0-9][0-9_]*)?)?(?:[Ee][\-\+]?[0-9_]+)?(?:u(?:8|16|32|64|128|256))?/dgv,name:"constant.numeric.move"},{begin:/\bb"/dgv,end:/"/dgv,name:"meta.vector.literal.ascii.move",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.move"},{match:/\\[\x00"nrt]/dgv,name:"constant.character.escape.move"},{match:/\\x\p{AHex}\p{AHex}/dgv,name:"constant.character.escape.hex.move"},{match:/[\x00-\x7F]/dgv,name:"string.quoted.double.raw.move"}]},{begin:/x"/dgv,end:/"/dgv,name:"meta.vector.literal.hex.move",patterns:[{match:/\p{AHex}+/dgv,name:"constant.character.move"}]},{match:/\b(?:true|false)\b/dgv,name:"constant.language.boolean.move"},{begin:/vector\[/dgv,end:/\]/dgv,name:"meta.vector.literal.macro.move",patterns:[{include:"#expr"}]}]},local_call:{match:/\b([a-z][0-9_a-z]*)(?=[\(\<])/dgv,name:"entity.name.function.call.local.move"},macro:{begin:/\b(macro)\b/dgv,beginCaptures:{"1":{name:"keyword.control.macro.move"}},end:/(?<=\})/dgv,name:"meta.macro.move",patterns:[{include:"#comments"},{include:"#fun"}]},macro_call:{captures:{"2":{name:"support.function.macro.move"}},match:/(\b|\.)([a-z][0-9A-Z_a-z]*)!/dgv,name:"meta.macro.call"},match_expression:{begin:/\b(match)\b/dgv,beginCaptures:{"1":{name:"keyword.control.match.move"}},end:/(?<=\})/dgv,name:"meta.match.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#types"},{begin:/\{/dgv,end:/\}/dgv,name:"meta.match.block.move",patterns:[{match:/\b(=>)\b/dgv,name:"operator.match.move"},{include:"#expr"}]},{include:"#expr"}]},method_call:{captures:{"1":{name:"entity.name.function.call.path.move"}},match:/\.([a-z][0-9_a-z]*)(?=[\(\<])/dgv,name:"meta.path.call.move"},module:{begin:/\b(module)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.type.move"}},end:/(?<=[\;\}])/dgv,name:"meta.module.move",patterns:[{include:"#comments"},{begin:/(?<=\b(module)\b)/dgv,end:/(?=[\;\{])/dgv,patterns:[{include:"#comments"},{include:"#escaped_identifier"},{begin:/(?<=\b(module))/dgv,end:/(?=[\(\)\:\{])/dgv,name:"constant.other.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"}]},{begin:/(?<=::)/dgv,end:/(?=[\;\{\p{space}])/dgv,name:"entity.name.type.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"}]}]},{begin:/\{/dgv,end:/\}/dgv,name:"meta.module_scope.move",patterns:[{include:"#comments"},{include:"#annotation"},{include:"#entry"},{include:"#public-scope"},{include:"#public"},{include:"#native"},{include:"#import"},{include:"#friend"},{include:"#const"},{include:"#struct"},{include:"#has_ability"},{include:"#enum"},{include:"#macro"},{include:"#fun"},{include:"#spec"}]}]},module_access:{captures:{"1":{name:"meta.entity.name.type.accessed.module.move"},"2":{name:"entity.name.function.call.move"}},match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)::([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"meta.module_access.move"},module_label:{begin:/^\p{space}*(module)\b/dgv,end:/;\p{space}*(?=\n?$)/dgv,name:"meta.module.label.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{begin:/(?<=\bmodule\b)/dgv,end:/(?=[\(\)\:\{])/dgv,name:"constant.other.move"},{begin:/(?<=::)/dgv,end:/(?=[\{\p{space}])/dgv,name:"entity.name.type.move"}]},move_copy:{match:/\b(move|copy)\b/dgv,name:"variable.language.move"},mut:{match:/\b(mut)\b/dgv,name:"storage.modifier.mut.move"},native:{match:/\b(native)\b/dgv,name:"storage.modifier.visibility.native.move"},packed_field:{match:/[a-z][0-9_a-z]+\p{space}*:\p{space}*(?=\p{space})/dgv,name:"meta.struct.field.move"},paren:{begin:/\(/dgv,end:/\)/dgv,name:"meta.paren.move",patterns:[{include:"#expr"}]},path_access:{match:/\.[a-z][0-9_a-z]*\b/dgv,name:"meta.path.access.move"},phantom:{match:/\b(phantom)\b/dgv,name:"keyword.control.phantom.move"},primitives:{match:/\b(u8|u16|u32|u64|u128|u256|address|bool|signer)\b/dgv,name:"support.type.primitives.move"},public:{match:/\b(public)\b/dgv,name:"storage.modifier.visibility.public.move"},"public-scope":{begin:/(?<=\b(public))\p{space}*\(/dgv,end:/\)/dgv,name:"meta.public.scoped.move",patterns:[{include:"#comments"},{match:/\b(friend|script|package)\b/dgv,name:"keyword.control.public.scope.move"}]},resource_methods:{match:/\b(borrow_global|borrow_global_mut|exists|move_from|move_to_sender|move_to)\b/dgv,name:"support.function.typed.move"},script:{begin:/\b(script)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.script.move"}},end:/(?<=\})/dgv,name:"meta.script.move",patterns:[{include:"#comments"},{begin:/\{/dgv,end:/\}/dgv,name:"meta.script_scope.move",patterns:[{include:"#const"},{include:"#comments"},{include:"#import"},{include:"#fun"}]}]},self_access:{captures:{"1":{name:"variable.language.self.move"},"2":{name:"entity.name.function.call.move"}},match:/\b(Self)::([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"meta.self_access.move"},spec:{begin:/\b(spec)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.spec.move"}},end:/(?<=[\;\}])/dgv,name:"meta.spec.move",patterns:[{match:/\b(module|schema|struct|fun)/dgv,name:"storage.modifier.spec.target.move"},{match:/\b(define)/dgv,name:"storage.modifier.spec.define.move"},{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.function.move"},{begin:/\{/dgv,end:/\}/dgv,patterns:[{include:"#comments"},{include:"#spec_block"},{include:"#spec_types"},{include:"#spec_define"},{include:"#spec_keywords"},{include:"#control"},{include:"#fun_call"},{include:"#literals"},{include:"#types"},{include:"#let"}]}]},spec_block:{begin:/\{/dgv,end:/\}/dgv,name:"meta.spec_block.move",patterns:[{include:"#comments"},{include:"#spec_block"},{include:"#spec_types"},{include:"#fun_call"},{include:"#literals"},{include:"#control"},{include:"#types"},{include:"#let"}]},spec_define:{begin:/\b(define)\b/dgv,beginCaptures:{"1":{name:"keyword.control.move.spec"}},end:/(?=[\;\{])/dgv,name:"meta.spec_define.move",patterns:[{include:"#comments"},{include:"#spec_types"},{include:"#types"},{begin:/(?<=\bdefine)/dgv,end:/(?=\()/dgv,patterns:[{include:"#comments"},{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.function.move"}]}]},spec_keywords:{match:/\b(global|pack|unpack|pragma|native|include|ensures|requires|invariant|apply|aborts_if|modifies)\b/dgv,name:"keyword.control.move.spec"},spec_types:{match:/\b(range|num|vector|bool|u8|u16|u32|u64|u128|u256|address)\b/dgv,name:"support.type.vector.move"},struct:{begin:/\b(struct)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.type.move"}},end:/(?<=[\)\;\}])/dgv,name:"meta.struct.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#has"},{include:"#abilities"},{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"entity.name.type.struct.move"},{begin:/\(/dgv,end:/\)/dgv,name:"meta.struct.paren.move",patterns:[{include:"#comments"},{include:"#capitalized"},{include:"#types"}]},{include:"#type_param"},{begin:/\(/dgv,end:/(?<=\))/dgv,name:"meta.struct.paren.move",patterns:[{include:"#comments"},{include:"#types"}]},{begin:/\{/dgv,end:/\}/dgv,name:"meta.struct.body.move",patterns:[{include:"#comments"},{include:"#self_access"},{include:"#escaped_identifier"},{include:"#module_access"},{include:"#expr_generic"},{include:"#capitalized"},{include:"#types"}]},{include:"#has_ability"}]},struct_pack:{begin:/(?<=[0-9\>A-Z_a-z])\p{space}*\{/dgv,end:/\}/dgv,name:"meta.struct.pack.move",patterns:[{include:"#comments"}]},type_param:{begin:/</dgv,end:/>/dgv,name:"meta.generic_param.move",patterns:[{include:"#comments"},{include:"#phantom"},{include:"#capitalized"},{include:"#module_access"},{include:"#abilities"}]},types:{name:"meta.types.move",patterns:[{include:"#primitives"},{include:"#vector"}]},use_fun:{begin:/\b(fun)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.fun.move"}},end:/(?=;)/dgv,name:"meta.import.fun.move",patterns:[{include:"#comments"},{match:/\b(as)\b/dgv,name:"keyword.control.as.move"},{match:/\b(Self)\b/dgv,name:"variable.language.self.use.fun.move"},{match:/\b(_______[a-z][0-9_a-z]+)\b/dgv,name:"entity.name.function.use.move"},{include:"#types"},{include:"#escaped_identifier"},{include:"#capitalized"}]},vector:{match:/\b(vector)\b/dgv,name:"support.type.vector.move"}},scopeName:"source.move",embeddedLangs:undefined,aliases:undefined})
|
|
1
|
+
const lang = Object.freeze({displayName:"Move",name:"move",patterns:[{include:"#address"},{include:"#comments"},{include:"#module"},{include:"#script"},{include:"#annotation"},{include:"#comments"},{include:"#annotation"},{include:"#entry"},{include:"#public-scope"},{include:"#public"},{include:"#native"},{include:"#import"},{include:"#friend"},{include:"#const"},{include:"#struct"},{include:"#has_ability"},{include:"#enum"},{include:"#macro"},{include:"#fun"},{include:"#spec"}],repository:{"=== DEPRECATED_BELOW ===":{},abilities:{match:/\b(store|key|drop|copy)\b/dgv,name:"support.type.ability.move"},address:{begin:/\b(address)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.type.address.keyword.move"}},end:/(?<=\})/dgv,name:"meta.address_block.move",patterns:[{include:"#comments"},{begin:/(?<=address)/dgv,end:/(?=\{)/dgv,name:"meta.address.definition.move",patterns:[{include:"#comments"},{include:"#address_literal"},{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.type.move"}]},{include:"#module"}]},annotation:{begin:/#\[/dgv,end:/\]/dgv,name:"support.constant.annotation.move",patterns:[{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?==)/dgv,name:"meta.annotation.name.move"},{begin:/=/dgv,end:/(?=[\]\,])/dgv,name:"meta.annotation.value.move",patterns:[{include:"#literals"}]}]},as:{match:/\b(as)\b/dgv,name:"keyword.control.as.move"},"as-import":{match:/\b(as)\b/dgv,name:"meta.import.as.move"},block:{begin:/\{/dgv,end:/\}/dgv,name:"meta.block.move",patterns:[{include:"#expr"}]},"block-comments":{patterns:[{begin:/\/\*[\!\*](?![\*\/])/dgv,end:/\*\//dgv,name:"comment.block.documentation.move"},{begin:/\/\*/dgv,end:/\*\//dgv,name:"comment.block.move"}]},capitalized:{match:/\b([A-Z][0-9A-Z_a-z]*)\b/dgv,name:"entity.name.type.use.move"},comments:{name:"meta.comments.move",patterns:[{include:"#doc-comments"},{include:"#line-comments"},{include:"#block-comments"}]},const:{begin:/\b(const)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.const.move"}},end:/;/dgv,name:"meta.const.move",patterns:[{include:"#comments"},{include:"#primitives"},{include:"#literals"},{include:"#types"},{match:/\b([A-Z][0-9A-Z_]+)\b/dgv,name:"constant.other.move"},{include:"#error_const"}]},control:{match:/\b(return|while|loop|if|else|break|continue|abort)\b/dgv,name:"keyword.control.move"},"doc-comments":{begin:/\/\/\//dgv,end:/(?=\n?$)/dgv,name:"comment.block.documentation.move",patterns:[{captures:{"1":{name:"markup.underline.link.move"}},match:/`([\p{L}\p{M}\p{N}\p{Pc}]+)`/dgv}]},entry:{match:/\b(entry)\b/dgv,name:"storage.modifier.visibility.entry.move"},enum:{begin:/\b(enum)\b/dgv,beginCaptures:{"1":{name:"keyword.control.enum.move"}},end:/(?<=\})/dgv,name:"meta.enum.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#type_param"},{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"entity.name.type.enum.move"},{include:"#has"},{include:"#abilities"},{begin:/\{/dgv,end:/\}/dgv,name:"meta.enum.definition.move",patterns:[{include:"#comments"},{match:/\b([A-Z][0-9A-Z_a-z]*)\b(?=\p{space}*\()/dgv,name:"entity.name.function.enum.move"},{match:/\b([A-Z][0-9A-Z_a-z]*)\b/dgv,name:"entity.name.type.enum.move"},{begin:/\(/dgv,end:/\)/dgv,name:"meta.enum.tuple.move",patterns:[{include:"#comments"},{include:"#expr_generic"},{include:"#capitalized"},{include:"#types"}]},{begin:/\{/dgv,end:/\}/dgv,name:"meta.enum.struct.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#expr_generic"},{include:"#capitalized"},{include:"#types"}]}]}]},error_const:{match:/\b(E[A-Z][0-9A-Z_a-z]*)\b/dgv,name:"variable.other.error.const.move"},escaped_identifier:{begin:/`/dgv,end:/`/dgv,name:"variable.language.escaped.move"},expr:{name:"meta.expression.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#expr_generic"},{include:"#packed_field"},{include:"#import"},{include:"#as"},{include:"#mut"},{include:"#let"},{include:"#types"},{include:"#literals"},{include:"#control"},{include:"#move_copy"},{include:"#resource_methods"},{include:"#self_access"},{include:"#module_access"},{include:"#label"},{include:"#macro_call"},{include:"#local_call"},{include:"#method_call"},{include:"#path_access"},{include:"#match_expression"},{match:/\$(?=[a-z])/dgv,name:"keyword.operator.macro.dollar.move"},{match:/(?<=\$)[a-z][0-9A-Z_a-z]*/dgv,name:"variable.other.meta.move"},{match:/\b([A-Z][A-Z_]+)\b/dgv,name:"constant.other.move"},{include:"#error_const"},{match:/\b([A-Z][0-9A-Z_a-z]*)\b/dgv,name:"entity.name.type.move"},{include:"#paren"},{include:"#block"}]},expr_generic:{begin:/<(?=([\,0-9\<\>A-Z_a-z\p{space}]+>))/dgv,end:/>/dgv,name:"meta.expression.generic.type.move",patterns:[{include:"#comments"},{include:"#types"},{include:"#capitalized"},{include:"#expr_generic"}]},friend:{begin:/\b(friend)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.type.move"}},end:/;/dgv,name:"meta.friend.move",patterns:[{include:"#comments"},{include:"#address_literal"},{match:/\b([A-Za-z][0-9A-Z_a-z]*)\b/dgv,name:"entity.name.type.module.move"}]},fun:{patterns:[{include:"#fun_signature"},{include:"#block"}]},fun_body:{begin:/\{/dgv,end:/(?<=\})/dgv,name:"meta.fun_body.move",patterns:[{include:"#expr"}]},fun_call:{begin:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?:<[\,\p{L}\p{M}\p{N}\p{Pc}\p{space}]+>)?\p{space}*\(/dgv,beginCaptures:{"1":{name:"entity.name.function.call.move"}},end:/\)/dgv,name:"meta.fun_call.move",patterns:[{include:"#comments"},{include:"#resource_methods"},{include:"#self_access"},{include:"#module_access"},{include:"#move_copy"},{include:"#literals"},{include:"#fun_call"},{include:"#block"},{include:"#mut"},{include:"#as"}]},fun_signature:{begin:/\b(fun)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.fun.move"}},end:/(?=[\;\{])/dgv,name:"meta.fun_signature.move",patterns:[{include:"#comments"},{include:"#module_access"},{include:"#capitalized"},{include:"#types"},{include:"#mut"},{begin:/(?<=\bfun)/dgv,end:/(?=[\(\<])/dgv,name:"meta.function_name.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.function.move"}]},{include:"#fun_type_param"},{begin:/\(/dgv,end:/\)/dgv,name:"meta.parentheses.move",patterns:[{include:"#comments"},{include:"#self_access"},{include:"#expr_generic"},{include:"#escaped_identifier"},{include:"#module_access"},{include:"#capitalized"},{include:"#types"},{include:"#mut"}]},{match:/\b(acquires)\b/dgv,name:"storage.modifier"}]},fun_type_param:{begin:/</dgv,end:/>/dgv,name:"meta.fun_generic_param.move",patterns:[{include:"#comments"},{include:"#types"},{include:"#phantom"},{include:"#capitalized"},{include:"#module_access"},{include:"#abilities"}]},has:{match:/\b(has)\b/dgv,name:"keyword.control.ability.has.move"},has_ability:{begin:/(?<=[\)\}])\p{space}+(has)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.type.move"}},end:/;/dgv,name:"meta.has.ability.move",patterns:[{include:"#comments"},{include:"#abilities"}]},ident:{match:/\b([A-Za-z][0-9A-Z_a-z]*)\b/dgv,name:"meta.identifier.move"},import:{begin:/\b(use)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.type.move"}},end:/;/dgv,name:"meta.import.move",patterns:[{include:"#comments"},{include:"#use_fun"},{include:"#address_literal"},{include:"#as-import"},{match:/\b([A-Z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.type.move"},{begin:/\{/dgv,end:/\}/dgv,patterns:[{include:"#comments"},{include:"#as-import"},{match:/\b([A-Z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.type.move"}]},{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"meta.entity.name.type.module.move"}]},inline:{match:/\b(inline)\b/dgv,name:"storage.modifier.visibility.inline.move"},label:{match:/'[a-z][0-9_a-z]*/dgv,name:"string.quoted.single.label.move"},let:{match:/\b(let)\b/dgv,name:"keyword.control.move"},"line-comments":{begin:/\/\//dgv,end:/(?=\n?$)/dgv,name:"comment.line.double-slash.move"},literals:{name:"meta.literal.move",patterns:[{match:/@0x\p{AHex}+/dgv,name:"support.constant.address.base16.move"},{match:/@[A-Za-z][0-9A-Z_a-z]*/dgv,name:"support.constant.address.name.move"},{match:/0x[_\p{AHex}]+(?:u(?:8|16|32|64|128|256))?/dgv,name:"constant.numeric.hex.move"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}]|(?<!\.)\.)[0-9][0-9_]*(?:\.(?!\.)(?:[0-9][0-9_]*)?)?(?:[Ee][\-\+]?[0-9_]+)?(?:u(?:8|16|32|64|128|256))?/dgv,name:"constant.numeric.move"},{begin:/\bb"/dgv,end:/"/dgv,name:"meta.vector.literal.ascii.move",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.move"},{match:/\\[\x00"nrt]/dgv,name:"constant.character.escape.move"},{match:/\\x\p{AHex}\p{AHex}/dgv,name:"constant.character.escape.hex.move"},{match:/[\x00-\x7F]/dgv,name:"string.quoted.double.raw.move"}]},{begin:/x"/dgv,end:/"/dgv,name:"meta.vector.literal.hex.move",patterns:[{match:/\p{AHex}+/dgv,name:"constant.character.move"}]},{match:/\b(?:true|false)\b/dgv,name:"constant.language.boolean.move"},{begin:/\b(vector)\b\[/dgv,captures:{"1":{name:"support.type.vector.move"}},end:/\]/dgv,name:"meta.vector.literal.move",patterns:[{include:"#expr"}]}]},local_call:{match:/\b([a-z][0-9_a-z]*)(?=[\(\<])/dgv,name:"entity.name.function.call.local.move"},macro:{begin:/\b(macro)\b/dgv,beginCaptures:{"1":{name:"keyword.control.macro.move"}},end:/(?<=\})/dgv,name:"meta.macro.move",patterns:[{include:"#comments"},{include:"#fun"}]},macro_call:{captures:{"2":{name:"support.function.macro.move"}},match:/(\b|\.)([a-z][0-9A-Z_a-z]*)!/dgv,name:"meta.macro.call"},match_expression:{begin:/\b(match)\b/dgv,beginCaptures:{"1":{name:"keyword.control.match.move"}},end:/(?<=\})/dgv,name:"meta.match.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#types"},{begin:/\{/dgv,end:/\}/dgv,name:"meta.match.block.move",patterns:[{match:/\b(=>)\b/dgv,name:"operator.match.move"},{include:"#expr"}]},{include:"#expr"}]},method_call:{captures:{"1":{name:"entity.name.function.call.path.move"}},match:/\.([a-z][0-9_a-z]*)(?=[\(\<])/dgv,name:"meta.path.call.move"},module:{begin:/\b(module)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.type.move"}},end:/(?<=[\;\}])/dgv,name:"meta.module.move",patterns:[{include:"#comments"},{begin:/(?<=\b(module)\b)/dgv,end:/(?=[\;\{])/dgv,patterns:[{include:"#comments"},{include:"#escaped_identifier"},{begin:/(?<=\b(module))/dgv,end:/(?=[\(\)\:\{])/dgv,name:"constant.other.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"}]},{begin:/(?<=::)/dgv,end:/(?=[\;\{\p{space}])/dgv,name:"entity.name.type.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"}]}]},{begin:/\{/dgv,end:/\}/dgv,name:"meta.module_scope.move",patterns:[{include:"#comments"},{include:"#annotation"},{include:"#entry"},{include:"#public-scope"},{include:"#public"},{include:"#native"},{include:"#import"},{include:"#friend"},{include:"#const"},{include:"#struct"},{include:"#has_ability"},{include:"#enum"},{include:"#macro"},{include:"#fun"},{include:"#spec"}]}]},module_access:{captures:{"1":{name:"meta.entity.name.type.accessed.module.move"},"2":{name:"entity.name.function.call.move"}},match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)::([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"meta.module_access.move"},module_label:{begin:/^\p{space}*(module)\b/dgv,end:/;\p{space}*(?=\n?$)/dgv,name:"meta.module.label.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{begin:/(?<=\bmodule\b)/dgv,end:/(?=[\(\)\:\{])/dgv,name:"constant.other.move"},{begin:/(?<=::)/dgv,end:/(?=[\{\p{space}])/dgv,name:"entity.name.type.move"}]},move_copy:{match:/\b(move|copy)\b/dgv,name:"variable.language.move"},mut:{match:/\b(mut)\b/dgv,name:"storage.modifier.mut.move"},native:{match:/\b(native)\b/dgv,name:"storage.modifier.visibility.native.move"},packed_field:{match:/[a-z][0-9_a-z]+\p{space}*:\p{space}*(?=\p{space})/dgv,name:"meta.struct.field.move"},paren:{begin:/\(/dgv,end:/\)/dgv,name:"meta.paren.move",patterns:[{include:"#expr"}]},path_access:{match:/\.[a-z][0-9_a-z]*\b/dgv,name:"meta.path.access.move"},phantom:{match:/\b(phantom)\b/dgv,name:"keyword.control.phantom.move"},primitives:{match:/\b(u8|u16|u32|u64|u128|u256|address|bool|signer)\b/dgv,name:"support.type.primitives.move"},public:{match:/\b(public)\b/dgv,name:"storage.modifier.visibility.public.move"},"public-scope":{begin:/(?<=\b(public))\p{space}*\(/dgv,end:/\)/dgv,name:"meta.public.scoped.move",patterns:[{include:"#comments"},{match:/\b(friend|script|package)\b/dgv,name:"keyword.control.public.scope.move"}]},resource_methods:{match:/\b(borrow_global|borrow_global_mut|exists|move_from|move_to_sender|move_to)\b/dgv,name:"support.function.typed.move"},script:{begin:/\b(script)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.script.move"}},end:/(?<=\})/dgv,name:"meta.script.move",patterns:[{include:"#comments"},{begin:/\{/dgv,end:/\}/dgv,name:"meta.script_scope.move",patterns:[{include:"#const"},{include:"#comments"},{include:"#import"},{include:"#fun"}]}]},self_access:{captures:{"1":{name:"variable.language.self.move"},"2":{name:"entity.name.function.call.move"}},match:/\b(Self)::([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"meta.self_access.move"},spec:{begin:/\b(spec)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.spec.move"}},end:/(?<=[\;\}])/dgv,name:"meta.spec.move",patterns:[{match:/\b(module|schema|struct|fun)/dgv,name:"storage.modifier.spec.target.move"},{match:/\b(define)/dgv,name:"storage.modifier.spec.define.move"},{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.function.move"},{begin:/\{/dgv,end:/\}/dgv,patterns:[{include:"#comments"},{include:"#spec_block"},{include:"#spec_types"},{include:"#spec_define"},{include:"#spec_keywords"},{include:"#control"},{include:"#fun_call"},{include:"#literals"},{include:"#types"},{include:"#let"}]}]},spec_block:{begin:/\{/dgv,end:/\}/dgv,name:"meta.spec_block.move",patterns:[{include:"#comments"},{include:"#spec_block"},{include:"#spec_types"},{include:"#fun_call"},{include:"#literals"},{include:"#control"},{include:"#types"},{include:"#let"}]},spec_define:{begin:/\b(define)\b/dgv,beginCaptures:{"1":{name:"keyword.control.move.spec"}},end:/(?=[\;\{])/dgv,name:"meta.spec_define.move",patterns:[{include:"#comments"},{include:"#spec_types"},{include:"#types"},{begin:/(?<=\bdefine)/dgv,end:/(?=\()/dgv,patterns:[{include:"#comments"},{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.function.move"}]}]},spec_keywords:{match:/\b(global|pack|unpack|pragma|native|include|ensures|requires|invariant|apply|aborts_if|modifies)\b/dgv,name:"keyword.control.move.spec"},spec_types:{match:/\b(range|num|vector|bool|u8|u16|u32|u64|u128|u256|address)\b/dgv,name:"support.type.vector.move"},struct:{begin:/\b(struct)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.type.move"}},end:/(?<=[\)\;\}])/dgv,name:"meta.struct.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#has"},{include:"#abilities"},{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"entity.name.type.struct.move"},{begin:/\(/dgv,end:/\)/dgv,name:"meta.struct.paren.move",patterns:[{include:"#comments"},{include:"#capitalized"},{include:"#types"}]},{include:"#type_param"},{begin:/\(/dgv,end:/(?<=\))/dgv,name:"meta.struct.paren.move",patterns:[{include:"#comments"},{include:"#types"}]},{begin:/\{/dgv,end:/\}/dgv,name:"meta.struct.body.move",patterns:[{include:"#comments"},{include:"#self_access"},{include:"#escaped_identifier"},{include:"#module_access"},{include:"#expr_generic"},{include:"#capitalized"},{include:"#types"}]},{include:"#has_ability"}]},struct_pack:{begin:/(?<=[0-9\>A-Z_a-z])\p{space}*\{/dgv,end:/\}/dgv,name:"meta.struct.pack.move",patterns:[{include:"#comments"}]},type_param:{begin:/</dgv,end:/>/dgv,name:"meta.generic_param.move",patterns:[{include:"#comments"},{include:"#phantom"},{include:"#capitalized"},{include:"#module_access"},{include:"#abilities"}]},types:{name:"meta.types.move",patterns:[{include:"#primitives"},{include:"#vector"}]},use_fun:{begin:/\b(fun)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.fun.move"}},end:/(?=;)/dgv,name:"meta.import.fun.move",patterns:[{include:"#comments"},{match:/\b(as)\b/dgv,name:"keyword.control.as.move"},{match:/\b(Self)\b/dgv,name:"variable.language.self.use.fun.move"},{match:/\b(_______[a-z][0-9_a-z]+)\b/dgv,name:"entity.name.function.use.move"},{include:"#types"},{include:"#escaped_identifier"},{include:"#capitalized"}]},vector:{match:/\b(vector)\b/dgv,name:"support.type.vector.move"}},scopeName:"source.move",embeddedLangs:undefined,aliases:undefined})
|
|
2
2
|
|
|
3
3
|
export default [
|
|
4
4
|
lang
|
package/dist/nushell.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EmulatedRegExp } from 'oniguruma-to-es'
|
|
2
2
|
|
|
3
|
-
const lang = Object.freeze({displayName:"nushell",name:"nushell",patterns:[{include:"#define-variable"},{include:"#define-alias"},{include:"#function"},{include:"#extern"},{include:"#module"},{include:"#use-module"},{include:"#expression"},{include:"#comment"}],repository:{binary:{begin:/\b(0x)(\[)/dgv,beginCaptures:{"1":{name:"constant.numeric.nushell"},"2":{name:"meta.brace.square.begin.nushell"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.begin.nushell"}},name:"constant.binary.nushell",patterns:[{match:/\p{AHex}{2}/dgv,name:"constant.numeric.nushell"}]},"braced-expression":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.nushell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.nushell"}},name:"meta.expression.braced.nushell",patterns:[{begin:/(?<=\{)\p{space}*\|/dgv,end:/\|/dgv,name:"meta.closure.parameters.nushell",patterns:[{include:"#function-parameter"}]},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"keyword.control.nushell"}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(:)\p{space}*/dgv},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"variable.other.nushell",patterns:[{include:"#paren-expression"}]},"3":{name:"keyword.control.nushell"}},match:/(\$"((?:[^"\\]|\\[^\n])*)")\p{space}*(:)\p{space}*/dgv,name:"meta.record-entry.nushell"},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"keyword.control.nushell"}},match:/("(?:[^"\\]|\\[^\n])*")\p{space}*(:)\p{space}*/dgv,name:"meta.record-entry.nushell"},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"variable.other.nushell",patterns:[{include:"#paren-expression"}]},"3":{name:"keyword.control.nushell"}},match:/(\$'([^']*)')\p{space}*(:)\p{space}*/dgv,name:"meta.record-entry.nushell"},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"keyword.control.nushell"}},match:/('[^']*')\p{space}*(:)\p{space}*/dgv,name:"meta.record-entry.nushell"},{include:"#spread"},{include:"source.nushell"}]},command:{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:(\^)|(?![\$0-9]))([\!\.\p{L}\p{M}\p{N}\p{Pc}]+(?: (?!-)[\-\!\.\p{L}\p{M}\p{N}\p{Pc}]+(?:(?=[ \)])|(?=\n?$))|[\-\!\.\p{L}\p{M}\p{N}\p{Pc}]+)*|(?<=\^)\$?(?:"[^"]+"|'[^']+'))/dgv,beginCaptures:{"1":{name:"keyword.operator.nushell"},"2":{patterns:[{include:"#control-keywords"},{captures:{"0":{name:"keyword.other.builtin.nushell"}},match:/(?:ansi|char) [\p{L}\p{M}\p{N}\p{Pc}]+/dgv},{captures:{"1":{name:"keyword.other.builtin.nushell"},"2":{patterns:[{include:"#value"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(a(?:l(?:ias|l)|n(?:si(?: (?:gradient|link|strip))?|y)|ppend|st)|b(?:g|its(?: (?:and|not|or|ro[lr]|sh[lr]|xor))?|reak|ytes(?: (?:a(?:dd|t)|build|collect|ends-with|index-of|length|re(?:move|place|verse)|starts-with))?)|c(?:al|d|h(?:ar|unks)|lear|o(?:l(?:lect|umns)|m(?:mandline(?: (?:edit|get-cursor|set-cursor))?|p(?:act|lete))|n(?:fig(?: (?:env|nu|reset))?|st|tinue))|p)|d(?:ate(?: (?:format|humanize|list-timezone|now|to-(?:record|t(?:able|imezone))))?|e(?:bug(?: (?:info|profile))?|code(?: (?:base(?:32(?:hex)?|64)|hex|new-base64))?|f(?:ault)?|scribe|tect columns)|o|rop(?: (?:column|nth))?|t(?: (?:add|diff|format|now|part|to|utcnow))?|u)|e(?:ach(?: while)?|cho|moji|n(?:code(?: (?:base(?:32(?:hex)?|64)|hex|new-base64))?|umerate)|rror make|very|x(?:ec|it|p(?:l(?:ain|ore)|ort(?: (?:alias|const|def|extern|module|use)|-env)?)|tern))|f(?:i(?:l(?:[el]|ter)|nd|rst)|latten|mt|or(?:mat(?: (?:d(?:ate|uration)|filesize|pattern))?)?|rom(?: (?:csv|eml|i(?:cs|ni)|json|msgpackz?|nuon|ods|p(?:arquet|list)|ssv|t(?:oml|sv)|url|vcf|x(?:lsx|ml)|ya?ml))?)|g(?:e(?:nerate|t)|lob|r(?:id|oup(?:-by)?)|stat)|h(?:ash(?: (?:md5|sha256))?|e(?:aders|lp(?: (?:aliases|commands|e(?:scapes|xterns)|modules|operators))?)|i(?:de(?:-env)?|sto(?:gram|ry(?: session)?))|ttp(?: (?:delete|get|head|options|p(?:atch|ost|ut)))?)|i(?:f|gnore|n(?:c|put(?: list(?:en)?)?|s(?:ert|pect)|t(?:erleave|o(?: (?:b(?:i(?:nary|ts)|ool)|cell-path|d(?:atetime|uration)|f(?:ilesize|loat)|glob|int|record|s(?:qlite|tring)|value))?))|s-(?:admin|empty|not-empty|terminal)|tems)|j(?:oin|son path|walk)|k(?:eybindings(?: (?:default|list(?:en)?))?|ill)|l(?:ast|e(?:ngth|t(?:-env)?)|ines|o(?:ad-env|op)|s)|m(?:at(?:ch|h(?: (?:a(?:bs|rc(?:cosh?|sinh?|tanh?)|vg)|c(?:eil|osh?)|exp|floor|l(?:n|og)|m(?:ax|edian|in|ode)|product|round|s(?:inh?|qrt|tddev|um)|tanh?|variance))?)|d|e(?:rge|tadata(?: (?:access|set))?)|k(?:dir|temp)|o(?:dule|ve)|ut|v)|nu-(?:check|highlight)|o(?:pen|verlay(?: (?:hide|list|new|use))?)|p(?:a(?:nic|r(?:-each|se)|th(?: (?:basename|dirname|ex(?:ists|pand)|join|parse|relative-to|split|type))?)|lugin(?: (?:add|list|rm|stop|use))?|net|o(?:lars(?: (?:a(?:gg(?:-groups)?|ll-(?:false|true)|ppend|rg-(?:m(?:ax|in)|sort|true|unique|where)|s(?:-date(?:time)?)?)|c(?:a(?:che|st)|o(?:l(?:lect|umns)?|n(?:cat(?:-str)?|tains)|unt(?:-null)?)|umulative)|d(?:atepart|ecimal|rop(?:-(?:duplicates|nulls))?|ummies)|exp(?:lode|r-not)|f(?:etch|i(?:l(?:l-n(?:an|ull)|ter(?:-with)?)|rst)|latten)|g(?:et(?:-(?:day|hour|m(?:inute|onth)|nanosecond|ordinal|second|week(?:day)?|year))?|roup-by)|i(?:mplode|nt(?:eger|o-(?:df|lazy|nu))|s-(?:duplicated|in|n(?:ot-n|)ull|unique))|join|l(?:ast|it|owercase)|m(?:ax|e(?:an|dian)|in)|n(?:-unique|ot)|o(?:pen|therwise)|p(?:ivot|rofile)|qu(?:antile|ery)|r(?:e(?:name|place(?:-all)?|verse)|olling)|s(?:a(?:mple|ve)|chema|e(?:lect|t(?:-with-idx)?)|h(?:ape|ift)|lice|ort-by|t(?:d|ore-(?:get|ls|rm)|r(?:-(?:join|lengths|slice)|ftime))|um(?:mary)?)|take|u(?:n(?:ique|pivot)|ppercase)|va(?:lue-counts|r)|w(?:hen|ith-column)))?|rt)|r(?:epend|int)|s)|query(?: (?:db|git|json|web(?:page-info)?|xml))?|r(?:an(?:dom(?: (?:b(?:inary|ool)|chars|dice|float|int|uuid))?|ge)|e(?:duce|g(?:ex|istry query)|ject|name|turn|verse)|m|o(?:ll(?: (?:down|left|right|up))?|tate)|un-external)|s(?:ave|c(?:hema|ope(?: (?:aliases|commands|e(?:ngine-stats|xterns)|modules|variables))?)|e(?:lect|q(?: (?:char|date))?)|huffle|kip(?: (?:until|while))?|leep|o(?:rt(?:-by)?|urce(?:-env)?)|plit(?: (?:c(?:ell-path|hars|olumn)|list|row|words)|-by)?|t(?:art|or(?: (?:create|delete|export|i(?:mport|nsert)|open|reset|update))?|r(?: (?:c(?:a(?:mel-case|pitalize)|ontains)|d(?:istance|owncase)|e(?:nds-with|xpand)|index-of|join|kebab-case|length|pascal-case|re(?:place|verse)|s(?:creaming-snake-case|imilarity|nake-case|ta(?:rts-with|ts)|ubstring)|t(?:itle-case|rim)|upcase)|ess_internals)?)|ys(?: (?:cpu|disks|host|mem|net|temp|users))?)|t(?:a(?:ble|ke(?: (?:until|while))?)|e(?:e|rm size)|imeit|o(?: (?:csv|html|json|m(?:d|sgpackz?)|nuon|p(?:arquet|list)|t(?:ext|oml|sv)|xml|yaml)|uch)?|r(?:anspose|y)|utor)|u(?:limit|n(?:ame|iq(?:-by)?)|p(?:date(?: cells)?|sert)|rl(?: (?:build-query|decode|encode|join|parse))?|se)|v(?:alues|ersion|iew(?: (?:files|ir|s(?:ource|pan)))?)|w(?:atch|h(?:ere|i(?:ch|le)|oami)|i(?:ndow|th-env)|rap)|zip)(?![\\-\\p{L}\\p{M}\\p{N}\\p{Pc}])( ([^\\n]*))?","dgv",{"lazyCompile":true})},{captures:{"1":{patterns:[{include:"#paren-expression"}]}},match:/(?<=\^)(?:\$("[^"]+"|'[^']+')|"[^"]+"|'[^']+')/dgv,name:"entity.name.type.external.nushell"},{captures:{"1":{name:"entity.name.type.external.nushell"},"2":{patterns:[{include:"#value"}]}},match:/([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:-[\!\.\p{L}\p{M}\p{N}\p{Pc}]+)*)(?: ([^\n]*))?/dgv},{include:"#value"}]}},end:/(?=[\)\;\|\}])|(?=\n?$)/dgv,name:"meta.command.nushell",patterns:[{include:"#parameters"},{include:"#spread"},{include:"#value"}]},comment:{match:/(#[^\n]*)(?=\n?$)/dgv,name:"comment.nushell"},"constant-keywords":{match:/\b(?:true|false|null)\b/dgv,name:"constant.language.nushell"},"constant-value":{patterns:[{include:"#constant-keywords"},{include:"#datetime"},{include:"#numbers"},{include:"#numbers-hexa"},{include:"#numbers-octal"},{include:"#numbers-binary"},{include:"#binary"}]},"control-keywords":{match:/(?<![\--\:A-Z\\_a-z])(?:break|continue|else(?: if)?|for|if|loop|mut|return|try|while)(?![\--\:A-Z\\_a-z])/dgv,name:"keyword.control.nushell"},datetime:{match:/\b\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2}(?:T\p{Nd}{2}:\p{Nd}{2}:\p{Nd}{2}(?:\.\p{Nd}+)?(?:\+\p{Nd}{2}:?\p{Nd}{2}|Z)?)?\b/dgv,name:"constant.numeric.nushell"},"define-alias":{captures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.type.nushell"},"3":{patterns:[{include:"#operators"}]}},match:/((?:export )?alias)\p{space}+([\-\!\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(=)/dgv},"define-variable":{captures:{"1":{name:"keyword.other.nushell"},"2":{name:"variable.other.nushell"},"3":{patterns:[{include:"#operators"}]}},match:/(let|mut|(?:export\p{space}+)?const)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(=)/dgv},expression:{patterns:[{include:"#pre-command"},{include:"#for-loop"},{include:"#operators"},{match:/\|/dgv,name:"keyword.control.nushell"},{include:"#control-keywords"},{include:"#constant-value"},{include:"#string-raw"},{include:"#command"},{include:"#value"}]},extern:{begin:/((?:export\p{space}+)?extern)\p{space}+([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+")/dgv,beginCaptures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.type.nushell"}},end:/(?<=\])/dgv,endCaptures:{"0":{name:"punctuation.definition.function.end.nushell"}},patterns:[{include:"#function-parameters"}]},"for-loop":{begin:/(for)\p{space}+(\$?[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(in)\p{space}+([^\n]+)\p{space}*(\{)/dgv,beginCaptures:{"1":{name:"keyword.other.nushell"},"2":{name:"variable.other.nushell"},"3":{name:"keyword.other.nushell"},"4":{patterns:[{include:"#value"}]},"5":{name:"punctuation.section.block.begin.bracket.curly.nushell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.nushell"}},name:"meta.for-loop.nushell",patterns:[{include:"source.nushell"}]},function:{begin:/((?:export\p{space}+)?def(?:\p{space}+--[\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}+([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[\- \p{L}\p{M}\p{N}\p{Pc}]+'|`[\- \p{L}\p{M}\p{N}\p{Pc}]+`)(\p{space}+--[\p{L}\p{M}\p{N}\p{Pc}]+)*/dgv,beginCaptures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.type.nushell"},"3":{name:"entity.name.function.nushell"}},end:/(?<=\})/dgv,patterns:[{include:"#function-parameters"},{include:"#function-body"},{include:"#function-inout"}]},"function-body":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.function.begin.nushell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.function.end.nushell"}},name:"meta.function.body.nushell",patterns:[{include:"source.nushell"}]},"function-inout":{patterns:[{include:"#types"},{match:/->/dgv,name:"keyword.operator.nushell"},{include:"#function-multiple-inout"}]},"function-multiple-inout":{begin:/(?<=\]\p{space}*)(:)\p{space}+(\[)/dgv,beginCaptures:{"1":{name:"punctuation.definition.in-out.nushell"},"2":{name:"meta.brace.square.begin.nushell"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.end.nushell"}},patterns:[{include:"#types"},{captures:{"1":{name:"punctuation.separator.nushell"}},match:/\p{space}*(,)\p{space}*/dgv},{captures:{"1":{name:"keyword.operator.nushell"}},match:/\p{space}+(->)\p{space}+/dgv}]},"function-parameter":{patterns:[{captures:{"1":{name:"keyword.control.nushell"}},match:/(-{0,2}|\.{3})[\-\p{L}\p{M}\p{N}\p{Pc}]+(?:\((-[\?\p{L}\p{M}\p{N}\p{Pc}])\))?/dgv,name:"variable.parameter.nushell"},{begin:/\??:\p{space}*/dgv,end:/(?=\p{space}+(?:-{0,2}|\.{3})[\-\p{L}\p{M}\p{N}\p{Pc}]+|\p{space}*(?:[\]\#\,\=\@\|]|(?=\n?$)))/dgv,patterns:[{include:"#types"}]},{begin:/@(?=["'])/dgv,end:/(?<=["'])/dgv,patterns:[{include:"#string"}]},{begin:/=\p{space}*/dgv,end:/(?=\p{space}+-{0,2}[\-\p{L}\p{M}\p{N}\p{Pc}]+|\p{space}*(?:[\]\#\,\|]|(?=\n?$)))/dgv,name:"default.value.nushell",patterns:[{include:"#value"}]}]},"function-parameters":{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.brace.square.begin.nushell"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.end.nushell"}},name:"meta.function.parameters.nushell",patterns:[{include:"#function-parameter"},{include:"#comment"}]},"internal-variables":{match:/\$(?:nu|env)\b/dgv,name:"variable.language.nushell"},keyword:{match:/def(?:-env)?/dgv,name:"keyword.other.nushell"},module:{begin:/((?:export\p{space}+)?module)\p{space}+([\-\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*\{/dgv,beginCaptures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.namespace.nushell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.module.end.nushell"}},name:"meta.module.nushell",patterns:[{include:"source.nushell"}]},numbers:{match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\-\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(_*))\\1)[\\-\\+]?(?:(?=(_*))\\2)(?:(?:NaN|infinity|inf)(?:(?=(_*))\\3)|(?:\\p{Nd}(?:(?=([_\\p{Nd}]*))\\4)\\.?|\\.(?:(?=(_*))\\5)\\p{Nd})(?:(?=([_\\p{Nd}]*))\\6)(?:E(?:(?=(_*))\\7)[\\-\\+]?(?:(?=(_*))\\8)\\p{Nd}(?:(?=([_\\p{Nd}]*))\\9))?)(?:ns|us|µs|ms|sec|min|hr|day|wk|b|kb|mb|gb|tb|pt|eb|zb|kib|mib|gib|tib|pit|eib|zib)?(?:(?![\\.\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=\\.\\.))","dgiv",{"hiddenCaptures":[1,2,3,4,5,6,7,8,9]}),name:"constant.numeric.nushell"},"numbers-binary":{match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\-\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(_*))\\1)0(?:(?=(_*))\\2)b(?:(?=(_*))\\3)[01](?:(?=([01_]*))\\4)(?![\\.\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[1,2,3,4]}),name:"constant.numeric.nushell"},"numbers-hexa":{match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\-\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(_*))\\1)0(?:(?=(_*))\\2)x(?:(?=(_*))\\3)\\p{AHex}(?:(?=([_\\p{AHex}]*))\\4)(?![\\.\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[1,2,3,4]}),name:"constant.numeric.nushell"},"numbers-octal":{match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\-\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(_*))\\1)0(?:(?=(_*))\\2)o(?:(?=(_*))\\3)[0-7](?:(?=([0-7_]*))\\4)(?![\\.\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[1,2,3,4]}),name:"constant.numeric.nushell"},operators:{patterns:[{include:"#operators-word"},{include:"#operators-symbols"},{include:"#ranges"}]},"operators-symbols":{match:/(?<= )(?:[\-\*\+\/]=?|\/\/|\*\*|!=|[\<\=\>]=?|[\!\=]~|\+\+=?)(?= |(?=\n?$))/dgv,name:"keyword.control.nushell"},"operators-word":{match:/(?<=[ \(])(?:mod|in|not-(?:in|like|has)|not|and|or|xor|bit-(?:or|and|xor|shl|shr)|starts-with|ends-with|like|has)(?=[ \)]|(?=\n?$))/dgv,name:"keyword.control.nushell"},parameters:{captures:{"1":{name:"keyword.control.nushell"}},match:/(?<=\p{space})(-{1,2})[\-\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.nushell"},"paren-expression":{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.begin.nushell"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.end.nushell"}},name:"meta.expression.parenthesis.nushell",patterns:[{include:"#expression"}]},"pre-command":{begin:/([\p{L}\p{M}\p{N}\p{Pc}]+)(=)/dgv,beginCaptures:{"1":{name:"variable.other.nushell"},"2":{patterns:[{include:"#operators"}]}},end:/(?=\p{space}+)/dgv,patterns:[{include:"#value"}]},ranges:{match:/\.\.<?/dgv,name:"keyword.control.nushell"},spread:{match:/\.\.\.(?=[^\]\}\p{space}])/dgv,name:"keyword.control.nushell"},string:{patterns:[{include:"#string-single-quote"},{include:"#string-backtick"},{include:"#string-double-quote"},{include:"#string-interpolated-double"},{include:"#string-interpolated-single"},{include:"#string-raw"},{include:"#string-bare"}]},"string-backtick":{begin:/`/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/`/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.quoted.single.nushell"},"string-bare":{match:/[^"\#\$'\(\,\;\[\{\|\p{space}][^\]"'\(\)\,\;\[\{\|\}\p{space}]*/dgv,name:"string.bare.nushell"},"string-double-quote":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.quoted.double.nushell",patterns:[{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv},{include:"#string-escape"}]},"string-escape":{match:/\\(?:["'\/\\bfnrt]|u\p{AHex}{4})/dgv,name:"constant.character.escape.nushell"},"string-interpolated-double":{begin:/\$"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.interpolated.double.nushell",patterns:[{match:/\\[\(\)]/dgv,name:"constant.character.escape.nushell"},{include:"#string-escape"},{include:"#paren-expression"}]},"string-interpolated-single":{begin:/\$'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.interpolated.single.nushell",patterns:[{include:"#paren-expression"}]},"string-raw":{begin:/r(#+)'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/'\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.raw.nushell"},"string-single-quote":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.quoted.single.nushell"},table:{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.brace.square.begin.nushell"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.end.nushell"}},name:"meta.table.nushell",patterns:[{include:"#spread"},{include:"#value"},{match:/,/dgv,name:"punctuation.separator.nushell"}]},types:{patterns:[{begin:/\b(list)\p{space}*</dgv,beginCaptures:{"1":{name:"entity.name.type.nushell"}},end:/>/dgv,name:"meta.list.nushell",patterns:[{include:"#types"}]},{begin:/\b(record)\p{space}*</dgv,beginCaptures:{"1":{name:"entity.name.type.nushell"}},end:/>/dgv,name:"meta.record.nushell",patterns:[{captures:{"1":{name:"variable.parameter.nushell"}},match:/([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[^']+')\p{space}*:\p{space}*/dgv},{include:"#types"}]},{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.type.nushell"}]},"use-module":{patterns:[{captures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.namespace.nushell"},"3":{name:"keyword.other.nushell"}},match:/^\p{space}*((?:export )?use)\p{space}+([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[\- \p{L}\p{M}\p{N}\p{Pc}]+')(?:\p{space}+([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[\- \p{L}\p{M}\p{N}\p{Pc}]+'|\*))?\p{space}*;?(?=\n?$)/dgv},{begin:/^\p{space}*((?:export )?use)\p{space}+([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[\- \p{L}\p{M}\p{N}\p{Pc}]+')\p{space}*\[/dgv,beginCaptures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.namespace.nushell"}},end:/(\])\p{space}*;?\p{space}*(?=\n?$)/dgv,endCaptures:{"1":{name:"meta.brace.square.end.nushell"}},patterns:[{captures:{"1":{name:"keyword.other.nushell"}},match:/([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[\- \p{L}\p{M}\p{N}\p{Pc}]+'|\*),?/dgv},{include:"#comment"}]},{captures:{"2":{name:"entity.name.function.nushell"},"3":{name:"string.bare.nushell",patterns:[{captures:{"1":{name:"entity.name.namespace.nushell"}},match:/([\- \p{L}\p{M}\p{N}\p{Pc}]+)(?:\.nu)?(?=(?=\n?$)|["'])/dgv}]},"4":{name:"keyword.other.nushell"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<path>(?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?){0}^\\p{space}*((?:export )?use)\\p{space}+(\"((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?)\"|'((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?)'|(?![\"'])((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?))(?:\\p{space}+([\\-\\p{L}\\p{M}\\p{N}\\p{Pc}]+|\"[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+\"|'[^']+'|\\*))?\\p{space}*;?(?=\\n?$)","dgv",{"hiddenCaptures":[4,5,6],"transfers":[[1,[4,5,6]]]})},{begin:/*@__PURE__*/ new EmulatedRegExp("(?<path>(?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?){0}^\\p{space}*((?:export )?use)\\p{space}+(\"((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?)\"|'((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?)'|(?![\"'])((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?))\\p{space}+\\[","dgv",{"hiddenCaptures":[4,5,6],"transfers":[[1,[4,5,6]]]}),beginCaptures:{"2":{name:"entity.name.function.nushell"},"3":{name:"string.bare.nushell",patterns:[{captures:{"1":{name:"entity.name.namespace.nushell"}},match:/([\- \p{L}\p{M}\p{N}\p{Pc}]+)(?:\.nu)?(?=(?=\n?$)|["'])/dgv}]}},end:/(\])\p{space}*;?\p{space}*(?=\n?$)/dgv,endCaptures:{"1":{name:"meta.brace.square.end.nushell"}},patterns:[{captures:{"0":{name:"keyword.other.nushell"}},match:/([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[\- \p{L}\p{M}\p{N}\p{Pc}]+'|\*),?/dgv},{include:"#comment"}]},{captures:{"0":{name:"entity.name.function.nushell"}},match:/^\p{space}*(?:export )?use\b/dgv}]},value:{patterns:[{include:"#variables"},{include:"#variable-fields"},{include:"#control-keywords"},{include:"#constant-value"},{include:"#table"},{include:"#operators"},{include:"#paren-expression"},{include:"#braced-expression"},{include:"#string"},{include:"#comment"}]},"variable-fields":{match:/(?<=[\]\)\}])(?:\.(?:[\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"))+/dgv,name:"variable.other.nushell"},variables:{captures:{"1":{patterns:[{include:"#internal-variables"},{match:/\$[^\n]+/dgv,name:"variable.other.nushell"}]},"2":{name:"variable.other.nushell"}},match:/(\$[0-9A-Z_a-z]+)((?:\.(?:[\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"))*)/dgv}},scopeName:"source.nushell",embeddedLangs:undefined,aliases:["nu"]})
|
|
3
|
+
const lang = Object.freeze({displayName:"nushell",name:"nushell",patterns:[{include:"#define-variable"},{include:"#define-alias"},{include:"#function"},{include:"#extern"},{include:"#module"},{include:"#use-module"},{include:"#expression"},{include:"#comment"}],repository:{binary:{begin:/\b(0x)(\[)/dgv,beginCaptures:{"1":{name:"constant.numeric.nushell"},"2":{name:"meta.brace.square.begin.nushell"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.begin.nushell"}},name:"constant.binary.nushell",patterns:[{match:/\p{AHex}{2}/dgv,name:"constant.numeric.nushell"}]},"braced-expression":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.nushell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.nushell"}},name:"meta.expression.braced.nushell",patterns:[{begin:/(?<=\{)\p{space}*\|/dgv,end:/\|/dgv,name:"meta.closure.parameters.nushell",patterns:[{include:"#function-parameter"}]},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"keyword.control.nushell"}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(:)\p{space}*/dgv},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"variable.other.nushell",patterns:[{include:"#paren-expression"}]},"3":{name:"keyword.control.nushell"}},match:/(\$"((?:[^"\\]|\\[^\n])*)")\p{space}*(:)\p{space}*/dgv,name:"meta.record-entry.nushell"},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"keyword.control.nushell"}},match:/("(?:[^"\\]|\\[^\n])*")\p{space}*(:)\p{space}*/dgv,name:"meta.record-entry.nushell"},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"variable.other.nushell",patterns:[{include:"#paren-expression"}]},"3":{name:"keyword.control.nushell"}},match:/(\$'([^']*)')\p{space}*(:)\p{space}*/dgv,name:"meta.record-entry.nushell"},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"keyword.control.nushell"}},match:/('[^']*')\p{space}*(:)\p{space}*/dgv,name:"meta.record-entry.nushell"},{include:"#spread"},{include:"source.nushell"}]},command:{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:(\^)|(?![\$0-9]))([\!\.\p{L}\p{M}\p{N}\p{Pc}]+(?: (?!-)[\-\!\.\p{L}\p{M}\p{N}\p{Pc}]+(?:(?=[ \)])|(?=\n?$))|[\-\!\.\p{L}\p{M}\p{N}\p{Pc}]+)*|(?<=\^)\$?(?:"[^"]+"|'[^']+'))/dgv,beginCaptures:{"1":{name:"keyword.operator.nushell"},"2":{patterns:[{include:"#control-keywords"},{captures:{"0":{name:"keyword.other.builtin.nushell"}},match:/(?:ansi|char) [\p{L}\p{M}\p{N}\p{Pc}]+/dgv},{captures:{"1":{name:"keyword.other.builtin.nushell"},"2":{patterns:[{include:"#value"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(a(?:l(?:ias|l)|n(?:si(?: (?:gradient|link|strip))?|y)|ppend|st|ttr(?: (?:category|deprecated|example|search-terms))?)|b(?:its(?: (?:and|not|or|ro[lr]|sh[lr]|xor))?|reak|ytes(?: (?:a(?:dd|t)|build|collect|ends-with|index-of|length|re(?:move|place|verse)|s(?:plit|tarts-with)))?)|c(?:al|d|h(?:ar|unk(?:-by|s))|lear|o(?:l(?:lect|umns)|m(?:mandline(?: (?:edit|get-cursor|set-cursor))?|p(?:act|lete))|n(?:fig(?: (?:env|flatten|nu|reset|use-colors))?|st|tinue))|p)|d(?:ate(?: (?:f(?:ormat|rom-human)|humanize|list-timezone|now|to-timezone))?|e(?:bug(?: (?:e(?:nv|xperimental-options)|info|profile))?|code(?: (?:base(?:32(?:hex)?|64)|hex))?|f(?:ault)?|scribe|tect(?: columns)?)|o|rop(?: (?:column|nth))?|t(?: (?:add|diff|format|now|part|to|utcnow))?|u)|e(?:ach(?: while)?|cho|moji|n(?:code(?: (?:base(?:32(?:hex)?|64)|hex))?|umerate)|rror(?: make)?|very|x(?:ec|it|p(?:l(?:ain|ore)|ort(?: (?:alias|const|def|extern|module|use)|-env)?)|tern))|f(?:i(?:l(?:[el]|ter)|nd|rst)|latten|or(?:mat(?: (?:bits|d(?:ate|uration)|filesize|number|pattern))?)?|rom(?: (?:csv|eml|i(?:cs|ni)|json|msgpackz?|nuon|ods|p(?:arquet|list)|ssv|t(?:oml|sv)|url|vcf|x(?:lsx|ml)|ya?ml))?)|g(?:e(?:nerate|t)|lob|r(?:id|oup-by)|stat)|h(?:ash(?: (?:md5|sha256))?|e(?:aders|lp(?: (?:aliases|commands|e(?:scapes|xterns)|modules|operators|pipe-and-redirect))?)|i(?:de(?:-env)?|sto(?:gram|ry(?: (?:import|session))?))|ttp(?: (?:delete|get|head|options|p(?:atch|ost|ut)))?)|i(?:f|gnore|n(?:c|put(?: list(?:en)?)?|s(?:ert|pect)|t(?:erleave|o(?: (?:b(?:inary|ool)|cell-path|d(?:atetime|uration)|f(?:ilesize|loat)|glob|int|record|s(?:qlite|tring)|value))?))|s-(?:admin|empty|not-empty|terminal)|tems)|j(?:o(?:b(?: (?:flush|id|kill|list|recv|s(?:end|pawn)|tag|unfreeze))?|in)|son path|walk)|k(?:eybindings(?: (?:default|list(?:en)?))?|ill)|l(?:ast|e(?:ngth|t(?:-env)?)|ines|o(?:ad-env|op)|s)|m(?:at(?:ch|h(?: (?:a(?:bs|rc(?:cosh?|sinh?|tanh?)|vg)|c(?:eil|osh?)|exp|floor|l(?:n|og)|m(?:ax|edian|in|ode)|product|round|s(?:inh?|qrt|tddev|um)|tanh?|variance))?)|e(?:rge(?: deep)?|tadata(?: (?:access|set))?)|k(?:dir|temp)|o(?:dule|ve)|ut|v)|nu-(?:check|highlight)|o(?:pen|verlay(?: (?:hide|list|new|use))?)|p(?:a(?:nic|r(?:-each|se)|th(?: (?:basename|dirname|ex(?:ists|pand)|join|parse|relative-to|s(?:elf|plit)|type))?)|lugin(?: (?:add|list|rm|stop|use))?|o(?:lars(?: (?:a(?:gg(?:-groups)?|ll-(?:false|true)|ppend|rg-(?:m(?:ax|in)|sort|true|unique|where)|s(?:-date(?:time)?)?)|c(?:a(?:che|st)|o(?:l(?:lect|umns)?|n(?:cat(?:-str)?|tains|vert-time-zone)|unt(?:-null)?)|u(?:mulative|t))|d(?:atepart|ecimal|rop(?:-(?:duplicates|nulls))?|ummies)|exp(?:lode|r-not)|f(?:etch|i(?:l(?:l-n(?:an|ull)|ter(?:-with)?)|rst)|latten)|g(?:et(?:-(?:day|hour|m(?:inute|onth)|nanosecond|ordinal|second|week(?:day)?|year))?|roup-by)|horizontal|i(?:mplode|nt(?:eger|o-(?:d(?:f|type)|lazy|nu|repr|schema))|s-(?:duplicated|in|n(?:ot-n|)ull|unique))|join(?:-where)?|l(?:ast|en|i(?:st-contains|t)|owercase)|m(?:a(?:th|x)|e(?:an|dian)|in)|n(?:-unique|ot)|o(?:pen|therwise|ver)|p(?:ivot|rofile)|q(?:cut|u(?:antile|ery))|r(?:e(?:name|place(?:-time-zone)?|verse)|olling)|s(?:a(?:mple|ve)|chema|e(?:lect|t(?:-with-idx)?)|h(?:ape|ift)|lice|ort-by|t(?:d|ore-(?:get|ls|rm)|r(?:-(?:join|lengths|replace(?:-all)?|s(?:lice|plit|trip-chars))|ftime|uct-json-encode))|um(?:mary)?)|t(?:ake|runcate)|u(?:n(?:ique|nest|pivot)|ppercase)|va(?:lue-counts|r)|w(?:hen|ith-column)))?|rt)|r(?:epend|int)|s)|query(?: (?:db|git|json|web(?:page-info)?|xml))?|r(?:andom(?: (?:b(?:inary|ool)|chars|dice|float|int|uuid))?|e(?:duce|g(?:ex|istry(?: query)?)|ject|name|turn|verse)|m|o(?:ll(?: (?:down|left|right|up))?|tate)|un-(?:ex|in)ternal)|s(?:ave|c(?:hema|ope(?: (?:aliases|commands|e(?:ngine-stats|xterns)|modules|variables))?)|e(?:lect|q(?: (?:char|date))?)|huffle|kip(?: (?:until|while))?|l(?:eep|ice)|o(?:rt(?:-by)?|urce(?:-env)?)|plit(?: (?:c(?:ell-path|hars|olumn)|list|row|words))?|t(?:art|or(?: (?:create|delete|export|i(?:mport|nsert)|open|reset|update))?|r(?: (?:c(?:a(?:mel-case|pitalize)|o(?:mpress|ntains))|d(?:e(?:compress|dent|unicode)|istance|owncase)|e(?:nds-with|xpand)|inde(?:nt|x-of)|join|kebab-case|length|pascal-case|re(?:place|verse)|s(?:creaming-snake-case|hl-(?:quote|split)|imilarity|lug|nake-case|ta(?:rts-with|ts)|ubstring)|t(?:itle-case|rim)|upcase|wrap)|ess_internals)?)|ys(?: (?:cpu|disks|host|mem|net|temp|users))?)|t(?:a(?:ble|ke(?: (?:until|while))?)|e(?:e|rm(?: (?:query|size))?)|imeit|o(?: (?:csv|html|json|m(?:d|sgpackz?)|nuon|p(?:arquet|list)|t(?:ext|oml|sv)|xml|ya?ml)|uch)?|r(?:anspose|y)|utor)|u(?:limit|n(?:ame|iq(?:-by)?)|p(?:date(?: cells)?|sert)|rl(?: (?:build-query|decode|encode|join|parse|split-query))?|se)|v(?:alues|ersion(?: check)?|iew(?: (?:blocks|files|ir|s(?:ource|pan)))?)|w(?:atch|h(?:ere|i(?:ch|le)|oami)|i(?:ndow|th-env)|rap)|zip)(?![\\-\\p{L}\\p{M}\\p{N}\\p{Pc}])( ([^\\n]*))?","dgv",{"lazyCompile":true})},{captures:{"1":{patterns:[{include:"#paren-expression"}]}},match:/(?<=\^)(?:\$("[^"]+"|'[^']+')|"[^"]+"|'[^']+')/dgv,name:"entity.name.type.external.nushell"},{captures:{"1":{name:"entity.name.type.external.nushell"},"2":{patterns:[{include:"#value"}]}},match:/([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:-[\!\.\p{L}\p{M}\p{N}\p{Pc}]+)*)(?: ([^\n]*))?/dgv},{include:"#value"}]}},end:/(?=[\)\;\|\}])|(?=\n?$)/dgv,name:"meta.command.nushell",patterns:[{include:"#parameters"},{include:"#spread"},{include:"#value"}]},comment:{match:/(#[^\n]*)(?=\n?$)/dgv,name:"comment.nushell"},"constant-keywords":{match:/\b(?:true|false|null)\b/dgv,name:"constant.language.nushell"},"constant-value":{patterns:[{include:"#constant-keywords"},{include:"#datetime"},{include:"#numbers"},{include:"#numbers-hexa"},{include:"#numbers-octal"},{include:"#numbers-binary"},{include:"#binary"}]},"control-keywords":{match:/(?<![\--\:A-Z\\_a-z])(?:break|continue|else(?: if)?|for|if|loop|mut|return|try|while)(?![\--\:A-Z\\_a-z])/dgv,name:"keyword.control.nushell"},datetime:{match:/\b\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2}(?:T\p{Nd}{2}:\p{Nd}{2}:\p{Nd}{2}(?:\.\p{Nd}+)?(?:\+\p{Nd}{2}:?\p{Nd}{2}|Z)?)?\b/dgv,name:"constant.numeric.nushell"},"define-alias":{captures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.type.nushell"},"3":{patterns:[{include:"#operators"}]}},match:/((?:export )?alias)\p{space}+([\-\!\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(=)/dgv},"define-variable":{captures:{"1":{name:"keyword.other.nushell"},"2":{name:"variable.other.nushell"},"3":{patterns:[{include:"#operators"}]}},match:/(let|mut|(?:export\p{space}+)?const)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(=)/dgv},expression:{patterns:[{include:"#pre-command"},{include:"#for-loop"},{include:"#operators"},{match:/\|/dgv,name:"keyword.control.nushell"},{include:"#control-keywords"},{include:"#constant-value"},{include:"#string-raw"},{include:"#command"},{include:"#value"}]},extern:{begin:/((?:export\p{space}+)?extern)\p{space}+([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+")/dgv,beginCaptures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.type.nushell"}},end:/(?<=\])/dgv,endCaptures:{"0":{name:"punctuation.definition.function.end.nushell"}},patterns:[{include:"#function-parameters"}]},"for-loop":{begin:/(for)\p{space}+(\$?[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(in)\p{space}+([^\n]+)\p{space}*(\{)/dgv,beginCaptures:{"1":{name:"keyword.other.nushell"},"2":{name:"variable.other.nushell"},"3":{name:"keyword.other.nushell"},"4":{patterns:[{include:"#value"}]},"5":{name:"punctuation.section.block.begin.bracket.curly.nushell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.nushell"}},name:"meta.for-loop.nushell",patterns:[{include:"source.nushell"}]},function:{begin:/((?:export\p{space}+)?def(?:\p{space}+--[\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}+([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[\- \p{L}\p{M}\p{N}\p{Pc}]+'|`[\- \p{L}\p{M}\p{N}\p{Pc}]+`)(\p{space}+--[\p{L}\p{M}\p{N}\p{Pc}]+)*/dgv,beginCaptures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.type.nushell"},"3":{name:"entity.name.function.nushell"}},end:/(?<=\})/dgv,patterns:[{include:"#function-parameters"},{include:"#function-body"},{include:"#function-inout"}]},"function-body":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.function.begin.nushell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.function.end.nushell"}},name:"meta.function.body.nushell",patterns:[{include:"source.nushell"}]},"function-inout":{patterns:[{include:"#types"},{match:/->/dgv,name:"keyword.operator.nushell"},{include:"#function-multiple-inout"}]},"function-multiple-inout":{begin:/(?<=\]\p{space}*)(:)\p{space}+(\[)/dgv,beginCaptures:{"1":{name:"punctuation.definition.in-out.nushell"},"2":{name:"meta.brace.square.begin.nushell"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.end.nushell"}},patterns:[{include:"#types"},{captures:{"1":{name:"punctuation.separator.nushell"}},match:/\p{space}*(,)\p{space}*/dgv},{captures:{"1":{name:"keyword.operator.nushell"}},match:/\p{space}+(->)\p{space}+/dgv}]},"function-parameter":{patterns:[{captures:{"1":{name:"keyword.control.nushell"}},match:/(-{0,2}|\.{3})[\-\p{L}\p{M}\p{N}\p{Pc}]+(?:\((-[\?\p{L}\p{M}\p{N}\p{Pc}])\))?/dgv,name:"variable.parameter.nushell"},{begin:/\??:\p{space}*/dgv,end:/(?=\p{space}+(?:-{0,2}|\.{3})[\-\p{L}\p{M}\p{N}\p{Pc}]+|\p{space}*(?:[\]\#\,\=\@\|]|(?=\n?$)))/dgv,patterns:[{include:"#types"}]},{begin:/@(?=["'])/dgv,end:/(?<=["'])/dgv,patterns:[{include:"#string"}]},{begin:/=\p{space}*/dgv,end:/(?=\p{space}+-{0,2}[\-\p{L}\p{M}\p{N}\p{Pc}]+|\p{space}*(?:[\]\#\,\|]|(?=\n?$)))/dgv,name:"default.value.nushell",patterns:[{include:"#value"}]}]},"function-parameters":{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.brace.square.begin.nushell"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.end.nushell"}},name:"meta.function.parameters.nushell",patterns:[{include:"#function-parameter"},{include:"#comment"}]},"internal-variables":{match:/\$(?:nu|env)\b/dgv,name:"variable.language.nushell"},keyword:{match:/def(?:-env)?/dgv,name:"keyword.other.nushell"},module:{begin:/((?:export\p{space}+)?module)\p{space}+([\-\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*\{/dgv,beginCaptures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.namespace.nushell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.module.end.nushell"}},name:"meta.module.nushell",patterns:[{include:"source.nushell"}]},numbers:{match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\-\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(_*))\\1)[\\-\\+]?(?:(?=(_*))\\2)(?:(?:NaN|infinity|inf)(?:(?=(_*))\\3)|(?:\\p{Nd}(?:(?=([_\\p{Nd}]*))\\4)\\.?|\\.(?:(?=(_*))\\5)\\p{Nd})(?:(?=([_\\p{Nd}]*))\\6)(?:E(?:(?=(_*))\\7)[\\-\\+]?(?:(?=(_*))\\8)\\p{Nd}(?:(?=([_\\p{Nd}]*))\\9))?)(?:ns|us|µs|ms|sec|min|hr|day|wk|b|kb|mb|gb|tb|pt|eb|zb|kib|mib|gib|tib|pit|eib|zib)?(?:(?![\\.\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=\\.\\.))","dgiv",{"hiddenCaptures":[1,2,3,4,5,6,7,8,9]}),name:"constant.numeric.nushell"},"numbers-binary":{match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\-\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(_*))\\1)0(?:(?=(_*))\\2)b(?:(?=(_*))\\3)[01](?:(?=([01_]*))\\4)(?![\\.\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[1,2,3,4]}),name:"constant.numeric.nushell"},"numbers-hexa":{match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\-\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(_*))\\1)0(?:(?=(_*))\\2)x(?:(?=(_*))\\3)\\p{AHex}(?:(?=([_\\p{AHex}]*))\\4)(?![\\.\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[1,2,3,4]}),name:"constant.numeric.nushell"},"numbers-octal":{match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\-\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(_*))\\1)0(?:(?=(_*))\\2)o(?:(?=(_*))\\3)[0-7](?:(?=([0-7_]*))\\4)(?![\\.\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[1,2,3,4]}),name:"constant.numeric.nushell"},operators:{patterns:[{include:"#operators-word"},{include:"#operators-symbols"},{include:"#ranges"}]},"operators-symbols":{match:/(?<= )(?:[\-\*\+\/]=?|\/\/|\*\*|!=|[\<\=\>]=?|[\!\=]~|\+\+=?)(?= |(?=\n?$))/dgv,name:"keyword.control.nushell"},"operators-word":{match:/(?<=[ \(])(?:mod|in|not-(?:in|like|has)|not|and|or|xor|bit-(?:or|and|xor|shl|shr)|starts-with|ends-with|like|has)(?=[ \)]|(?=\n?$))/dgv,name:"keyword.control.nushell"},parameters:{captures:{"1":{name:"keyword.control.nushell"}},match:/(?<=\p{space})(-{1,2})[\-\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.nushell"},"paren-expression":{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.begin.nushell"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.end.nushell"}},name:"meta.expression.parenthesis.nushell",patterns:[{include:"#expression"}]},"pre-command":{begin:/([\p{L}\p{M}\p{N}\p{Pc}]+)(=)/dgv,beginCaptures:{"1":{name:"variable.other.nushell"},"2":{patterns:[{include:"#operators"}]}},end:/(?=\p{space}+)/dgv,patterns:[{include:"#value"}]},ranges:{match:/\.\.<?/dgv,name:"keyword.control.nushell"},spread:{match:/\.\.\.(?=[^\]\}\p{space}])/dgv,name:"keyword.control.nushell"},string:{patterns:[{include:"#string-single-quote"},{include:"#string-backtick"},{include:"#string-double-quote"},{include:"#string-interpolated-double"},{include:"#string-interpolated-single"},{include:"#string-raw"},{include:"#string-bare"}]},"string-backtick":{begin:/`/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/`/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.quoted.single.nushell"},"string-bare":{match:/[^"\#\$'\(\,\;\[\{\|\p{space}][^\]"'\(\)\,\;\[\{\|\}\p{space}]*/dgv,name:"string.bare.nushell"},"string-double-quote":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.quoted.double.nushell",patterns:[{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv},{include:"#string-escape"}]},"string-escape":{match:/\\(?:["'\/\\bfnrt]|u\p{AHex}{4})/dgv,name:"constant.character.escape.nushell"},"string-interpolated-double":{begin:/\$"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.interpolated.double.nushell",patterns:[{match:/\\[\(\)]/dgv,name:"constant.character.escape.nushell"},{include:"#string-escape"},{include:"#paren-expression"}]},"string-interpolated-single":{begin:/\$'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.interpolated.single.nushell",patterns:[{include:"#paren-expression"}]},"string-raw":{begin:/r(#+)'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/'\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.raw.nushell"},"string-single-quote":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.quoted.single.nushell"},table:{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.brace.square.begin.nushell"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.end.nushell"}},name:"meta.table.nushell",patterns:[{include:"#spread"},{include:"#value"},{match:/,/dgv,name:"punctuation.separator.nushell"}]},types:{patterns:[{begin:/\b(list)\p{space}*</dgv,beginCaptures:{"1":{name:"entity.name.type.nushell"}},end:/>/dgv,name:"meta.list.nushell",patterns:[{include:"#types"}]},{begin:/\b(record)\p{space}*</dgv,beginCaptures:{"1":{name:"entity.name.type.nushell"}},end:/>/dgv,name:"meta.record.nushell",patterns:[{captures:{"1":{name:"variable.parameter.nushell"}},match:/([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[^']+')\p{space}*:\p{space}*/dgv},{include:"#types"}]},{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.type.nushell"}]},"use-module":{patterns:[{captures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.namespace.nushell"},"3":{name:"keyword.other.nushell"}},match:/^\p{space}*((?:export )?use)\p{space}+([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[\- \p{L}\p{M}\p{N}\p{Pc}]+')(?:\p{space}+([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[\- \p{L}\p{M}\p{N}\p{Pc}]+'|\*))?\p{space}*;?(?=\n?$)/dgv},{begin:/^\p{space}*((?:export )?use)\p{space}+([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[\- \p{L}\p{M}\p{N}\p{Pc}]+')\p{space}*\[/dgv,beginCaptures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.namespace.nushell"}},end:/(\])\p{space}*;?\p{space}*(?=\n?$)/dgv,endCaptures:{"1":{name:"meta.brace.square.end.nushell"}},patterns:[{captures:{"1":{name:"keyword.other.nushell"}},match:/([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[\- \p{L}\p{M}\p{N}\p{Pc}]+'|\*),?/dgv},{include:"#comment"}]},{captures:{"2":{name:"entity.name.function.nushell"},"3":{name:"string.bare.nushell",patterns:[{captures:{"1":{name:"entity.name.namespace.nushell"}},match:/([\- \p{L}\p{M}\p{N}\p{Pc}]+)(?:\.nu)?(?=(?=\n?$)|["'])/dgv}]},"4":{name:"keyword.other.nushell"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<path>(?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?){0}^\\p{space}*((?:export )?use)\\p{space}+(\"((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?)\"|'((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?)'|(?![\"'])((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?))(?:\\p{space}+([\\-\\p{L}\\p{M}\\p{N}\\p{Pc}]+|\"[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+\"|'[^']+'|\\*))?\\p{space}*;?(?=\\n?$)","dgv",{"hiddenCaptures":[4,5,6],"transfers":[[1,[4,5,6]]]})},{begin:/*@__PURE__*/ new EmulatedRegExp("(?<path>(?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?){0}^\\p{space}*((?:export )?use)\\p{space}+(\"((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?)\"|'((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?)'|(?![\"'])((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?))\\p{space}+\\[","dgv",{"hiddenCaptures":[4,5,6],"transfers":[[1,[4,5,6]]]}),beginCaptures:{"2":{name:"entity.name.function.nushell"},"3":{name:"string.bare.nushell",patterns:[{captures:{"1":{name:"entity.name.namespace.nushell"}},match:/([\- \p{L}\p{M}\p{N}\p{Pc}]+)(?:\.nu)?(?=(?=\n?$)|["'])/dgv}]}},end:/(\])\p{space}*;?\p{space}*(?=\n?$)/dgv,endCaptures:{"1":{name:"meta.brace.square.end.nushell"}},patterns:[{captures:{"0":{name:"keyword.other.nushell"}},match:/([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[\- \p{L}\p{M}\p{N}\p{Pc}]+'|\*),?/dgv},{include:"#comment"}]},{captures:{"0":{name:"entity.name.function.nushell"}},match:/^\p{space}*(?:export )?use\b/dgv}]},value:{patterns:[{include:"#variables"},{include:"#variable-fields"},{include:"#control-keywords"},{include:"#constant-value"},{include:"#table"},{include:"#operators"},{include:"#paren-expression"},{include:"#braced-expression"},{include:"#string"},{include:"#comment"}]},"variable-fields":{match:/(?<=[\]\)\}])(?:\.(?:[\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"))+/dgv,name:"variable.other.nushell"},variables:{captures:{"1":{patterns:[{include:"#internal-variables"},{match:/\$[^\n]+/dgv,name:"variable.other.nushell"}]},"2":{name:"variable.other.nushell"}},match:/(\$[0-9A-Z_a-z]+)((?:\.(?:[\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"))*)/dgv}},scopeName:"source.nushell",embeddedLangs:undefined,aliases:["nu"]})
|
|
4
4
|
|
|
5
5
|
export default [
|
|
6
6
|
lang
|
package/dist/swift.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EmulatedRegExp } from 'oniguruma-to-es'
|
|
2
2
|
|
|
3
|
-
const lang = Object.freeze({displayName:"Swift",fileTypes:["swift"],firstLineMatch:/^#!\/[^\n]*\bswift/dgv,name:"swift",patterns:[{include:"#root"}],repository:{"async-throws":{captures:{"1":{name:"invalid.illegal.await-must-precede-throws.swift"},"2":{name:"storage.modifier.exception.swift"},"3":{name:"storage.modifier.async.swift"}},match:/\b(?:((?:throws\p{space}+|rethrows\p{space}+)async)|((?:|re)throws)|(async))\b/dgv},attributes:{patterns:[{begin:/((@)available)(\()/dgv,beginCaptures:{"1":{name:"storage.modifier.attribute.swift"},"2":{name:"punctuation.definition.attribute.swift"},"3":{name:"punctuation.definition.arguments.begin.swift"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.swift"}},name:"meta.attribute.available.swift",patterns:[{captures:{"1":{name:"keyword.other.platform.os.swift"},"2":{name:"constant.numeric.swift"}},match:/\b(swift|(?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\b(?:\p{space}+([0-9]+(?:\.[0-9]+)*)\b)?/dgv},{begin:/\b((?:introduc|deprecat|obsolet)ed)\p{space}*(:)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.swift"},"2":{name:"punctuation.separator.key-value.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{match:/\b[0-9]+(?:\.[0-9]+)*\b/dgv,name:"constant.numeric.swift"}]},{begin:/\b(message|renamed)\p{space}*(:)\p{space}*(?=")/dgv,beginCaptures:{"1":{name:"keyword.other.swift"},"2":{name:"punctuation.separator.key-value.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{include:"#literals"}]},{captures:{"1":{name:"keyword.other.platform.all.swift"},"2":{name:"keyword.other.swift"},"3":{name:"invalid.illegal.character-not-allowed-here.swift"}},match:/(?:(\*)|\b(deprecated|unavailable|noasync)\b)\p{space}*([^\n]*?)(?=[\)\,])/dgv}]},{begin:/((@)objc)(\()/dgv,beginCaptures:{"1":{name:"storage.modifier.attribute.swift"},"2":{name:"punctuation.definition.attribute.swift"},"3":{name:"punctuation.definition.arguments.begin.swift"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.swift"}},name:"meta.attribute.objc.swift",patterns:[{captures:{"1":{name:"invalid.illegal.missing-colon-after-selector-piece.swift"}},match:/[\p{L}\p{M}\p{N}\p{Pc}]*(?::(?:[\p{L}\p{M}\p{N}\p{Pc}]*:)*([\p{L}\p{M}\p{N}\p{Pc}]*))?/dgv,name:"entity.name.function.swift"}]},{begin:/(@)(?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2)/dgv,beginCaptures:{"0":{name:"storage.modifier.attribute.swift"},"1":{name:"punctuation.definition.attribute.swift"},"2":{name:"punctuation.definition.identifier.swift"},"3":{name:"punctuation.definition.identifier.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^\\()","dgv",{"strategy":"clip_search"}),name:"meta.attribute.swift",patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.arguments.begin.swift"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.swift"}},name:"meta.arguments.attribute.swift",patterns:[{include:"#expressions"}]}]}]},"builtin-functions":{patterns:[{match:/(?<=\.)(?:s(?:ort(?:ed)?|plit)|contains|index|partition|f(?:i(?:lter|rst)|orEach|latMap)|with(?:MutableCharacters|CString|U(?:nsafe(?:Mutable(?:BufferPointer|Pointer(?:s|To(?:Header|Elements)))|BufferPointer)|TF8Buffer))|m(?:in|a[px]))(?=\p{space}*[\(\{])\b/dgv,name:"support.function.swift"},{match:/(?<=\.)(?:s(?:ymmetricDifference|t(?:oreBytes|arts|ride)|ortInPlace|u(?:ccessor|ffix|btract(?:ing|InPlace|WithOverflow)?)|quareRoot|amePosition)|h(?:oldsUnique(?:|OrPinned)Reference|as(?:Suf|Pre)fix)|ne(?:gated?|xt)|c(?:o(?:untByEnumerating|py(?:Bytes)?)|lamp(?:ed)?|reate)|t(?:o(?:IntMax|Opaque|UIntMax)|ake(?:R|Unr)etainedValue|r(?:uncatingRemainder|a(?:nscodedLength|ilSurrogate)))|i(?:s(?:MutableAndUniquelyReferenced(?:OrPinned)?|S(?:trictSu(?:perset(?:Of)?|bset(?:Of)?)|u(?:perset(?:Of)?|bset(?:Of)?))|Continuation|T(?:otallyOrdered|railSurrogate)|Disjoint(?:With)?|Unique(?:Reference|lyReferenced(?:OrPinned)?)|Equal|Le(?:ss(?:ThanOrEqualTo)?|adSurrogate))|n(?:sert(?:ContentsOf)?|tersect(?:ion|InPlace)?|itialize(?:Memory|From)?|dex(?:Of|ForKey)))|o(?:verlaps|bjectAt)|d(?:i(?:stance(?:To)?|vide(?:d|WithOverflow)?)|e(?:s(?:cendant|troy)|code(?:CString)?|initialize|alloc(?:ate(?:Capacity)?)?)|rop(?:First|Last))|u(?:n(?:ion(?:InPlace)?|derestimateCount|wrappedOrError)|p(?:date(?:Value)?|percased))|join(?:ed|WithSeparator)|p(?:op(?:First|Last)|ass(?:R|Unr)etained|re(?:decessor|fix))|e(?:scaped?|n(?:code|umerated?)|lementsEqual|xclusiveOr(?:InPlace)?)|f(?:orm(?:Remainder|S(?:ymmetricDifference|quareRoot)|TruncatingRemainder|In(?:tersection|dex)|Union)|latten|rom(?:CString(?:RepairingIllFormedUTF8)?|Opaque))|w(?:i(?:thMemoryRebound|dth)|rite(?:To)?)|l(?:o(?:wercased|ad)|e(?:adSurrogate|xicographical(?:Compare|lyPrecedes)))|a(?:ss(?:ign(?:(?:Backward|)From)?|umingMemoryBound)|d(?:d(?:ing(?:Product)?|Product|WithOverflow)?|vanced(?:By)?)|utorelease|ppend(?:ContentsOf)?|lloc(?:ate)?|bs)|r(?:ound(?:ed)?|e(?:serveCapacity|tain|duce|place(?:(?:R|Subr)ange)?|versed?|quest(?:Native|UniqueMutableBacking)Buffer|lease|m(?:ove(?:Range|Subrange|Value(?:ForKey)?|First|Last|A(?:tIndex|ll))?|ainder(?:WithOverflow)?)))|ge(?:nerate|t(?:Objects|Element))|m(?:in(?:imum(?:Magnitude)?|Element)|ove(?:Initialize(?:Memory|BackwardFrom|From)?|Assign(?:From)?)?|ultipl(?:y(?:WithOverflow)?|ied)|easure|a(?:ke(?:Iterator|Description)|x(?:imum(?:Magnitude)?|Element)))|bindMemory)(?=\p{space}*\()/dgv,name:"support.function.swift"},{match:/(?<=\.)(?:s(?:uperclassMirror|amePositionIn|tartsWith)|nextObject|c(?:haracterAtIndex|o(?:untByEnumeratingWithState|pyWithZone)|ustom(?:Mirror|PlaygroundQuickLook))|is(?:EmptyInput|ASCII)|object(?:Enumerator|ForKey|AtIndex)|join|put|keyEnumerator|withUnsafeMutablePointerToValue|length|getMirror|m(?:oveInitializeAssignFrom|ember))(?=\p{space}*\()/dgv,name:"support.function.swift"}]},"builtin-global-functions":{patterns:[{begin:/\b(type)(\()\p{space}*(of)(:)/dgv,beginCaptures:{"1":{name:"support.function.dynamic-type.swift"},"2":{name:"punctuation.definition.arguments.begin.swift"},"3":{name:"support.variable.parameter.swift"},"4":{name:"punctuation.separator.argument-label.begin.swift"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.swift"}},patterns:[{include:"#expressions"}]},{match:/\ba(?:nyGenerator|utoreleasepool)(?=\p{space}*[\(\{])\b/dgv,name:"support.function.swift"},{match:/\b(?:s(?:tride(?:of(?:Value)?)?|izeof(?:Value)?|equence|wap)|numericCast|transcode|is(?:UniquelyReferenced(?:NonObjC)?|KnownUniquelyReferenced)|zip|d(?:ump|ebugPrint)|unsafe(?:BitCast|Downcast|Unwrap|Address(?:Of)?)|pr(?:int|econdition(?:Failure)?)|fatalError|with(?:Unsafe(?:Mutable|)Pointer|ExtendedLifetime|VaList)|a(?:ssert(?:ionFailure)?|lignof(?:Value)?|bs)|re(?:peatElement|adLine)|getVaList|m(?:in|ax))(?=\p{space}*\()/dgv,name:"support.function.swift"},{match:/\b(?:s(?:ort|uffix|pli(?:ce|t))|insert|overlaps|d(?:istance|rop(?:First|Last))|join|prefix|extend|withUnsafe(?:Mutable|)Pointers|lazy|advance|re(?:flect|move(?:Range|Last|A(?:tIndex|ll))))(?=\p{space}*\()/dgv,name:"support.function.swift"}]},"builtin-properties":{patterns:[{match:/(?<=(?:^|[^\p{L}\p{M}\p{N}\p{Pc}])(?:Process\.|CommandLine\.))(arguments|argc|unsafeArgv)/dgv,name:"support.variable.swift"},{match:/(?<=\.)(?:s(?:t(?:artIndex|ri(?:ngValue|de))|i(?:ze|gn(?:BitIndex|ificand(?:Bit(?:Count|Pattern)|Width)?|alingNaN)?)|u(?:perclassMirror|mmary|bscriptBaseAddress))|h(?:eader|as(?:hValue|PointerRepresentation))|n(?:ulTerminatedUTF8|ext(?:Down|Up)|a(?:n|tiveOwner))|c(?:haracters|ount(?:TrailingZeros)?|ustom(?:Mirror|PlaygroundQuickLook)|apacity)|i(?:s(?:S(?:ign(?:Minus|aling(?:NaN)?)|ubnormal)|N(?:ormal|aN)|Canonical|Infinite|Zero|Empty|Finite|ASCII)|n(?:dices|finity)|dentity)|owner|de(?:|bugDe)scription|u(?:n(?:safelyUnwrapped|icodeScalars?|derestimatedCount)|tf(?:16|8(?:Start|C(?:String|odeUnitCount))?)|intValue|ppercaseString|lp(?:OfOne)?)|p(?:i|ointee)|e(?:ndIndex|lements|xponent(?:Bit(?:Count|Pattern))?)|values?|keys|quietNaN|f(?:irst(?:ElementAddress(?:IfContiguous)?)?|loatingPointClass)|l(?:ittleEndian|owercaseString|eastNo(?:nzero|rmal)Magnitude|a(?:st|zy))|a(?:l(?:ignment|l(?:ocatedElementCount|Zeros))|rray(?:PropertyIsNativeTypeChecked)?)|ra(?:dix|wValue)|greatestFiniteMagnitude|m(?:in|emory|ax)|b(?:yteS(?:ize|wapped)|i(?:nade|tPattern|gEndian)|uffer|ase(?:Address)?))\b/dgv,name:"support.variable.swift"},{match:/(?<=\.)(?:boolValue|disposition|end|objectIdentifier|quickLookObject|start|valueType)\b/dgv,name:"support.variable.swift"},{match:/(?<=\.)(?:s(?:calarValue|i(?:ze|gnalingNaN)|o(?:und|me)|uppressed|prite|et)|n(?:one|egative(?:Subnormal|Normal|Infinity|Zero))|c(?:ol(?:or|lection)|ustomized)|t(?:o(?:NearestOr(?:Even|AwayFromZero)|wardZero)|uple|ext)|i(?:nt|mage)|optional|d(?:ictionary|o(?:uble|wn))|u(?:Int|p|rl)|p(?:o(?:sitive(?:Subnormal|Normal|Infinity|Zero)|int)|lus)|e(?:rror|mptyInput)|view|quietNaN|float|a(?:ttributedString|wayFromZero)|r(?:ectangle|ange)|generated|minus|b(?:ool|ezierPath))\b/dgv,name:"support.variable.swift"}]},"builtin-types":{patterns:[{include:"#builtin-types-builtin-class-type"},{include:"#builtin-types-builtin-enum-type"},{include:"#builtin-types-builtin-protocol-type"},{include:"#builtin-types-builtin-struct-type"},{include:"#builtin-types-builtin-typealias"},{match:/\bAny\b/dgv,name:"support.type.any.swift"}]},"builtin-types-builtin-class-type":{match:/\b(Managed((?:|Proto)Buffer)|NonObjectiveCBase|AnyGenerator)\b/dgv,name:"support.class.swift"},"builtin-types-builtin-enum-type":{patterns:[{match:/\b(?:CommandLine|Process(?=\.))\b/dgv,name:"support.constant.swift"},{match:/\bNever\b/dgv,name:"support.constant.never.swift"},{match:/\b(?:ImplicitlyUnwrappedOptional|Representation|MemoryLayout|FloatingPointClassification|SetIndexRepresentation|SetIteratorRepresentation|FloatingPointRoundingRule|UnicodeDecodingResult|Optional|DictionaryIndexRepresentation|AncestorRepresentation|DisplayStyle|PlaygroundQuickLook|Never|FloatingPointSign|Bit|DictionaryIteratorRepresentation)\b/dgv,name:"support.type.swift"},{match:/\b(?:MirrorDisposition|QuickLookObject)\b/dgv,name:"support.type.swift"}]},"builtin-types-builtin-protocol-type":{patterns:[{match:/\b(?:Ra(?:n(?:domAccess(?:Collection|Indexable)|geReplaceable(?:Collection|Indexable))|wRepresentable)|M(?:irrorPath|utable(?:Collection|Indexable))|Bi(?:naryFloatingPoint|twiseOperations|directional(?:Collection|Indexable))|S(?:tr(?:ide|eam)able|igned(?:Number|Integer)|e(?:tAlgebra|quence))|Hashable|C(?:o(?:llection|mparable)|ustom(?:Reflecta|StringConverti|DebugStringConverti|PlaygroundQuickLooka|LeafReflecta)ble|VarArg)|TextOutputStream|I(?:n(?:teger(?:Arithmetic)?|dexable(?:Base)?)|teratorProtocol)|OptionSet|Un(?:signedInteger|icodeCodec)|E(?:quatable|rror|xpressibleBy(?:BooleanLiteral|String(?:Interpolation|Literal)|NilLiteral|IntegerLiteral|DictionaryLiteral|UnicodeScalarLiteral|ExtendedGraphemeClusterLiteral|FloatLiteral|ArrayLiteral))|FloatingPoint|L(?:osslessStringConvertible|azy(?:Sequence|Collection)Protocol)|A(?:nyObject|bsoluteValuable))\b/dgv,name:"support.type.swift"},{match:/\b(?:Ran(?:domAccessIndex|geReplaceableCollection)Type|GeneratorType|M(?:irror(?:|Path)Type|utable(?:Sliceable|CollectionType))|B(?:i(?:twiseOperations|directionalIndex)Type|oolean(?:Type|LiteralConvertible))|S(?:tring(?:Interpolation|Literal)Convertible|i(?:nk|gned(?:Numb|Integ)er)Type|e(?:tAlgebra|quence)Type|liceable)|NilLiteralConvertible|C(?:ollection|VarArg)Type|Inte(?:rvalType|ger(?:Type|LiteralConvertible|ArithmeticType))|O(?:utputStream|ptionSet)Type|DictionaryLiteralConvertible|Un(?:signedIntegerType|icode(?:ScalarLiteralConvertible|CodecType))|E(?:rrorType|xten(?:sibleCollectionType|dedGraphemeClusterLiteralConvertible))|F(?:orwardIndexType|loat(?:ingPointType|LiteralConvertible))|A(?:nyCollectionType|rrayLiteralConvertible))\b/dgv,name:"support.type.swift"}]},"builtin-types-builtin-struct-type":{patterns:[{match:/\b(?:R(?:e(?:peat(?:ed)?|versed(?:RandomAccess(?:Collection|Index)|Collection|Index))|an(?:domAccessSlice|ge(?:Replaceable(?:RandomAccess|Bidirectional|)Slice|Generator)?))|Generator(?:Sequence|OfOne)|M(?:irror|utable(?:Ran(?:domAccess|geReplaceable(?:RandomAccess|Bidirectional|))|Bidirectional|)Slice|anagedBufferPointer)|B(?:idirectionalSlice|ool)|S(?:t(?:aticString|ri(?:ng|deT(?:hrough(?:(?:Gen|It)erator)?|o(?:(?:Gen|It)erator)?)))|et(?:I(?:ndex|terator))?|lice)|HalfOpenInterval|C(?:haracter(?:View)?|o(?:ntiguousArray|untable(?:|Closed)Range|llectionOfOne)|OpaquePointer|losed(?:Range(?:I(?:ndex|terator))?|Interval)|VaListPointer)|I(?:n(?:t(?:16|8|32|64)?|d(?:ices|ex(?:ing(?:Gen|It)erator)?))|terator(?:Sequence|OverOne)?)|Zip2(?:Sequence|Iterator)|O(?:paquePointer|bjectIdentifier)|D(?:ictionary(?:I(?:ndex|terator)|Literal)?|ouble|efault(?:RandomAccess|Bidirectional|)Indices)|U(?:n(?:safe(?:RawPointer|Mutable(?:Raw|Buffer|)Pointer|BufferPointer(?:(?:Gen|It)erator)?|Pointer)|icodeScalar(?:View)?|foldSequence|managed)|TF(?:16(?:View)?|8(?:View)?|32)|Int(?:16|8|32|64)?)|Join(?:Generator|ed(?:Sequence|Iterator))|PermutationGenerator|E(?:numerate(?:Generator|Sequence|d(?:Sequence|Iterator))|mpty(?:Generator|Collection|Iterator))|Fl(?:oat(?:80)?|atten(?:Generator|BidirectionalCollection(?:Index)?|Sequence|Collection(?:Index)?|Iterator))|L(?:egacyChildren|azy(?:RandomAccessCollection|Map(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Collection|Iterator)|BidirectionalCollection|Sequence|Collection|Filter(?:Generator|BidirectionalCollection|Sequence|Collection|I(?:ndex|terator))))|A(?:ny(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Hashable|Collection|I(?:ndex|terator))|utoreleasingUnsafeMutablePointer|rray(?:Slice)?))\b/dgv,name:"support.type.swift"},{match:/\b(?:R(?:everse(?:RandomAccess(?:Collection|Index)|Collection|Index)|awByte)|Map(?:Generator|Sequence|Collection)|S(?:inkOf|etGenerator)|Zip2Generator|DictionaryGenerator|Filter(?:Generator|Sequence|Collection(?:Index)?)|LazyForwardCollection|Any(?:RandomAccessIndex|BidirectionalIndex|Forward(?:Collection|Index)))\b/dgv,name:"support.type.swift"}]},"builtin-types-builtin-typealias":{patterns:[{match:/\b(?:Raw(?:Significand|Exponent|Value)|B(?:ooleanLiteralType|uffer|ase)|S(?:t(?:orage|r(?:i(?:ngLiteralType|de)|eam[12]))|ubSequence)|NativeBuffer|C(?:hild(?:ren)?|Bool|S(?:hort|ignedChar)|odeUnit|Char(?:16|32)?|Int|Double|Unsigned(?:Short|Char|Int|Long(?:Long)?)|Float|WideChar|Long(?:Long)?)|I(?:n(?:t(?:Max|egerLiteralType)|d(?:ices|ex(?:Distance)?))|terator)|Distance|U(?:n(?:icodeScalar(?:Type|Index|View|LiteralType)|foldFirstSequence)|TF(?:16(?:Index|View)|8Index)|IntMax)|E(?:lements?|x(?:tendedGraphemeCluster(?:|Literal)Type|ponent))|V(?:oid|alue)|Key|Float(?:32|LiteralType|64)|AnyClass)\b/dgv,name:"support.type.swift"},{match:/\b(?:Generator|PlaygroundQuickLook|UWord|Word)\b/dgv,name:"support.type.swift"}]},"code-block":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.scope.begin.swift"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.scope.end.swift"}},patterns:[{include:"$self"}]},comments:{patterns:[{captures:{"1":{name:"punctuation.definition.comment.swift"}},match:/^^(#!)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.number-sign.swift"},{begin:/\/\*\*(?!\/)/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.swift"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.swift"}},name:"comment.block.documentation.swift",patterns:[{include:"#comments-nested"}]},{begin:/\/\*:/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.swift"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.swift"}},name:"comment.block.documentation.playground.swift",patterns:[{include:"#comments-nested"}]},{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.swift"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.swift"}},name:"comment.block.swift",patterns:[{include:"#comments-nested"}]},{match:/\*\//dgv,name:"invalid.illegal.unexpected-end-of-block-comment.swift"},{begin:/(^[\t ]+)?(?=\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/\/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.swift"}},end:/(?=\n?$)/dgv,name:"comment.line.triple-slash.documentation.swift"},{begin:/\/\/:/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.swift"}},end:/(?=\n?$)/dgv,name:"comment.line.double-slash.documentation.swift"},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.swift"}},end:/(?=\n?$)/dgv,name:"comment.line.double-slash.swift"}]}]},"comments-nested":{begin:/\/\*/dgv,end:/\*\//dgv,patterns:[{include:"#comments-nested"}]},"compiler-control":{patterns:[{begin:/^\p{space}*(#)(if|elseif)\p{space}+(false)\b[^\n]*?(?=(?=\n?$)|\/\/|\/\*)/dgv,beginCaptures:{"0":{name:"meta.preprocessor.conditional.swift"},"1":{name:"punctuation.definition.preprocessor.swift"},"2":{name:"keyword.control.import.preprocessor.conditional.swift"},"3":{name:"constant.language.boolean.swift"}},contentName:"comment.block.preprocessor.swift",end:/(?=^\p{space}*(#(e(?:lseif|lse|ndif)))\b)/dgv},{begin:/^\p{space}*(#)(if|elseif)\p{space}+/dgv,captures:{"1":{name:"punctuation.definition.preprocessor.swift"},"2":{name:"keyword.control.import.preprocessor.conditional.swift"}},end:/(?=\p{space}*\/[\*\/])|(?=\n?$)/dgv,name:"meta.preprocessor.conditional.swift",patterns:[{match:/(&&|\|\|)/dgv,name:"keyword.operator.logical.swift"},{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.swift"},{captures:{"1":{name:"keyword.other.condition.swift"},"2":{name:"punctuation.definition.parameters.begin.swift"},"3":{name:"support.constant.platform.architecture.swift"},"4":{name:"punctuation.definition.parameters.end.swift"}},match:/\b(arch)\p{space}*(\()\p{space}*(?:(arm|arm64|powerpc64|powerpc64le|i386|x86_64|s390x)|[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(\))/dgv},{captures:{"1":{name:"keyword.other.condition.swift"},"2":{name:"punctuation.definition.parameters.begin.swift"},"3":{name:"support.constant.platform.os.swift"},"4":{name:"punctuation.definition.parameters.end.swift"}},match:/\b(os)\p{space}*(\()\p{space}*(?:(macOS|OSX|iOS|tvOS|watchOS|visionOS|Android|Linux|FreeBSD|Windows|PS4)|[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(\))/dgv},{captures:{"1":{name:"keyword.other.condition.swift"},"2":{name:"punctuation.definition.parameters.begin.swift"},"3":{name:"entity.name.type.module.swift"},"4":{name:"punctuation.definition.parameters.end.swift"}},match:/\b(canImport)\p{space}*(\()([_\p{L}][_\p{L}\p{N}\p{M}]*)(\))/dgv},{begin:/\b(targetEnvironment)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.other.condition.swift"},"2":{name:"punctuation.definition.parameters.begin.swift"}},end:/(\))|(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.swift"}},patterns:[{match:/\b(simulator|UIKitForMac)\b/dgv,name:"support.constant.platform.environment.swift"}]},{begin:/\b(swift|compiler)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.other.condition.swift"},"2":{name:"punctuation.definition.parameters.begin.swift"}},end:/(\))|(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.swift"}},patterns:[{match:/>=|</dgv,name:"keyword.operator.comparison.swift"},{match:/\b[0-9]+(?:\.[0-9]+)*\b/dgv,name:"constant.numeric.swift"}]}]},{captures:{"1":{name:"punctuation.definition.preprocessor.swift"},"2":{name:"keyword.control.import.preprocessor.conditional.swift"},"3":{patterns:[{match:/\P{space}+/dgv,name:"invalid.illegal.character-not-allowed-here.swift"}]}},match:/^\p{space}*(#)(e(?:lse|ndif))([^\n]*?)(?=(?=\n?$)|\/\/|\/\*)/dgv,name:"meta.preprocessor.conditional.swift"},{captures:{"1":{name:"punctuation.definition.preprocessor.swift"},"2":{name:"keyword.control.import.preprocessor.sourcelocation.swift"},"4":{name:"punctuation.definition.parameters.begin.swift"},"5":{patterns:[{begin:/(file)\p{space}*(:)\p{space}*(?=")/dgv,beginCaptures:{"1":{name:"support.variable.parameter.swift"},"2":{name:"punctuation.separator.key-value.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{include:"#literals"}]},{captures:{"1":{name:"support.variable.parameter.swift"},"2":{name:"punctuation.separator.key-value.swift"},"3":{name:"constant.numeric.integer.swift"}},match:/(line)\p{space}*(:)\p{space}*([0-9]+)/dgv},{match:/,/dgv,name:"punctuation.separator.parameters.swift"},{match:/\P{space}+/dgv,name:"invalid.illegal.character-not-allowed-here.swift"}]},"6":{name:"punctuation.definition.parameters.begin.swift"},"7":{patterns:[{match:/\P{space}+/dgv,name:"invalid.illegal.character-not-allowed-here.swift"}]}},match:/^\p{space}*(#)(sourceLocation)((\()([^\)]*)(\)))([^\n]*?)(?=(?=\n?$)|\/\/|\/\*)/dgv,name:"meta.preprocessor.sourcelocation.swift"}]},conditionals:{patterns:[{begin:/(?<!\.)\b(if|guard|switch|for)\b/dgv,beginCaptures:{"1":{patterns:[{include:"#keywords"}]}},end:/(?=\{)/dgv,patterns:[{include:"#expressions-without-trailing-closures"}]},{begin:/(?<!\.)\b(while)\b/dgv,beginCaptures:{"1":{patterns:[{include:"#keywords"}]}},end:/(?=\{)|(?=\n?$)/dgv,patterns:[{include:"#expressions-without-trailing-closures"}]}]},declarations:{patterns:[{include:"#declarations-function"},{include:"#declarations-function-initializer"},{include:"#declarations-function-subscript"},{include:"#declarations-typed-variable-declaration"},{include:"#declarations-import"},{include:"#declarations-operator"},{include:"#declarations-precedencegroup"},{include:"#declarations-protocol"},{include:"#declarations-type"},{include:"#declarations-extension"},{include:"#declarations-typealias"},{include:"#declarations-macro"}]},"declarations-available-types":{patterns:[{include:"#comments"},{include:"#builtin-types"},{include:"#attributes"},{match:/\basync\b/dgv,name:"storage.modifier.async.swift"},{match:/\b(?:|re)throws\b/dgv,name:"storage.modifier.exception.swift"},{match:/\bsome\b/dgv,name:"keyword.other.operator.type.opaque.swift"},{match:/\bany\b/dgv,name:"keyword.other.operator.type.existential.swift"},{match:/\b(?:repeat|each)\b/dgv,name:"keyword.control.loop.swift"},{match:/\b(?:inout|isolated|borrowing|consuming)\b/dgv,name:"storage.modifier.swift"},{match:/\bSelf\b/dgv,name:"variable.language.swift"},{captures:{"1":{name:"keyword.operator.type.function.swift"}},match:/(?<![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])(->)(?![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])/dgv},{captures:{"1":{name:"keyword.operator.type.composition.swift"}},match:/(?<![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])(&)(?![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])/dgv},{match:/[\!\?]/dgv,name:"keyword.operator.type.optional.swift"},{match:/\.\.\./dgv,name:"keyword.operator.function.variadic-parameter.swift"},{match:/\bprotocol\b/dgv,name:"keyword.other.type.composition.swift"},{match:/(?<=\.)(?:Protocol|Type)\b/dgv,name:"keyword.other.type.metatype.swift"},{include:"#declarations-available-types-tuple-type"},{include:"#declarations-available-types-collection-type"},{include:"#declarations-generic-argument-clause"}]},"declarations-available-types-collection-type":{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.section.collection-type.begin.swift"}},end:/\]|(?=[\)\>\{\}])/dgv,endCaptures:{"0":{name:"punctuation.section.collection-type.end.swift"}},patterns:[{include:"#declarations-available-types"},{include:"#literals-numeric"},{match:/\b_\b/dgv,name:"support.variable.inferred.swift"},{match:/(?<=\p{space})\bof\b(?=\p{space}+[\(\[_\p{L}\p{Nd}\p{N}\p{M}])/dgv,name:"keyword.other.inline-array.swift"},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.key-value.swift"}},end:/(?=[\]\)\>\{\}])/dgv,patterns:[{match:/:/dgv,name:"invalid.illegal.extra-colon-in-dictionary-type.swift"},{include:"#declarations-available-types"}]}]},"declarations-available-types-tuple-type":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.tuple-type.begin.swift"}},end:/\)|(?=[\]\>\{\}])/dgv,endCaptures:{"0":{name:"punctuation.section.tuple-type.end.swift"}},patterns:[{include:"#declarations-available-types"}]},"declarations-extension":{begin:/\b(extension)\p{space}+((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))/dgv,beginCaptures:{"1":{name:"storage.type.$1.swift"},"2":{name:"entity.name.type.swift",patterns:[{include:"#declarations-available-types"}]},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/(?<=\})/dgv,name:"meta.definition.type.$1.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-where-clause"},{include:"#declarations-inheritance-clause"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.type.begin.swift"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"$self"}]}]},"declarations-function":{begin:/*@__PURE__*/ new EmulatedRegExp("\\b(func)\\p{space}+((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\3)|(?:((?<oph>[\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])(([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|(?<opc>[̀-ͯ᷀-᷿⃐-︀-️︠-︯\\u{E0100}-\\u{E01EF}]))*)|(\\.(([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|([̀-ͯ᷀-᷿⃐-︀-️︠-︯\\u{E0100}-\\u{E01EF}])|\\.)+)))\\p{space}*(?=[\\(\\<])","dgv",{"hiddenCaptures":[8,12,13],"transfers":[[6,[8,12]],[9,[13]]]}),beginCaptures:{"1":{name:"storage.type.function.swift"},"2":{name:"entity.name.function.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/(?<=\})|(?=\n?$)/dgv,name:"meta.definition.function.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.function.begin.swift"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.function.end.swift"}},name:"meta.definition.function.body.swift",patterns:[{include:"$self"}]}]},"declarations-function-initializer":{begin:/(?<!\.)\b(init[\!\?]*)\p{space}*(?=[\(\<])/dgv,beginCaptures:{"1":{name:"storage.type.function.swift",patterns:[{match:/(?<=[\!\?])[\!\?]+/dgv,name:"invalid.illegal.character-not-allowed-here.swift"}]}},end:/(?<=\})|(?=\n?$)/dgv,name:"meta.definition.function.initializer.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.function.begin.swift"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.function.end.swift"}},name:"meta.definition.function.body.swift",patterns:[{include:"$self"}]}]},"declarations-function-result":{begin:/(?<![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])(->)(?![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.operator.function-result.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\{|\\bwhere\\b|[\\;\\=])|(?=\\n?$)","dgv",{"strategy":"clip_search"}),name:"meta.function-result.swift",patterns:[{match:/\bsending\b/dgv,name:"storage.modifier.swift"},{include:"#declarations-available-types"}]},"declarations-function-subscript":{begin:/(?<!\.)\b(subscript)\p{space}*(?=[\(\<])/dgv,beginCaptures:{"1":{name:"storage.type.function.swift"}},end:/(?<=\})|(?=\n?$)/dgv,name:"meta.definition.function.subscript.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.function.begin.swift"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.function.end.swift"}},name:"meta.definition.function.body.swift",patterns:[{include:"$self"}]}]},"declarations-generic-argument-clause":{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.separator.generic-argument-clause.begin.swift"}},end:/>|(?=[\]\)\{\}])/dgv,endCaptures:{"0":{name:"punctuation.separator.generic-argument-clause.end.swift"}},name:"meta.generic-argument-clause.swift",patterns:[{include:"#literals-numeric"},{include:"#declarations-available-types"}]},"declarations-generic-parameter-clause":{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.separator.generic-parameter-clause.begin.swift"}},end:/>|(?=[^\&\,\:\<\=\>\`\p{L}\p{M}\p{N}\p{Pc}\p{Nd}\p{space}])/dgv,endCaptures:{"0":{name:"punctuation.separator.generic-parameter-clause.end.swift"}},name:"meta.generic-parameter-clause.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-where-clause"},{match:/\blet\b/dgv,name:"keyword.other.declaration-specifier.swift"},{match:/\beach\b/dgv,name:"keyword.control.loop.swift"},{captures:{"1":{name:"variable.language.generic-parameter.swift"}},match:/\b((?!\p{Nd})[\p{L}\p{M}\p{N}\p{Pc}][\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*)\b/dgv},{match:/,/dgv,name:"punctuation.separator.generic-parameters.swift"},{begin:/(:)\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.separator.generic-parameter-constraint.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?=[\\,\\>]|(?!^)\\bwhere\\b)","dgv",{"strategy":"clip_search"}),name:"meta.generic-parameter-constraint.swift",patterns:[{begin:/(?:)/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?=[\\,\\>]|(?!^)\\bwhere\\b)","dgv",{"strategy":"clip_search"}),name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-type-identifier"},{include:"#declarations-type-operators"}]}]}]},"declarations-generic-where-clause":{begin:/\b(where)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.generic-constraint-introducer.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=[\\n\\;\\>\\{\\}]|//|/\\*)","dgv",{"strategy":"clip_search"}),name:"meta.generic-where-clause.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-where-clause-requirement-list"}]},"declarations-generic-where-clause-requirement-list":{begin:/|,\p{space}*/dgv,end:/(?=[\n\,\;\>\{\}]|\/\/|\/\*)/dgv,patterns:[{include:"#comments"},{include:"#constraint"},{include:"#declarations-available-types"},{begin:/(?<![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])(==)(?![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])/dgv,beginCaptures:{"1":{name:"keyword.operator.generic-constraint.same-type.swift"}},end:/(?=\p{space}*[\n\,\;\>\{\}]|\/\/|\/\*)/dgv,name:"meta.generic-where-clause.same-type-requirement.swift",patterns:[{include:"#declarations-available-types"}]},{begin:/(?<![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])(:)(?![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])/dgv,beginCaptures:{"1":{name:"keyword.operator.generic-constraint.conforms-to.swift"}},end:/(?=\p{space}*[\n\,\;\>\{\}]|\/\/|\/\*)/dgv,name:"meta.generic-where-clause.conformance-requirement.swift",patterns:[{begin:/\p{space}*/dgvy,contentName:"entity.other.inherited-class.swift",end:/(?=\p{space}*[\n\,\;\>\{\}]|\/\/|\/\*)/dgv,patterns:[{include:"#declarations-available-types"}]}]}]},"declarations-import":{begin:/(?<!\.)\b(import)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.control.import.swift"}},end:/(;)|(?=\n?$)\n?|(?=\/[\*\/])/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.swift"}},name:"meta.import.swift",patterns:[{begin:/(?!;|(?=\n?$)|\/\/|\/\*)(?:(typealias|struct|class|actor|enum|protocol|var|func)\p{space}+)?/dgvy,beginCaptures:{"1":{name:"storage.modifier.swift"}},end:/(?=;|(?=\n?$)|\/\/|\/\*)/dgv,patterns:[{captures:{"1":{name:"punctuation.definition.identifier.swift"},"2":{name:"punctuation.definition.identifier.swift"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\.)(?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\1)","dgv",{"strategy":"clip_search"}),name:"entity.name.type.swift"},{match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\.)\\$[0-9]+","dgv",{"strategy":"clip_search"}),name:"entity.name.type.swift"},{captures:{"1":{patterns:[{match:/\./dgv,name:"invalid.illegal.dot-not-allowed-here.swift"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\.)(?:((?<oph>[\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])(([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|(?<opc>[̀-ͯ᷀-᷿⃐-︀-️︠-︯\\u{E0100}-\\u{E01EF}]))*)|(\\.(([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|([̀-ͯ᷀-᷿⃐-︀-️︠-︯\\u{E0100}-\\u{E01EF}])|\\.)+))(?=[\\.\\;]|(?=\\n?$)|//|/\\*|\\p{space})","dgv",{"hiddenCaptures":[4,8,9],"transfers":[[2,[4,8]],[5,[9]]],"strategy":"clip_search"}),name:"entity.name.type.swift"},{match:/\./dgv,name:"punctuation.separator.import.swift"},{begin:/(?!\p{space}*(;|(?=\n?$)|\/\/|\/\*))/dgv,end:/(?=\p{space}*(;|(?=\n?$)|\/\/|\/\*))/dgv,name:"invalid.illegal.character-not-allowed-here.swift"}]}]},"declarations-inheritance-clause":{begin:/(:)(?=\p{space}*\{)|(:)\p{space}*/dgv,beginCaptures:{"1":{name:"invalid.illegal.empty-inheritance-clause.swift"},"2":{name:"punctuation.separator.inheritance-clause.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=[\\=\\{\\}]|(?!^)\\bwhere\\b)","dgv",{"strategy":"clip_search"}),name:"meta.inheritance-clause.swift",patterns:[{begin:/\bclass\b/dgv,beginCaptures:{"0":{name:"storage.type.class.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?=[\\=\\{\\}]|(?!^)\\bwhere\\b)","dgv",{"strategy":"clip_search"}),patterns:[{include:"#comments"},{include:"#declarations-inheritance-clause-more-types"}]},{begin:/(?:)/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=[\\=\\{\\}]|(?!^)\\bwhere\\b)","dgv",{"strategy":"clip_search"}),patterns:[{include:"#attributes"},{include:"#comments"},{include:"#declarations-inheritance-clause-inherited-type"},{include:"#declarations-inheritance-clause-more-types"},{include:"#declarations-type-operators"}]}]},"declarations-inheritance-clause-inherited-type":{begin:/(?=[_\`\p{L}])/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-type-identifier"}]},"declarations-inheritance-clause-more-types":{begin:/,\p{space}*/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?!/[\\*\\/])|(?=[\\,\\=\\{\\}]|(?!^)\\bwhere\\b)","dgv",{"strategy":"clip_search"}),name:"meta.inheritance-list.more-types",patterns:[{include:"#attributes"},{include:"#comments"},{include:"#declarations-inheritance-clause-inherited-type"},{include:"#declarations-inheritance-clause-more-types"},{include:"#declarations-type-operators"}]},"declarations-macro":{begin:/\b(macro)\p{space}+((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))\p{space}*(?=[\(\<\=])/dgv,beginCaptures:{"1":{name:"storage.type.function.swift"},"2":{name:"entity.name.function.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/(?=\n?$)|(?=;|\/\/|\/\*|[\=\}])/dgv,name:"meta.definition.macro.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"}]},"declarations-operator":{begin:/*@__PURE__*/ new EmulatedRegExp("(?:\\b((?:pre|in|post)fix)\\p{space}+)?\\b(operator)\\p{space}+(((?<oph>[\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])(?:(?=((([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|\\.|(?<opc>[̀-ͯ᷀-᷿⃐-︀-️︠-︯\\u{E0100}-\\u{E01EF}]))*))\\6))|(\\.(?:(?=((([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|([̀-ͯ᷀-᷿⃐-︀-️︠-︯\\u{E0100}-\\u{E01EF}])|\\.)+))\\11)))\\p{space}*","dgv",{"hiddenCaptures":[6,8,11,13,14],"transfers":[[5,[8,13]],[9,[14]]]}),beginCaptures:{"1":{name:"storage.modifier.swift"},"2":{name:"storage.type.function.operator.swift"},"3":{name:"entity.name.function.operator.swift"},"4":{name:"entity.name.function.operator.swift",patterns:[{match:/\./dgv,name:"invalid.illegal.dot-not-allowed-here.swift"}]}},end:/(;)|(?=\n?$)\n?|(?=\/[\*\/])/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.swift"}},name:"meta.definition.operator.swift",patterns:[{include:"#declarations-operator-swift2"},{include:"#declarations-operator-swift3"},{match:/((?!(?=\n?$)|;|\/\/|\/\*)\P{space})+/dgv,name:"invalid.illegal.character-not-allowed-here.swift"}]},"declarations-operator-swift2":{begin:/(\{)/dgvy,beginCaptures:{"1":{name:"punctuation.definition.operator.begin.swift"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.operator.end.swift"}},patterns:[{include:"#comments"},{captures:{"1":{name:"storage.modifier.swift"},"2":{name:"keyword.other.operator.associativity.swift"}},match:/\b(associativity)\p{space}+(left|right)\b/dgv},{captures:{"1":{name:"storage.modifier.swift"},"2":{name:"constant.numeric.integer.swift"}},match:/\b(precedence)\p{space}+([0-9]+)\b/dgv},{captures:{"1":{name:"storage.modifier.swift"}},match:/\b(assignment)\b/dgv}]},"declarations-operator-swift3":{captures:{"2":{name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-types-precedencegroup"}]},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},match:/(:)\p{space}*((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))/dgvy},"declarations-parameter-clause":{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.swift"}},end:/(\))(?:\p{space}*(async)\b)?/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.swift"},"2":{name:"storage.modifier.async.swift"}},name:"meta.parameter-clause.swift",patterns:[{include:"#declarations-parameter-list"}]},"declarations-parameter-list":{patterns:[{captures:{"1":{name:"entity.name.function.swift"},"2":{name:"punctuation.definition.identifier.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"variable.parameter.function.swift"},"5":{name:"punctuation.definition.identifier.swift"},"6":{name:"punctuation.definition.identifier.swift"}},match:/((?<q1>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))\p{space}+((?<q2>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\5))(?=\p{space}*:)/dgv},{captures:{"1":{name:"variable.parameter.function.swift"},"2":{name:"entity.name.function.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},match:/(((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3)))(?=\p{space}*:)/dgv},{begin:/:\p{space}*(?!\p{space})/dgv,end:/(?=[\)\,])/dgv,patterns:[{match:/\bsending\b/dgv,name:"storage.modifier.swift"},{include:"#declarations-available-types"},{match:/:/dgv,name:"invalid.illegal.extra-colon-in-parameter-list.swift"},{begin:/=/dgv,beginCaptures:{"0":{name:"keyword.operator.assignment.swift"}},end:/(?=[\)\,])/dgv,patterns:[{include:"#expressions"}]}]}]},"declarations-precedencegroup":{begin:/\b(precedencegroup)\p{space}+((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))\p{space}*(?=\{)/dgv,beginCaptures:{"1":{name:"storage.type.precedencegroup.swift"},"2":{name:"entity.name.type.precedencegroup.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.definition.precedencegroup.swift",patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.precedencegroup.begin.swift"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.precedencegroup.end.swift"}},patterns:[{include:"#comments"},{captures:{"1":{name:"storage.modifier.swift"},"2":{name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-types-precedencegroup"}]},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},match:/\b((?:high|low)erThan)\p{space}*:\p{space}*((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))/dgv},{captures:{"1":{name:"storage.modifier.swift"},"2":{name:"keyword.other.operator.associativity.swift"}},match:/\b(associativity)\b(?:\p{space}*:\p{space}*(right|left|none)\b)?/dgv},{captures:{"1":{name:"storage.modifier.swift"},"2":{name:"constant.language.boolean.swift"}},match:/\b(assignment)\b(?:\p{space}*:\p{space}*(true|false)\b)?/dgv}]}]},"declarations-protocol":{begin:/\b(protocol)\p{space}+((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))/dgv,beginCaptures:{"1":{name:"storage.type.$1.swift"},"2":{name:"entity.name.type.$1.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/(?<=\})/dgv,name:"meta.definition.type.protocol.swift",patterns:[{include:"#comments"},{include:"#declarations-inheritance-clause"},{include:"#declarations-generic-where-clause"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.type.begin.swift"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"#declarations-protocol-protocol-method"},{include:"#declarations-protocol-protocol-initializer"},{include:"#declarations-protocol-associated-type"},{include:"$self"}]}]},"declarations-protocol-associated-type":{begin:/\b(associatedtype)\p{space}+((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.declaration-specifier.swift"},"2":{name:"variable.language.associatedtype.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=[\\;\\}]|(?=\\n?$))","dgv",{"strategy":"clip_search"}),name:"meta.definition.associatedtype.swift",patterns:[{include:"#declarations-inheritance-clause"},{include:"#declarations-generic-where-clause"},{include:"#declarations-typealias-assignment"}]},"declarations-protocol-protocol-initializer":{begin:/(?<!\.)\b(init[\!\?]*)\p{space}*(?=[\(\<])/dgv,beginCaptures:{"1":{name:"storage.type.function.swift",patterns:[{match:/(?<=[\!\?])[\!\?]+/dgv,name:"invalid.illegal.character-not-allowed-here.swift"}]}},end:/(?=\n?$)|(?=;|\/\/|\/\*|\})/dgv,name:"meta.definition.function.initializer.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.function.begin.swift"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.function.end.swift"}},name:"invalid.illegal.function-body-not-allowed-in-protocol.swift",patterns:[{include:"$self"}]}]},"declarations-protocol-protocol-method":{begin:/*@__PURE__*/ new EmulatedRegExp("\\b(func)\\p{space}+((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\3)|(?:((?<oph>[\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])(([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|(?<opc>[̀-ͯ᷀-᷿⃐-︀-️︠-︯\\u{E0100}-\\u{E01EF}]))*)|(\\.(([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|([̀-ͯ᷀-᷿⃐-︀-️︠-︯\\u{E0100}-\\u{E01EF}])|\\.)+)))\\p{space}*(?=[\\(\\<])","dgv",{"hiddenCaptures":[8,12,13],"transfers":[[6,[8,12]],[9,[13]]]}),beginCaptures:{"1":{name:"storage.type.function.swift"},"2":{name:"entity.name.function.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/(?=\n?$)|(?=;|\/\/|\/\*|\})/dgv,name:"meta.definition.function.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.function.begin.swift"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.function.end.swift"}},name:"invalid.illegal.function-body-not-allowed-in-protocol.swift",patterns:[{include:"$self"}]}]},"declarations-type":{patterns:[{begin:/\b(class(?!\p{space}+(?:func|var|let)\b)|struct|actor)\b\p{space}*((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))/dgv,beginCaptures:{"1":{name:"storage.type.$1.swift"},"2":{name:"entity.name.type.$1.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/(?<=\})/dgv,name:"meta.definition.type.$1.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-generic-where-clause"},{include:"#declarations-inheritance-clause"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.type.begin.swift"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"$self"}]}]},{include:"#declarations-type-enum"}]},"declarations-type-enum":{begin:/\b(enum)\p{space}+((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))/dgv,beginCaptures:{"1":{name:"storage.type.$1.swift"},"2":{name:"entity.name.type.$1.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/(?<=\})/dgv,name:"meta.definition.type.$1.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-generic-where-clause"},{include:"#declarations-inheritance-clause"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.type.begin.swift"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"#declarations-type-enum-enum-case-clause"},{include:"$self"}]}]},"declarations-type-enum-associated-values":{begin:/\(/dgvy,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.swift"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.swift"}},patterns:[{include:"#comments"},{begin:/(?:(_)|((?<q1>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*\3))\p{space}+(((?<q2>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*\6))\p{space}*(:)/dgv,beginCaptures:{"1":{name:"entity.name.function.swift"},"2":{name:"invalid.illegal.distinct-labels-not-allowed.swift"},"5":{name:"variable.parameter.function.swift"},"7":{name:"punctuation.separator.argument-label.swift"}},end:/(?=[\]\)\,])/dgv,patterns:[{include:"#declarations-available-types"}]},{begin:/(((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*\3))\p{space}*(:)/dgv,beginCaptures:{"1":{name:"entity.name.function.swift"},"2":{name:"variable.parameter.function.swift"},"4":{name:"punctuation.separator.argument-label.swift"}},end:/(?=[\]\)\,])/dgv,patterns:[{include:"#declarations-available-types"}]},{begin:/(?![\]\)\,])(?=\P{space})/dgv,end:/(?=[\]\)\,])/dgv,patterns:[{include:"#declarations-available-types"},{match:/:/dgv,name:"invalid.illegal.extra-colon-in-parameter-list.swift"}]}]},"declarations-type-enum-enum-case":{begin:/((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))\p{space}*/dgv,beginCaptures:{"1":{name:"variable.other.enummember.swift"}},end:/(?<=\))|(?![\(\=])/dgv,patterns:[{include:"#comments"},{include:"#declarations-type-enum-associated-values"},{include:"#declarations-type-enum-raw-value-assignment"}]},"declarations-type-enum-enum-case-clause":{begin:/\b(case)\b\p{space}*/dgv,beginCaptures:{"1":{name:"storage.type.enum.case.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?=[\\;\\}])|(?!^)(?!/[\\*\\/])(?=[^\\,\\p{space}])","dgv",{"strategy":"clip_search"}),patterns:[{include:"#comments"},{include:"#declarations-type-enum-enum-case"},{include:"#declarations-type-enum-more-cases"}]},"declarations-type-enum-more-cases":{begin:/,\p{space}*/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?!/[\\*\\/])(?=[\\;\\}[^\\,\\p{space}]])","dgv",{"strategy":"clip_search"}),name:"meta.enum-case.more-cases",patterns:[{include:"#comments"},{include:"#declarations-type-enum-enum-case"},{include:"#declarations-type-enum-more-cases"}]},"declarations-type-enum-raw-value-assignment":{begin:/(=)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.operator.assignment.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{include:"#comments"},{include:"#literals"}]},"declarations-type-identifier":{begin:/((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))\p{space}*/dgv,beginCaptures:{"1":{name:"meta.type-name.swift",patterns:[{include:"#builtin-types"}]},"2":{name:"punctuation.definition.identifier.swift"},"3":{name:"punctuation.definition.identifier.swift"}},end:/(?!<)/dgv,patterns:[{begin:/(?=<)/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{include:"#declarations-generic-argument-clause"}]}]},"declarations-type-operators":{patterns:[{captures:{"1":{name:"keyword.operator.type.composition.swift"}},match:/(?<![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])(&)(?![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])/dgv},{captures:{"1":{name:"keyword.operator.type.requirement-suppression.swift"}},match:/(?<![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])(~)(?![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])/dgv}]},"declarations-typealias":{begin:/\b(typealias)\p{space}+((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.declaration-specifier.swift"},"2":{name:"entity.name.type.typealias.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=;|//|/\\*|(?=\\n?$))","dgv",{"strategy":"clip_search"}),name:"meta.definition.typealias.swift",patterns:[{begin:/(?=<)/dgvy,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{include:"#declarations-generic-parameter-clause"}]},{include:"#declarations-typealias-assignment"}]},"declarations-typealias-assignment":{begin:/(=)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.operator.assignment.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=;|//|/\\*|(?=\\n?$))","dgv",{"strategy":"clip_search"}),patterns:[{include:"#declarations-available-types"}]},"declarations-typed-variable-declaration":{begin:/\b(?:(async)\p{space}+)?(let|var)\b\p{space}+(?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3)\p{space}*:/dgv,beginCaptures:{"1":{name:"storage.modifier.async.swift"},"2":{name:"keyword.other.declaration-specifier.swift"}},end:/(?=(?=\n?$)|[\=\{])/dgv,patterns:[{include:"#declarations-available-types"}]},"declarations-types-precedencegroup":{patterns:[{match:/\b(?:BitwiseShift|Assignment|RangeFormation|Casting|Addition|NilCoalescing|Comparison|LogicalConjunction|LogicalDisjunction|Default|Ternary|Multiplication|FunctionArrow)Precedence\b/dgv,name:"support.type.swift"}]},expressions:{patterns:[{include:"#expressions-without-trailing-closures-or-member-references"},{include:"#expressions-trailing-closure"},{include:"#member-reference"}]},"expressions-trailing-closure":{patterns:[{captures:{"1":{name:"support.function.any-method.swift"},"2":{name:"punctuation.definition.identifier.swift"},"3":{name:"punctuation.definition.identifier.swift"}},match:/(#?(?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))(?=\p{space}*\{)/dgv,name:"meta.function-call.trailing-closure-only.swift"},{captures:{"1":{name:"support.function.any-method.trailing-closure-label.swift"},"2":{name:"punctuation.definition.identifier.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.separator.argument-label.swift"}},match:/((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))\p{space}*(:)(?=\p{space}*\{)/dgv}]},"expressions-without-trailing-closures":{patterns:[{include:"#expressions-without-trailing-closures-or-member-references"},{include:"#member-references"}]},"expressions-without-trailing-closures-or-member-references":{patterns:[{include:"#comments"},{include:"#code-block"},{include:"#attributes"},{include:"#expressions-without-trailing-closures-or-member-references-closure-parameter"},{include:"#literals"},{include:"#operators"},{include:"#builtin-types"},{include:"#builtin-functions"},{include:"#builtin-global-functions"},{include:"#builtin-properties"},{include:"#expressions-without-trailing-closures-or-member-references-compound-name"},{include:"#conditionals"},{include:"#keywords"},{include:"#expressions-without-trailing-closures-or-member-references-availability-condition"},{include:"#expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression"},{include:"#expressions-without-trailing-closures-or-member-references-macro-expansion"},{include:"#expressions-without-trailing-closures-or-member-references-subscript-expression"},{include:"#expressions-without-trailing-closures-or-member-references-parenthesized-expression"},{match:/\b_\b/dgv,name:"support.variable.discard-value.swift"}]},"expressions-without-trailing-closures-or-member-references-availability-condition":{begin:/\B(#(?:un)?available)(\()/dgv,beginCaptures:{"1":{name:"support.function.availability-condition.swift"},"2":{name:"punctuation.definition.arguments.begin.swift"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.swift"}},patterns:[{captures:{"1":{name:"keyword.other.platform.os.swift"},"2":{name:"constant.numeric.swift"}},match:/\p{space}*\b((?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\b\p{space}+([0-9]+(?:\.[0-9]+)*)\b/dgv},{captures:{"1":{name:"keyword.other.platform.all.swift"},"2":{name:"invalid.illegal.character-not-allowed-here.swift"}},match:/(\*)\p{space}*([^\n]*?)(?=[\)\,])/dgv},{match:/[^\)\,\p{space}]+/dgv,name:"invalid.illegal.character-not-allowed-here.swift"}]},"expressions-without-trailing-closures-or-member-references-closure-parameter":{match:/\$[0-9]+/dgv,name:"variable.language.closure-parameter.swift"},"expressions-without-trailing-closures-or-member-references-compound-name":{captures:{"1":{name:"entity.name.function.compound-name.swift"},"2":{name:"punctuation.definition.entity.swift"},"3":{name:"punctuation.definition.entity.swift"},"4":{patterns:[{captures:{"1":{name:"punctuation.definition.entity.swift"},"2":{name:"punctuation.definition.entity.swift"}},match:/(?<q>`?)(?!_:)[_\p{L}][_\p{L}\p{N}\p{M}]*(\1):/dgv,name:"entity.name.function.compound-name.swift"}]}},match:/((?<q1>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))\(((((?<q2>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\7)):)+)\)/dgv},"expressions-without-trailing-closures-or-member-references-expression-element-list":{patterns:[{include:"#comments"},{begin:/((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))\p{space}*(:)/dgv,beginCaptures:{"1":{name:"support.function.any-method.swift"},"2":{name:"punctuation.definition.identifier.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.separator.argument-label.swift"}},end:/(?=[\]\)\,])/dgv,patterns:[{include:"#expressions"}]},{begin:/(?![\]\)\,])(?=\P{space})/dgv,end:/(?=[\]\)\,])/dgv,patterns:[{include:"#expressions"}]}]},"expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression":{patterns:[{begin:/(#?(?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))\p{space}*(\()/dgv,beginCaptures:{"1":{name:"support.function.any-method.swift"},"2":{name:"punctuation.definition.identifier.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.arguments.begin.swift"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.swift"}},name:"meta.function-call.swift",patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},{begin:/(?<=[\]\)\>_\`\}\p{L}\p{N}\p{M}])\p{space}*(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.arguments.begin.swift"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.swift"}},name:"meta.function-call.swift",patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]}]},"expressions-without-trailing-closures-or-member-references-macro-expansion":{match:/(#(?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))/dgv,name:"support.function.any-method.swift"},"expressions-without-trailing-closures-or-member-references-parenthesized-expression":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.tuple.begin.swift"}},end:/(\))\p{space}*((?:\b(?:async|throws|rethrows)\p{space})*)/dgv,endCaptures:{"1":{name:"punctuation.section.tuple.end.swift"},"2":{patterns:[{match:/\brethrows\b/dgv,name:"invalid.illegal.rethrows-only-allowed-on-function-declarations.swift"},{include:"#async-throws"}]}},patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"expressions-without-trailing-closures-or-member-references-subscript-expression":{begin:/(?<=[_\`\p{L}\p{N}\p{M}])\p{space}*(\[)/dgv,beginCaptures:{"1":{name:"punctuation.definition.arguments.begin.swift"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.swift"}},name:"meta.subscript-expression.swift",patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},keywords:{patterns:[{match:/(?<!\.)\b(?:if|else|guard|where|switch|case|default|fallthrough)\b/dgv,name:"keyword.control.branch.swift"},{match:/(?<!\.)\b(?:continue|break|fallthrough|return|yield)\b/dgv,name:"keyword.control.transfer.swift"},{match:/(?<!\.)\b(?:while|for|in|each)\b/dgv,name:"keyword.control.loop.swift"},{match:/(?<=\p{space})\bof\b(?=\p{space}+[\(\[_\p{L}\p{Nd}\p{N}\p{M}])/dgv,name:"keyword.other.inline-array.swift"},{match:/\bany\b(?=\p{space}*`?[_\p{L}])/dgv,name:"keyword.other.operator.type.existential.swift"},{captures:{"1":{name:"keyword.control.loop.swift"},"2":{name:"punctuation.whitespace.trailing.repeat.swift"}},match:/(?<!\.)\b(repeat)\b(\p{space}*)/dgv},{match:/(?<!\.)\bdefer\b/dgv,name:"keyword.control.defer.swift"},{captures:{"1":{name:"invalid.illegal.try-must-precede-await.swift"},"2":{name:"keyword.control.await.swift"}},match:/(?<!\.)\b(?:(await\p{space}+try)|(await))\b/dgv},{match:/(?<!\.)\b(?:catch|throw|try)\b|\btry[\!\?]\B/dgv,name:"keyword.control.exception.swift"},{match:/(?<!\.)\b(?:|re)throws\b/dgv,name:"storage.modifier.exception.swift"},{captures:{"1":{name:"keyword.control.exception.swift"},"2":{name:"punctuation.whitespace.trailing.do.swift"}},match:/(?<!\.)\b(do)\b(\p{space}*)/dgv},{captures:{"1":{name:"storage.modifier.async.swift"},"2":{name:"keyword.other.declaration-specifier.swift"}},match:/(?<!\.)\b(?:(async)\p{space}+)?(let|var)\b/dgv},{match:/(?<!\.)\b(?:associatedtype|operator|typealias)\b/dgv,name:"keyword.other.declaration-specifier.swift"},{match:/(?<!\.)\b(class|enum|extension|precedencegroup|protocol|struct|actor)\b(?=\p{space}*`?[_\p{L}])/dgv,name:"storage.type.$1.swift"},{match:/(?<!\.)\b(?:inout|static|final|lazy|mutating|nonmutating|optional|indirect|required|override|dynamic|convenience|infix|prefix|postfix|distributed|nonisolated|borrowing|consuming)\b/dgv,name:"storage.modifier.swift"},{match:/\binit[\!\?]|\binit\b|(?<!\.)\b(?:func|deinit|subscript|didSet|get|set|willSet|yielding\p{space}+borrow|yielding\p{space}+mutate)\b/dgv,name:"storage.type.function.swift"},{match:/(?<!\.)\b(?:fileprivate|private|internal|public|open|package)\b/dgv,name:"keyword.other.declaration-specifier.accessibility.swift"},{match:/(?<!\.)\bunowned\((?:|un)safe\)|(?<!\.)\b(?:weak|unowned)\b/dgv,name:"keyword.other.capture-specifier.swift"},{captures:{"1":{name:"keyword.other.type.swift"},"2":{name:"keyword.other.type.metatype.swift"}},match:/(?<=\.)(?:(dynamicType|self)|(Protocol|Type))\b/dgv},{match:/(?<!\.)\b(?:super|self|Self)\b/dgv,name:"variable.language.swift"},{match:/(?:\B#(?:file|filePath|fileID|line|column|function|dsohandle)|\b__(?:FILE|LINE|COLUMN|FUNCTION|DSO_HANDLE)__)\b/dgv,name:"support.variable.swift"},{match:/(?<!\.)\bimport\b/dgv,name:"keyword.control.import.swift"},{match:/(?<!\.)\bconsume(?=\p{space}+`?[_\p{L}])/dgv,name:"keyword.control.consume.swift"},{match:/(?<!\.)\bcopy(?=\p{space}+`?[_\p{L}])/dgv,name:"keyword.control.copy.swift"}]},literals:{patterns:[{include:"#literals-boolean"},{include:"#literals-numeric"},{include:"#literals-string"},{match:/\bnil\b/dgv,name:"constant.language.nil.swift"},{match:/\B#((?:color|image|file)Literal)\b/dgv,name:"support.function.object-literal.swift"},{match:/\B#externalMacro\b/dgv,name:"support.function.builtin-macro.swift"},{match:/\B#keyPath\b/dgv,name:"support.function.key-path.swift"},{begin:/\B(#selector)(\()(?:\p{space}*([gs]etter)\p{space}*(:))?/dgv,beginCaptures:{"1":{name:"support.function.selector-reference.swift"},"2":{name:"punctuation.definition.arguments.begin.swift"},"3":{name:"support.variable.parameter.swift"},"4":{name:"punctuation.separator.argument-label.swift"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.swift"}},patterns:[{include:"#expressions"}]},{include:"#literals-regular-expression-literal"}]},"literals-boolean":{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.swift"},"literals-numeric":{patterns:[{match:/(\B-|\b)(?<![\]\(\)\[_\{\}\p{L}\p{N}\p{M}]\.)[0-9][0-9_]*(?=\.[0-9]|[Ee])(?:\.[0-9][0-9_]*)?(?:[Ee][\-\+]?[0-9][0-9_]*)?\b(?!\.[0-9])/dgv,name:"constant.numeric.float.decimal.swift"},{match:/(\B-|\b)(?<![\]\(\)\[_\{\}\p{L}\p{N}\p{M}]\.)(0x\p{AHex}[_\p{AHex}]*)(?:\.\p{AHex}[_\p{AHex}]*)?[Pp][\-\+]?[0-9][0-9_]*\b(?!\.[0-9])/dgv,name:"constant.numeric.float.hexadecimal.swift"},{match:/(\B-|\b)(?<![\]\(\)\[_\{\}\p{L}\p{N}\p{M}]\.)(0x\p{AHex}[_\p{AHex}]*)(?:\.\p{AHex}[_\p{AHex}]*)?[Pp][\-\+]?[\p{L}\p{M}\p{N}\p{Pc}]*\b(?!\.[0-9])/dgv,name:"invalid.illegal.numeric.float.invalid-exponent.swift"},{match:/(\B-|\b)(?<![\]\(\)\[_\{\}\p{L}\p{N}\p{M}]\.)(0x\p{AHex}[_\p{AHex}]*)\.[0-9][\.\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.numeric.float.missing-exponent.swift"},{match:/(?<=\p{space}|^)-?\.[0-9][\.\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.numeric.float.missing-leading-zero.swift"},{match:/(\B-|\b)0[box]_[_\p{AHex}]*(?:[EPep][\-\+]?[\p{L}\p{M}\p{N}\p{Pc}]+)?[\.\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"invalid.illegal.numeric.leading-underscore.swift"},{match:/(?<=[\]\(\)\[_\{\}\p{L}\p{N}\p{M}]\.)[0-9]+\b/dgv},{match:/(\B-|\b)(?<![\]\(\)\[_\{\}\p{L}\p{N}\p{M}]\.)0b[01][01_]*\b(?!\.[0-9])/dgv,name:"constant.numeric.integer.binary.swift"},{match:/(\B-|\b)(?<![\]\(\)\[_\{\}\p{L}\p{N}\p{M}]\.)0o[0-7][0-7_]*\b(?!\.[0-9])/dgv,name:"constant.numeric.integer.octal.swift"},{match:/(\B-|\b)(?<![\]\(\)\[_\{\}\p{L}\p{N}\p{M}]\.)[0-9][0-9_]*\b(?!\.[0-9])/dgv,name:"constant.numeric.integer.decimal.swift"},{match:/(\B-|\b)(?<![\]\(\)\[_\{\}\p{L}\p{N}\p{M}]\.)0x\p{AHex}[_\p{AHex}]*\b(?!\.[0-9])/dgv,name:"constant.numeric.integer.hexadecimal.swift"},{match:/(\B-|\b)[0-9][\.\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.numeric.other.swift"}]},"literals-regular-expression-literal":{patterns:[{begin:/(#+)\/\n/dgv,end:/\/\1()/dgv,name:"string.regexp.block.swift",patterns:[{include:"#literals-regular-expression-literal-regex-guts"},{include:"#literals-regular-expression-literal-line-comment"}]},{captures:{"0":{patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]},"1":{name:"punctuation.definition.string.begin.regexp.swift"},"3":{name:"punctuation.definition.string.end.regexp.swift"}},match:/*@__PURE__*/ new EmulatedRegExp("(/)(?!\\p{space})(?!/)(?:\\\\\\p{space}(?=/)|(?:(?=((?<guts>(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/)[^\\n])*))\\5)(?:\\\\E|(?=/))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\6)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/)[^\\n])*))\\9)(?:\\\\E|(?=/))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\10)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/)[^\\n])*))\\13)(?:\\\\E|(?=/))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\14)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/)[^\\n])*))\\17)(?:\\\\E|(?=/))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\18)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/)[^\\n])*))\\21)(?:\\\\E|(?=/))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\22)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:)?))\\23)\\)|(?:(?!/)[^\\(\\)\\[\\\\])+)+))\\20))?))\\19)\\)|(?:(?!/)[^\\(\\)\\[\\\\])+)+))\\16))?))\\15)\\)|(?:(?!/)[^\\(\\)\\[\\\\])+)+))\\12))?))\\11)\\)|(?:(?!/)[^\\(\\)\\[\\\\])+)+))\\8))?))\\7)\\)|(?:(?!/)[^\\(\\)\\[\\\\])+)+))\\4))?))\\2)(?<!\\p{space}))(/)","dgv",{"hiddenCaptures":[2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]}),name:"string.regexp.line.swift"},{captures:{"0":{patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]},"1":{name:"punctuation.definition.string.begin.regexp.swift"},"4":{name:"punctuation.definition.string.end.regexp.swift"},"5":{name:"invalid.illegal.returns-not-allowed.regexp"}},match:/*@__PURE__*/ new EmulatedRegExp("((#+)/)(?:(?=((?<guts>(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/\\2)[^\\n])*))\\6)(?:\\\\E|(?=/\\2))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\7)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/\\2)[^\\n])*))\\10)(?:\\\\E|(?=/\\2))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\11)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/\\2)[^\\n])*))\\14)(?:\\\\E|(?=/\\2))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\15)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/\\2)[^\\n])*))\\18)(?:\\\\E|(?=/\\2))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\19)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/\\2)[^\\n])*))\\22)(?:\\\\E|(?=/\\2))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\23)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:)?))\\24)\\)|(?:(?!/\\2)[^\\(\\)\\[\\\\])+)+))\\21))?))\\20)\\)|(?:(?!/\\2)[^\\(\\)\\[\\\\])+)+))\\17))?))\\16)\\)|(?:(?!/\\2)[^\\(\\)\\[\\\\])+)+))\\13))?))\\12)\\)|(?:(?!/\\2)[^\\(\\)\\[\\\\])+)+))\\9))?))\\8)\\)|(?:(?!/\\2)[^\\(\\)\\[\\\\])+)+))\\5))?))\\3)(/\\2)|#+/[^\\n]+(\\n)","dgv",{"hiddenCaptures":[3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]}),name:"string.regexp.line.extended.swift"}]},"literals-regular-expression-literal-backreference-or-subpattern":{patterns:[{captures:{"1":{name:"constant.character.escape.backslash.regexp"},"2":{name:"variable.other.group-name.regexp"},"3":{name:"keyword.operator.recursion-level.regexp"},"4":{name:"constant.numeric.integer.decimal.regexp"},"5":{name:"constant.numeric.integer.decimal.regexp"},"6":{name:"keyword.operator.recursion-level.regexp"},"7":{name:"constant.numeric.integer.decimal.regexp"},"8":{name:"constant.character.escape.backslash.regexp"}},match:/(\\g\{)(?:((?!\p{Nd})[\p{L}\p{M}\p{N}\p{Pc}]+)(?:([\-\+])(\p{Nd}+))?|([\-\+]?\p{Nd}+)(?:([\-\+])(\p{Nd}+))?)(\})/dgv},{captures:{"1":{name:"constant.character.escape.backslash.regexp"},"2":{name:"constant.numeric.integer.decimal.regexp"},"3":{name:"keyword.operator.recursion-level.regexp"},"4":{name:"constant.numeric.integer.decimal.regexp"}},match:/(\\g)([\-\+]?\p{Nd}+)(?:([\-\+])(\p{Nd}+))?/dgv},{captures:{"1":{name:"constant.character.escape.backslash.regexp"},"2":{name:"variable.other.group-name.regexp"},"3":{name:"keyword.operator.recursion-level.regexp"},"4":{name:"constant.numeric.integer.decimal.regexp"},"5":{name:"constant.numeric.integer.decimal.regexp"},"6":{name:"keyword.operator.recursion-level.regexp"},"7":{name:"constant.numeric.integer.decimal.regexp"},"8":{name:"constant.character.escape.backslash.regexp"}},match:/(\\[gk]<)(?:((?!\p{Nd})[\p{L}\p{M}\p{N}\p{Pc}]+)(?:([\-\+])(\p{Nd}+))?|([\-\+]?\p{Nd}+)(?:([\-\+])(\p{Nd}+))?)(>)/dgv},{captures:{"1":{name:"constant.character.escape.backslash.regexp"},"2":{name:"variable.other.group-name.regexp"},"3":{name:"keyword.operator.recursion-level.regexp"},"4":{name:"constant.numeric.integer.decimal.regexp"},"5":{name:"constant.numeric.integer.decimal.regexp"},"6":{name:"keyword.operator.recursion-level.regexp"},"7":{name:"constant.numeric.integer.decimal.regexp"},"8":{name:"constant.character.escape.backslash.regexp"}},match:/(\\[gk]')(?:((?!\p{Nd})[\p{L}\p{M}\p{N}\p{Pc}]+)(?:([\-\+])(\p{Nd}+))?|([\-\+]?\p{Nd}+)(?:([\-\+])(\p{Nd}+))?)(')/dgv},{captures:{"1":{name:"constant.character.escape.backslash.regexp"},"2":{name:"variable.other.group-name.regexp"},"3":{name:"keyword.operator.recursion-level.regexp"},"4":{name:"constant.numeric.integer.decimal.regexp"},"5":{name:"constant.character.escape.backslash.regexp"}},match:/(\\k\{)((?!\p{Nd})[\p{L}\p{M}\p{N}\p{Pc}]+)(?:([\-\+])(\p{Nd}+))?(\})/dgv},{match:/\\[1-9][0-9]+/dgv,name:"keyword.other.back-reference.regexp"},{captures:{"1":{name:"keyword.other.back-reference.regexp"},"2":{name:"variable.other.group-name.regexp"},"3":{name:"keyword.operator.recursion-level.regexp"},"4":{name:"constant.numeric.integer.decimal.regexp"},"5":{name:"keyword.other.back-reference.regexp"}},match:/(\(\?(?:P[\=\>]|&))((?!\p{Nd})[\p{L}\p{M}\p{N}\p{Pc}]+)(?:([\-\+])(\p{Nd}+))?(\))/dgv},{match:/\(\?R\)/dgv,name:"keyword.other.back-reference.regexp"},{captures:{"1":{name:"keyword.other.back-reference.regexp"},"2":{name:"constant.numeric.integer.decimal.regexp"},"3":{name:"keyword.operator.recursion-level.regexp"},"4":{name:"constant.numeric.integer.decimal.regexp"},"5":{name:"keyword.other.back-reference.regexp"}},match:/(\(\?)([\-\+]?\p{Nd}+)(?:([\-\+])(\p{Nd}+))?(\))/dgv}]},"literals-regular-expression-literal-backtracking-directive-or-global-matching-option":{captures:{"1":{name:"keyword.control.directive.regexp"},"2":{name:"keyword.control.directive.regexp"},"3":{name:"keyword.control.directive.regexp"},"4":{name:"variable.language.tag.regexp"},"5":{name:"keyword.control.directive.regexp"},"6":{name:"keyword.operator.assignment.regexp"},"7":{name:"constant.numeric.integer.decimal.regexp"},"8":{name:"keyword.control.directive.regexp"},"9":{name:"keyword.control.directive.regexp"}},match:/(\(\*)(?:(ACCEPT|FAIL|F|MARK(?=:)|(?=:)|COMMIT|PRUNE|SKIP|THEN)(?:(:)([^\)]+))?|(LIMIT_(?:DEPTH|HEAP|MATCH))(=)(\p{Nd}+)|(CRLF|CR|ANYCRLF|ANY|LF|NUL|BSR_ANYCRLF|BSR_UNICODE|NOTEMPTY_ATSTART|NOTEMPTY|NO_AUTO_POSSESS|NO_DOTSTAR_ANCHOR|NO_JIT|NO_START_OPT|UTF|UCP))(\))/dgv},"literals-regular-expression-literal-callout":{captures:{"1":{name:"punctuation.definition.group.regexp"},"2":{name:"keyword.control.callout.regexp"},"3":{name:"constant.numeric.integer.decimal.regexp"},"4":{name:"entity.name.function.callout.regexp"},"5":{name:"entity.name.function.callout.regexp"},"6":{name:"entity.name.function.callout.regexp"},"7":{name:"entity.name.function.callout.regexp"},"8":{name:"entity.name.function.callout.regexp"},"9":{name:"entity.name.function.callout.regexp"},"10":{name:"entity.name.function.callout.regexp"},"11":{name:"entity.name.function.callout.regexp"},"12":{name:"punctuation.definition.group.regexp"},"13":{name:"punctuation.definition.group.regexp"},"14":{name:"keyword.control.callout.regexp"},"15":{name:"entity.name.function.callout.regexp"},"16":{name:"variable.language.tag-name.regexp"},"17":{name:"punctuation.definition.group.regexp"},"18":{name:"punctuation.definition.group.regexp"},"19":{name:"keyword.control.callout.regexp"},"21":{name:"variable.language.tag-name.regexp"},"22":{name:"keyword.control.callout.regexp"},"23":{name:"punctuation.definition.group.regexp"}},match:/*@__PURE__*/ new EmulatedRegExp("(\\()(?<keyw>\\?C)(?:(?<num>\\p{Nd}+)|`(?<name>(?:[^\\`]|``)*)`|'((?:[^']|'')*)'|\"((?:[^\"]|\"\")*)\"|\\^((?:[^\\^]|\\^\\^)*)\\^|%((?:[^\\%]|%%)*)%|#((?:[^\\#]|##)*)#|\\$((?:[^\\$]|\\$\\$)*)\\$|\\{((?:[^\\}]|\\}\\})*)\\})?(\\))|(\\()(\\*)((?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)(?:\\[(?<tag>(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)\\])?(?:\\{[^\\,\\}]+(?:,[^\\,\\}]+)*\\})?(\\))|(\\()(\\?)(?:(?=((\\{(?:(?:\\{(?:(?:\\{(?:(?:\\{(?:(?:\\{(?:(?:)|(?!\\{)[^\\n]*?)\\})|(?!\\{)[^\\n]*?)\\})|(?!\\{)[^\\n]*?)\\})|(?!\\{)[^\\n]*?)\\})|(?!\\{)[^\\n]*?)\\})))\\20)(?:\\[((?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)\\])?([\\<\\>X]?)(\\))","dgv",{"hiddenCaptures":[20]}),name:"meta.callout.regexp"},"literals-regular-expression-literal-character-properties":{captures:{"1":{name:"support.variable.character-property.regexp"},"2":{name:"punctuation.definition.character-class.regexp"},"3":{name:"support.variable.character-property.regexp"},"4":{name:"punctuation.definition.character-class.regexp"}},match:/\\[Pp]\{([\-\p{space}\p{L}\p{M}\p{N}\p{Pc}]+(?:=[\-\p{space}\p{L}\p{M}\p{N}\p{Pc}]+)?)\}|(\[:)([\-\p{space}\p{L}\p{M}\p{N}\p{Pc}]+(?:=[\-\p{space}\p{L}\p{M}\p{N}\p{Pc}]+)?)(:\])/dgv,name:"constant.other.character-class.set.regexp"},"literals-regular-expression-literal-custom-char-class":{patterns:[{begin:/(\[)(\^)?/dgv,beginCaptures:{"1":{name:"punctuation.definition.character-class.regexp"},"2":{name:"keyword.operator.negation.regexp"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.character-class.regexp"}},name:"constant.other.character-class.set.regexp",patterns:[{include:"#literals-regular-expression-literal-custom-char-class-members"}]}]},"literals-regular-expression-literal-custom-char-class-members":{patterns:[{match:/\\b/dgv,name:"constant.character.escape.backslash.regexp"},{include:"#literals-regular-expression-literal-custom-char-class"},{include:"#literals-regular-expression-literal-quote"},{include:"#literals-regular-expression-literal-set-operators"},{include:"#literals-regular-expression-literal-unicode-scalars"},{include:"#literals-regular-expression-literal-character-properties"}]},"literals-regular-expression-literal-group-option-toggle":{match:/\(\?(?:\^(?:[DJPSUWimnswx]|xx|y\{[gw]\})*|(?:[DJPSUWimnswx]|xx|y\{[gw]\})+|(?:[DJPSUWimnswx]|xx|y\{[gw]\})*-(?:[DJPSUWimnswx]|xx|y\{[gw]\})*)\)/dgv,name:"keyword.other.option-toggle.regexp"},"literals-regular-expression-literal-group-or-conditional":{patterns:[{begin:/(\()(\?~)/dgv,beginCaptures:{"1":{name:"punctuation.definition.group.regexp"},"2":{name:"keyword.control.conditional.absent.regexp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.group.regexp"}},name:"meta.group.absent.regexp",patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(\\()(?<cond>\\?\\()(?:(?<NumberRef>(?<num>[\\-\\+]?\\p{Nd}+)(?:(?<op>[\\-\\+])(\\p{Nd}+))?)|(R)(([\\-\\+]?\\p{Nd}+)(?:([\\-\\+])(\\p{Nd}+))?)?|(R&)(?<NamedRef>(?<name>(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)(?:([\\-\\+])(\\p{Nd}+))?)|(<)(?:(((?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)(?:([\\-\\+])(\\p{Nd}+))?)|(([\\-\\+]?\\p{Nd}+)(?:([\\-\\+])(\\p{Nd}+))?))(>)|(')(?:(((?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)(?:([\\-\\+])(\\p{Nd}+))?)|(([\\-\\+]?\\p{Nd}+)(?:([\\-\\+])(\\p{Nd}+))?))(')|(DEFINE)|(VERSION)(?<compar>>?=)(\\p{Nd}+\\.\\p{Nd}+))(\\))|(\\()(\\?)(?=\\()","dgv",{"hiddenCaptures":[8,9,10,11,18,19,20,21,22,23,24,25,28,29,30,31,32,33,34,35],"transfers":[[3,[8,22,32]],[4,[9,23,33]],[5,[10,24,34]],[6,[11,25,35]],[13,[18,28]],[14,[19,29]],[15,[20,30]],[16,[21,31]]]}),beginCaptures:{"1":{name:"punctuation.definition.group.regexp"},"2":{name:"keyword.control.conditional.regexp"},"4":{name:"constant.numeric.integer.decimal.regexp"},"5":{name:"keyword.operator.recursion-level.regexp"},"6":{name:"constant.numeric.integer.decimal.regexp"},"7":{name:"keyword.control.conditional.regexp"},"8":{name:"keyword.control.conditional.regexp"},"10":{name:"variable.other.group-name.regexp"},"11":{name:"keyword.operator.recursion-level.regexp"},"12":{name:"constant.numeric.integer.decimal.regexp"},"13":{name:"keyword.control.conditional.regexp"},"14":{name:"keyword.control.conditional.regexp"},"15":{name:"keyword.control.conditional.regexp"},"16":{name:"keyword.control.conditional.regexp"},"17":{name:"keyword.control.conditional.regexp"},"18":{name:"keyword.control.conditional.regexp"},"19":{name:"keyword.operator.comparison.regexp"},"20":{name:"constant.numeric.integer.decimal.regexp"},"21":{name:"keyword.control.conditional.regexp"},"22":{name:"punctuation.definition.group.regexp"},"23":{name:"keyword.control.conditional.regexp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.group.regexp"}},name:"meta.group.conditional.regexp",patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(\\()(?:(?=(((\\?)(?:([\\!\\*\\:\\=\\>\\|]|<[\\!\\*\\=])|P?<(?:((?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)(-))?((?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)>|'(?:((?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)(-))?((?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)'|(?:\\^(?:[DJPSUWimnswx]|xx|y\\{[gw]\\})*|(?:[DJPSUWimnswx]|xx|y\\{[gw]\\})+|(?:[DJPSUWimnswx]|xx|y\\{[gw]\\})*-(?:[DJPSUWimnswx]|xx|y\\{[gw]\\})*):)|\\*(atomic|pla|positive_lookahead|nla|negative_lookahead|plb|positive_lookbehind|nlb|negative_lookbehind|napla|non_atomic_positive_lookahead|naplb|non_atomic_positive_lookbehind|sr|script_run|asr|atomic_script_run):)?))\\2)","dgv",{"hiddenCaptures":[2]}),beginCaptures:{"1":{name:"punctuation.definition.group.regexp"},"2":{name:"keyword.other.group-options.regexp"},"3":{name:"punctuation.definition.group.regexp"},"4":{name:"punctuation.definition.group.regexp"},"5":{name:"variable.other.group-name.regexp"},"6":{name:"keyword.operator.balancing-group.regexp"},"7":{name:"variable.other.group-name.regexp"},"8":{name:"variable.other.group-name.regexp"},"9":{name:"keyword.operator.balancing-group.regexp"},"10":{name:"variable.other.group-name.regexp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.group.regexp"}},name:"meta.group.regexp",patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]}]},"literals-regular-expression-literal-line-comment":{captures:{"1":{name:"punctuation.definition.comment.regexp"}},match:/(#)[^\n]*(?=\n?$)/dgv,name:"comment.line.regexp"},"literals-regular-expression-literal-quote":{begin:/\\Q/dgv,beginCaptures:{"0":{name:"constant.character.escape.backslash.regexp"}},end:/\\E|(\n)/dgv,endCaptures:{"0":{name:"constant.character.escape.backslash.regexp"},"1":{name:"invalid.illegal.returns-not-allowed.regexp"}},name:"string.quoted.other.regexp.swift"},"literals-regular-expression-literal-regex-guts":{patterns:[{include:"#literals-regular-expression-literal-quote"},{begin:/\(\?#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.regexp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.regexp"}},name:"comment.block.regexp"},{begin:/<\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.regexp"}},end:/\}>/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.regexp"}},name:"meta.embedded.expression.regexp"},{include:"#literals-regular-expression-literal-unicode-scalars"},{include:"#literals-regular-expression-literal-character-properties"},{match:/[\$\^]|\\[ABGYZbyz]|\\K/dgv,name:"keyword.control.anchor.regexp"},{include:"#literals-regular-expression-literal-backtracking-directive-or-global-matching-option"},{include:"#literals-regular-expression-literal-callout"},{include:"#literals-regular-expression-literal-backreference-or-subpattern"},{match:/\.|\\[CDHNORSVWXdhsvw]/dgv,name:"constant.character.character-class.regexp"},{match:/\\c[^\n]/dgv,name:"constant.character.entity.control-character.regexp"},{match:/\\[^c]/dgv,name:"constant.character.escape.backslash.regexp"},{match:/\|/dgv,name:"keyword.operator.or.regexp"},{match:/[\*\+\?]/dgv,name:"keyword.operator.quantifier.regexp"},{match:/\{(?:\p{space}*\p{Nd}+\p{space}*(?:,\p{space}*\p{Nd}*\p{space}*)?\}|\p{space}*,\p{space}*\p{Nd}+\p{space}*\})/dgv,name:"keyword.operator.quantifier.regexp"},{include:"#literals-regular-expression-literal-custom-char-class"},{include:"#literals-regular-expression-literal-group-option-toggle"},{include:"#literals-regular-expression-literal-group-or-conditional"}]},"literals-regular-expression-literal-set-operators":{patterns:[{match:/&&/dgv,name:"keyword.operator.intersection.regexp.swift"},{match:/--/dgv,name:"keyword.operator.subtraction.regexp.swift"},{match:/~~/dgv,name:"keyword.operator.symmetric-difference.regexp.swift"}]},"literals-regular-expression-literal-unicode-scalars":{match:/\\(?:u\{\p{space}*(?:\p{AHex}+\p{space}*)+\}|u\p{AHex}{4}|x\{\p{AHex}+\}|x\p{AHex}{0,2}|U\p{AHex}{8}|o\{[0-7]+\}|0[0-7]{0,3}|N\{(?:U\+\p{AHex}{1,8}|[\-\p{space}\p{L}\p{M}\p{N}\p{Pc}]+)\})/dgv,name:"constant.character.numeric.regexp"},"literals-string":{patterns:[{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.swift"}},end:/"""(#*)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.swift"},"1":{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.block.swift",patterns:[{match:/(?:[^\n]+(?=""")|[^\n]+)/dgvy,name:"invalid.illegal.content-after-opening-delimiter.swift"},{match:/\\\p{space}*\n/dgv,name:"constant.character.escape.newline.swift"},{include:"#literals-string-string-guts"},{match:/\P{space}((?!\\\()[^\n])*(?=""")/dgv,name:"invalid.illegal.content-before-closing-delimiter.swift"}]},{begin:/#"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.swift"}},end:/"""#(#*)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.swift"},"1":{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.block.raw.swift",patterns:[{match:/(?:[^\n]+(?=""")|[^\n]+)/dgvy,name:"invalid.illegal.content-after-opening-delimiter.swift"},{match:/\\#\p{space}*\n/dgv,name:"constant.character.escape.newline.swift"},{include:"#literals-string-raw-string-guts"},{match:/\P{space}((?!\\#\()[^\n])*(?=""")/dgv,name:"invalid.illegal.content-before-closing-delimiter.swift"}]},{begin:/(##+)"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.swift"}},end:/"""\1(#*)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.swift"},"1":{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.block.raw.swift",patterns:[{match:/(?:[^\n]+(?=""")|[^\n]+)/dgvy,name:"invalid.illegal.content-after-opening-delimiter.swift"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.swift"}},end:/"(#*)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.swift"},"1":{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.single-line.swift",patterns:[{match:/[\n\r]/dgv,name:"invalid.illegal.returns-not-allowed.swift"},{include:"#literals-string-string-guts"}]},{begin:/(##+)"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.raw.swift"}},end:/"\1(#*)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.raw.swift"},"1":{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.single-line.raw.swift",patterns:[{match:/[\n\r]/dgv,name:"invalid.illegal.returns-not-allowed.swift"}]},{begin:/#"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.raw.swift"}},end:/"#(#*)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.raw.swift"},"1":{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.single-line.raw.swift",patterns:[{match:/[\n\r]/dgv,name:"invalid.illegal.returns-not-allowed.swift"},{include:"#literals-string-raw-string-guts"}]}]},"literals-string-raw-string-guts":{patterns:[{match:/\\#["'0\\nrt]/dgv,name:"constant.character.escape.swift"},{match:/\\#u\{\p{AHex}{1,8}\}/dgv,name:"constant.character.escape.unicode.swift"},{begin:/\\#\(/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.swift"}},contentName:"source.swift",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.swift"}},name:"meta.embedded.line.swift",patterns:[{include:"$self"},{begin:/\(/dgv,end:/\)/dgv}]},{match:/\\#[^\n]/dgv,name:"invalid.illegal.escape-not-recognized"}]},"literals-string-string-guts":{patterns:[{match:/\\["'0\\nrt]/dgv,name:"constant.character.escape.swift"},{match:/\\u\{\p{AHex}{1,8}\}/dgv,name:"constant.character.escape.unicode.swift"},{begin:/\\\(/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.swift"}},contentName:"source.swift",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.swift"}},name:"meta.embedded.line.swift",patterns:[{include:"$self"},{begin:/\(/dgv,end:/\)/dgv}]},{match:/\\[^\n]/dgv,name:"invalid.illegal.escape-not-recognized"}]},"member-reference":{patterns:[{captures:{"1":{name:"variable.other.swift"},"2":{name:"punctuation.definition.identifier.swift"},"3":{name:"punctuation.definition.identifier.swift"}},match:/(?<=\.)((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))/dgv}]},operators:{patterns:[{match:/\b(is\b|as([\!\?]\B|\b))/dgv,name:"keyword.operator.type-casting.swift"},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?<oph>[\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|\\.(([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|[\\.̀-ͯ᷀-᷿⃐-︀-️︠-︯\\u{E0100}-\\u{E01EF}]))","dgv",{"hiddenCaptures":[3],"transfers":[[1,[3]]]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{captures:{"0":{patterns:[{match:/(\+\+|--)(?=\n?$)/dgvy,name:"keyword.operator.increment-or-decrement.swift"},{match:/([\-\+])(?=\n?$)/dgvy,name:"keyword.operator.arithmetic.unary.swift"},{match:/!(?=\n?$)/dgvy,name:"keyword.operator.logical.not.swift"},{match:/~(?=\n?$)/dgvy,name:"keyword.operator.bitwise.not.swift"},{match:/[^\n]+/dgv,name:"keyword.operator.custom.prefix.swift"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|[\\(\\,\\:\\;\\[\\{\\p{space}])(?:(?=(((?!(//|/\\*|\\*/))([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-←-⏿─-❵➔-⯿⸀-、。〃〈-〰︀-️︠-︯\\u{E0100}-\\u{E01EF}]))+))\\1)(?![\\]\\)\\,\\:\\;\\}\\p{space}]|$)","dgvy",{"hiddenCaptures":[1]})},{captures:{"0":{patterns:[{match:/(\+\+|--)(?=\n?$)/dgvy,name:"keyword.operator.increment-or-decrement.swift"},{match:/!(?=\n?$)/dgvy,name:"keyword.operator.increment-or-decrement.swift"},{match:/[^\n]+/dgv,name:"keyword.operator.custom.postfix.swift"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?<!^|[\\(\\,\\:\\;\\[\\{\\p{space}])(?:(?=(((?!(//|/\\*|\\*/))([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-←-⏿─-❵➔-⯿⸀-、。〃〈-〰︀-️︠-︯\\u{E0100}-\\u{E01EF}]))+))\\1)(?=[\\]\\)\\,\\:\\;\\}\\p{space}]|$)","dgvy",{"hiddenCaptures":[1]})},{captures:{"0":{patterns:[{match:/=(?=\n?$)/dgvy,name:"keyword.operator.assignment.swift"},{match:/([\-\%\*\+\/]|<<|>>|[\&\^\|]|&&|\|\|)=(?=\n?$)/dgvy,name:"keyword.operator.assignment.compound.swift"},{match:/([\-\*\+\/])(?=\n?$)/dgvy,name:"keyword.operator.arithmetic.swift"},{match:/&([\-\*\+])(?=\n?$)/dgvy,name:"keyword.operator.arithmetic.overflow.swift"},{match:/%(?=\n?$)/dgvy,name:"keyword.operator.arithmetic.remainder.swift"},{match:/(==|!=|[\<\>]|>=|<=|~=)(?=\n?$)/dgvy,name:"keyword.operator.comparison.swift"},{match:/\?\?(?=\n?$)/dgvy,name:"keyword.operator.coalescing.swift"},{match:/(&&|\|\|)(?=\n?$)/dgvy,name:"keyword.operator.logical.swift"},{match:/([\&\^\|]|<<|>>)(?=\n?$)/dgvy,name:"keyword.operator.bitwise.swift"},{match:/([\!\=]==)(?=\n?$)/dgvy,name:"keyword.operator.bitwise.swift"},{match:/\?(?=\n?$)/dgvy,name:"keyword.operator.ternary.swift"},{match:/[^\n]+/dgv,name:"keyword.operator.custom.infix.swift"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(((?!(//|/\\*|\\*/))([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-←-⏿─-❵➔-⯿⸀-、。〃〈-〰︀-️︠-︯\\u{E0100}-\\u{E01EF}]))+))\\1)","dgvy",{"hiddenCaptures":[1]})},{captures:{"0":{patterns:[{match:/[^\n]+/dgv,name:"keyword.operator.custom.prefix.dot.swift"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|[\\(\\,\\:\\;\\[\\{\\p{space}])\\.(?:(?=(((?!(//|/\\*|\\*/))([\\-\\!\\%\\&\\*\\+\\.\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-←-⏿─-❵➔-⯿⸀-、。〃〈-〰︀-️︠-︯\\u{E0100}-\\u{E01EF}]))+))\\1)(?![\\]\\)\\,\\:\\;\\}\\p{space}]|$)","dgvy",{"hiddenCaptures":[1]})},{captures:{"0":{patterns:[{match:/[^\n]+/dgv,name:"keyword.operator.custom.postfix.dot.swift"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?<!^|[\\(\\,\\:\\;\\[\\{\\p{space}])\\.(?:(?=(((?!(//|/\\*|\\*/))([\\-\\!\\%\\&\\*\\+\\.\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-←-⏿─-❵➔-⯿⸀-、。〃〈-〰︀-️︠-︯\\u{E0100}-\\u{E01EF}]))+))\\1)(?=[\\]\\)\\,\\:\\;\\}\\p{space}]|$)","dgvy",{"hiddenCaptures":[1]})},{captures:{"0":{patterns:[{match:/\.\.[\.\<](?=\n?$)/dgvy,name:"keyword.operator.range.swift"},{match:/[^\n]+/dgv,name:"keyword.operator.custom.infix.dot.swift"}]}},match:/*@__PURE__*/ new EmulatedRegExp("\\.(?:(?=(((?!(//|/\\*|\\*/))([\\-\\!\\%\\&\\*\\+\\.\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-←-⏿─-❵➔-⯿⸀-、。〃〈-〰︀-️︠-︯\\u{E0100}-\\u{E01EF}]))+))\\1)","dgvy",{"hiddenCaptures":[1]})}]},{match:/:/dgv,name:"keyword.operator.ternary.swift"}]},root:{patterns:[{include:"#compiler-control"},{include:"#declarations"},{include:"#expressions"}]}},scopeName:"source.swift",embeddedLangs:undefined,aliases:undefined})
|
|
3
|
+
const lang = Object.freeze({displayName:"Swift",fileTypes:["swift"],firstLineMatch:/^#!\/[^\n]*\bswift/dgv,name:"swift",patterns:[{include:"#root"}],repository:{"async-throws":{captures:{"1":{name:"invalid.illegal.await-must-precede-throws.swift"},"2":{name:"storage.modifier.exception.swift"},"3":{name:"storage.modifier.async.swift"}},match:/\b(?:((?:throws\p{space}+|rethrows\p{space}+)async)|((?:|re)throws)|(async))\b/dgv},attributes:{patterns:[{begin:/((@)available)(\()/dgv,beginCaptures:{"1":{name:"storage.modifier.attribute.swift"},"2":{name:"punctuation.definition.attribute.swift"},"3":{name:"punctuation.definition.arguments.begin.swift"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.swift"}},name:"meta.attribute.available.swift",patterns:[{captures:{"1":{name:"keyword.other.platform.os.swift"},"2":{name:"constant.numeric.swift"}},match:/\b(swift|(?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\b(?:\p{space}+([0-9]+(?:\.[0-9]+)*)\b)?/dgv},{begin:/\b((?:introduc|deprecat|obsolet)ed)\p{space}*(:)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.swift"},"2":{name:"punctuation.separator.key-value.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{match:/\b[0-9]+(?:\.[0-9]+)*\b/dgv,name:"constant.numeric.swift"}]},{begin:/\b(message|renamed)\p{space}*(:)\p{space}*(?=")/dgv,beginCaptures:{"1":{name:"keyword.other.swift"},"2":{name:"punctuation.separator.key-value.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{include:"#literals"}]},{captures:{"1":{name:"keyword.other.platform.all.swift"},"2":{name:"keyword.other.swift"},"3":{name:"invalid.illegal.character-not-allowed-here.swift"}},match:/(?:(\*)|\b(deprecated|unavailable|noasync)\b)\p{space}*([^\n]*?)(?=[\)\,])/dgv}]},{begin:/((@)objc)(\()/dgv,beginCaptures:{"1":{name:"storage.modifier.attribute.swift"},"2":{name:"punctuation.definition.attribute.swift"},"3":{name:"punctuation.definition.arguments.begin.swift"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.swift"}},name:"meta.attribute.objc.swift",patterns:[{captures:{"1":{name:"invalid.illegal.missing-colon-after-selector-piece.swift"}},match:/[\p{L}\p{M}\p{N}\p{Pc}]*(?::(?:[\p{L}\p{M}\p{N}\p{Pc}]*:)*([\p{L}\p{M}\p{N}\p{Pc}]*))?/dgv,name:"entity.name.function.swift"}]},{begin:/(@)(?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2)/dgv,beginCaptures:{"0":{name:"storage.modifier.attribute.swift"},"1":{name:"punctuation.definition.attribute.swift"},"2":{name:"punctuation.definition.identifier.swift"},"3":{name:"punctuation.definition.identifier.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^\\()","dgv",{"strategy":"clip_search"}),name:"meta.attribute.swift",patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.arguments.begin.swift"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.swift"}},name:"meta.arguments.attribute.swift",patterns:[{include:"#expressions"}]}]}]},"builtin-functions":{patterns:[{match:/(?<=\.)(?:s(?:ort(?:ed)?|plit)|contains|index|partition|f(?:i(?:lter|rst)|orEach|latMap)|with(?:MutableCharacters|CString|U(?:nsafe(?:Mutable(?:BufferPointer|Pointer(?:s|To(?:Header|Elements)))|BufferPointer)|TF8Buffer))|m(?:in|a[px]))(?=\p{space}*[\(\{])\b/dgv,name:"support.function.swift"},{match:/(?<=\.)(?:s(?:ymmetricDifference|t(?:oreBytes|arts|ride)|ortInPlace|u(?:ccessor|ffix|btract(?:ing|InPlace|WithOverflow)?)|quareRoot|amePosition)|h(?:oldsUnique(?:|OrPinned)Reference|as(?:Suf|Pre)fix)|ne(?:gated?|xt)|c(?:o(?:untByEnumerating|py(?:Bytes)?)|lamp(?:ed)?|reate)|t(?:o(?:IntMax|Opaque|UIntMax)|ake(?:R|Unr)etainedValue|r(?:uncatingRemainder|a(?:nscodedLength|ilSurrogate)))|i(?:s(?:MutableAndUniquelyReferenced(?:OrPinned)?|S(?:trictSu(?:perset(?:Of)?|bset(?:Of)?)|u(?:perset(?:Of)?|bset(?:Of)?))|Continuation|T(?:otallyOrdered|railSurrogate)|Disjoint(?:With)?|Unique(?:Reference|lyReferenced(?:OrPinned)?)|Equal|Le(?:ss(?:ThanOrEqualTo)?|adSurrogate))|n(?:sert(?:ContentsOf)?|tersect(?:ion|InPlace)?|itialize(?:Memory|From)?|dex(?:Of|ForKey)))|o(?:verlaps|bjectAt)|d(?:i(?:stance(?:To)?|vide(?:d|WithOverflow)?)|e(?:s(?:cendant|troy)|code(?:CString)?|initialize|alloc(?:ate(?:Capacity)?)?)|rop(?:First|Last))|u(?:n(?:ion(?:InPlace)?|derestimateCount|wrappedOrError)|p(?:date(?:Value)?|percased))|join(?:ed|WithSeparator)|p(?:op(?:First|Last)|ass(?:R|Unr)etained|re(?:decessor|fix))|e(?:scaped?|n(?:code|umerated?)|lementsEqual|xclusiveOr(?:InPlace)?)|f(?:orm(?:Remainder|S(?:ymmetricDifference|quareRoot)|TruncatingRemainder|In(?:tersection|dex)|Union)|latten|rom(?:CString(?:RepairingIllFormedUTF8)?|Opaque))|w(?:i(?:thMemoryRebound|dth)|rite(?:To)?)|l(?:o(?:wercased|ad)|e(?:adSurrogate|xicographical(?:Compare|lyPrecedes)))|a(?:ss(?:ign(?:(?:Backward|)From)?|umingMemoryBound)|d(?:d(?:ing(?:Product)?|Product|WithOverflow)?|vanced(?:By)?)|utorelease|ppend(?:ContentsOf)?|lloc(?:ate)?|bs)|r(?:ound(?:ed)?|e(?:serveCapacity|tain|duce|place(?:(?:R|Subr)ange)?|versed?|quest(?:Native|UniqueMutableBacking)Buffer|lease|m(?:ove(?:Range|Subrange|Value(?:ForKey)?|First|Last|A(?:tIndex|ll))?|ainder(?:WithOverflow)?)))|ge(?:nerate|t(?:Objects|Element))|m(?:in(?:imum(?:Magnitude)?|Element)|ove(?:Initialize(?:Memory|BackwardFrom|From)?|Assign(?:From)?)?|ultipl(?:y(?:WithOverflow)?|ied)|easure|a(?:ke(?:Iterator|Description)|x(?:imum(?:Magnitude)?|Element)))|bindMemory)(?=\p{space}*\()/dgv,name:"support.function.swift"},{match:/(?<=\.)(?:s(?:uperclassMirror|amePositionIn|tartsWith)|nextObject|c(?:haracterAtIndex|o(?:untByEnumeratingWithState|pyWithZone)|ustom(?:Mirror|PlaygroundQuickLook))|is(?:EmptyInput|ASCII)|object(?:Enumerator|ForKey|AtIndex)|join|put|keyEnumerator|withUnsafeMutablePointerToValue|length|getMirror|m(?:oveInitializeAssignFrom|ember))(?=\p{space}*\()/dgv,name:"support.function.swift"}]},"builtin-global-functions":{patterns:[{begin:/\b(type)(\()\p{space}*(of)(:)/dgv,beginCaptures:{"1":{name:"support.function.dynamic-type.swift"},"2":{name:"punctuation.definition.arguments.begin.swift"},"3":{name:"support.variable.parameter.swift"},"4":{name:"punctuation.separator.argument-label.begin.swift"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.swift"}},patterns:[{include:"#expressions"}]},{match:/\ba(?:nyGenerator|utoreleasepool)(?=\p{space}*[\(\{])\b/dgv,name:"support.function.swift"},{match:/\b(?:s(?:tride(?:of(?:Value)?)?|izeof(?:Value)?|equence|wap)|numericCast|transcode|is(?:UniquelyReferenced(?:NonObjC)?|KnownUniquelyReferenced)|zip|d(?:ump|ebugPrint)|unsafe(?:BitCast|Downcast|Unwrap|Address(?:Of)?)|pr(?:int|econdition(?:Failure)?)|fatalError|with(?:Unsafe(?:Mutable|)Pointer|ExtendedLifetime|VaList)|a(?:ssert(?:ionFailure)?|lignof(?:Value)?|bs)|re(?:peatElement|adLine)|getVaList|m(?:in|ax))(?=\p{space}*\()/dgv,name:"support.function.swift"},{match:/\b(?:s(?:ort|uffix|pli(?:ce|t))|insert|overlaps|d(?:istance|rop(?:First|Last))|join|prefix|extend|withUnsafe(?:Mutable|)Pointers|lazy|advance|re(?:flect|move(?:Range|Last|A(?:tIndex|ll))))(?=\p{space}*\()/dgv,name:"support.function.swift"}]},"builtin-properties":{patterns:[{match:/(?<=(?:^|[^\p{L}\p{M}\p{N}\p{Pc}])(?:Process\.|CommandLine\.))(arguments|argc|unsafeArgv)/dgv,name:"support.variable.swift"},{match:/(?<=\.)(?:s(?:t(?:artIndex|ri(?:ngValue|de))|i(?:ze|gn(?:BitIndex|ificand(?:Bit(?:Count|Pattern)|Width)?|alingNaN)?)|u(?:perclassMirror|mmary|bscriptBaseAddress))|h(?:eader|as(?:hValue|PointerRepresentation))|n(?:ulTerminatedUTF8|ext(?:Down|Up)|a(?:n|tiveOwner))|c(?:haracters|ount(?:TrailingZeros)?|ustom(?:Mirror|PlaygroundQuickLook)|apacity)|i(?:s(?:S(?:ign(?:Minus|aling(?:NaN)?)|ubnormal)|N(?:ormal|aN)|Canonical|Infinite|Zero|Empty|Finite|ASCII)|n(?:dices|finity)|dentity)|owner|de(?:|bugDe)scription|u(?:n(?:safelyUnwrapped|icodeScalars?|derestimatedCount)|tf(?:16|8(?:Start|C(?:String|odeUnitCount))?)|intValue|ppercaseString|lp(?:OfOne)?)|p(?:i|ointee)|e(?:ndIndex|lements|xponent(?:Bit(?:Count|Pattern))?)|values?|keys|quietNaN|f(?:irst(?:ElementAddress(?:IfContiguous)?)?|loatingPointClass)|l(?:ittleEndian|owercaseString|eastNo(?:nzero|rmal)Magnitude|a(?:st|zy))|a(?:l(?:ignment|l(?:ocatedElementCount|Zeros))|rray(?:PropertyIsNativeTypeChecked)?)|ra(?:dix|wValue)|greatestFiniteMagnitude|m(?:in|emory|ax)|b(?:yteS(?:ize|wapped)|i(?:nade|tPattern|gEndian)|uffer|ase(?:Address)?))\b/dgv,name:"support.variable.swift"},{match:/(?<=\.)(?:boolValue|disposition|end|objectIdentifier|quickLookObject|start|valueType)\b/dgv,name:"support.variable.swift"},{match:/(?<=\.)(?:s(?:calarValue|i(?:ze|gnalingNaN)|o(?:und|me)|uppressed|prite|et)|n(?:one|egative(?:Subnormal|Normal|Infinity|Zero))|c(?:ol(?:or|lection)|ustomized)|t(?:o(?:NearestOr(?:Even|AwayFromZero)|wardZero)|uple|ext)|i(?:nt|mage)|optional|d(?:ictionary|o(?:uble|wn))|u(?:Int|p|rl)|p(?:o(?:sitive(?:Subnormal|Normal|Infinity|Zero)|int)|lus)|e(?:rror|mptyInput)|view|quietNaN|float|a(?:ttributedString|wayFromZero)|r(?:ectangle|ange)|generated|minus|b(?:ool|ezierPath))\b/dgv,name:"support.variable.swift"}]},"builtin-types":{patterns:[{include:"#builtin-types-builtin-class-type"},{include:"#builtin-types-builtin-enum-type"},{include:"#builtin-types-builtin-protocol-type"},{include:"#builtin-types-builtin-struct-type"},{include:"#builtin-types-builtin-typealias"},{match:/\bAny\b/dgv,name:"support.type.any.swift"}]},"builtin-types-builtin-class-type":{match:/\b(Managed((?:|Proto)Buffer)|NonObjectiveCBase|AnyGenerator)\b/dgv,name:"support.class.swift"},"builtin-types-builtin-enum-type":{patterns:[{match:/\b(?:CommandLine|Process(?=\.))\b/dgv,name:"support.constant.swift"},{match:/\bNever\b/dgv,name:"support.constant.never.swift"},{match:/\b(?:ImplicitlyUnwrappedOptional|Representation|MemoryLayout|FloatingPointClassification|SetIndexRepresentation|SetIteratorRepresentation|FloatingPointRoundingRule|UnicodeDecodingResult|Optional|DictionaryIndexRepresentation|AncestorRepresentation|DisplayStyle|PlaygroundQuickLook|Never|FloatingPointSign|Bit|DictionaryIteratorRepresentation)\b/dgv,name:"support.type.swift"},{match:/\b(?:MirrorDisposition|QuickLookObject)\b/dgv,name:"support.type.swift"}]},"builtin-types-builtin-protocol-type":{patterns:[{match:/\b(?:Ra(?:n(?:domAccess(?:Collection|Indexable)|geReplaceable(?:Collection|Indexable))|wRepresentable)|M(?:irrorPath|utable(?:Collection|Indexable))|Bi(?:naryFloatingPoint|twiseOperations|directional(?:Collection|Indexable))|S(?:tr(?:ide|eam)able|igned(?:Number|Integer)|e(?:tAlgebra|quence))|Hashable|C(?:o(?:llection|mparable)|ustom(?:Reflecta|StringConverti|DebugStringConverti|PlaygroundQuickLooka|LeafReflecta)ble|VarArg)|TextOutputStream|I(?:n(?:teger(?:Arithmetic)?|dexable(?:Base)?)|teratorProtocol)|OptionSet|Un(?:signedInteger|icodeCodec)|E(?:quatable|rror|xpressibleBy(?:BooleanLiteral|String(?:Interpolation|Literal)|NilLiteral|IntegerLiteral|DictionaryLiteral|UnicodeScalarLiteral|ExtendedGraphemeClusterLiteral|FloatLiteral|ArrayLiteral))|FloatingPoint|L(?:osslessStringConvertible|azy(?:Sequence|Collection)Protocol)|A(?:nyObject|bsoluteValuable))\b/dgv,name:"support.type.swift"},{match:/\b(?:Ran(?:domAccessIndex|geReplaceableCollection)Type|GeneratorType|M(?:irror(?:|Path)Type|utable(?:Sliceable|CollectionType))|B(?:i(?:twiseOperations|directionalIndex)Type|oolean(?:Type|LiteralConvertible))|S(?:tring(?:Interpolation|Literal)Convertible|i(?:nk|gned(?:Numb|Integ)er)Type|e(?:tAlgebra|quence)Type|liceable)|NilLiteralConvertible|C(?:ollection|VarArg)Type|Inte(?:rvalType|ger(?:Type|LiteralConvertible|ArithmeticType))|O(?:utputStream|ptionSet)Type|DictionaryLiteralConvertible|Un(?:signedIntegerType|icode(?:ScalarLiteralConvertible|CodecType))|E(?:rrorType|xten(?:sibleCollectionType|dedGraphemeClusterLiteralConvertible))|F(?:orwardIndexType|loat(?:ingPointType|LiteralConvertible))|A(?:nyCollectionType|rrayLiteralConvertible))\b/dgv,name:"support.type.swift"}]},"builtin-types-builtin-struct-type":{patterns:[{match:/\b(?:R(?:e(?:peat(?:ed)?|versed(?:RandomAccess(?:Collection|Index)|Collection|Index))|an(?:domAccessSlice|ge(?:Replaceable(?:RandomAccess|Bidirectional|)Slice|Generator)?))|Generator(?:Sequence|OfOne)|M(?:irror|utable(?:Ran(?:domAccess|geReplaceable(?:RandomAccess|Bidirectional|))|Bidirectional|)Slice|anagedBufferPointer)|B(?:idirectionalSlice|ool)|S(?:t(?:aticString|ri(?:ng|deT(?:hrough(?:(?:Gen|It)erator)?|o(?:(?:Gen|It)erator)?)))|et(?:I(?:ndex|terator))?|lice)|HalfOpenInterval|C(?:haracter(?:View)?|o(?:ntiguousArray|untable(?:|Closed)Range|llectionOfOne)|OpaquePointer|losed(?:Range(?:I(?:ndex|terator))?|Interval)|VaListPointer)|I(?:n(?:t(?:16|8|32|64)?|d(?:ices|ex(?:ing(?:Gen|It)erator)?))|terator(?:Sequence|OverOne)?)|Zip2(?:Sequence|Iterator)|O(?:paquePointer|bjectIdentifier)|D(?:ictionary(?:I(?:ndex|terator)|Literal)?|ouble|efault(?:RandomAccess|Bidirectional|)Indices)|U(?:n(?:safe(?:RawPointer|Mutable(?:Raw|Buffer|)Pointer|BufferPointer(?:(?:Gen|It)erator)?|Pointer)|icodeScalar(?:View)?|foldSequence|managed)|TF(?:16(?:View)?|8(?:View)?|32)|Int(?:16|8|32|64)?)|Join(?:Generator|ed(?:Sequence|Iterator))|PermutationGenerator|E(?:numerate(?:Generator|Sequence|d(?:Sequence|Iterator))|mpty(?:Generator|Collection|Iterator))|Fl(?:oat(?:80)?|atten(?:Generator|BidirectionalCollection(?:Index)?|Sequence|Collection(?:Index)?|Iterator))|L(?:egacyChildren|azy(?:RandomAccessCollection|Map(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Collection|Iterator)|BidirectionalCollection|Sequence|Collection|Filter(?:Generator|BidirectionalCollection|Sequence|Collection|I(?:ndex|terator))))|A(?:ny(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Hashable|Collection|I(?:ndex|terator))|utoreleasingUnsafeMutablePointer|rray(?:Slice)?))\b/dgv,name:"support.type.swift"},{match:/\b(?:R(?:everse(?:RandomAccess(?:Collection|Index)|Collection|Index)|awByte)|Map(?:Generator|Sequence|Collection)|S(?:inkOf|etGenerator)|Zip2Generator|DictionaryGenerator|Filter(?:Generator|Sequence|Collection(?:Index)?)|LazyForwardCollection|Any(?:RandomAccessIndex|BidirectionalIndex|Forward(?:Collection|Index)))\b/dgv,name:"support.type.swift"}]},"builtin-types-builtin-typealias":{patterns:[{match:/\b(?:Raw(?:Significand|Exponent|Value)|B(?:ooleanLiteralType|uffer|ase)|S(?:t(?:orage|r(?:i(?:ngLiteralType|de)|eam[12]))|ubSequence)|NativeBuffer|C(?:hild(?:ren)?|Bool|S(?:hort|ignedChar)|odeUnit|Char(?:16|32)?|Int|Double|Unsigned(?:Short|Char|Int|Long(?:Long)?)|Float|WideChar|Long(?:Long)?)|I(?:n(?:t(?:Max|egerLiteralType)|d(?:ices|ex(?:Distance)?))|terator)|Distance|U(?:n(?:icodeScalar(?:Type|Index|View|LiteralType)|foldFirstSequence)|TF(?:16(?:Index|View)|8Index)|IntMax)|E(?:lements?|x(?:tendedGraphemeCluster(?:|Literal)Type|ponent))|V(?:oid|alue)|Key|Float(?:32|LiteralType|64)|AnyClass)\b/dgv,name:"support.type.swift"},{match:/\b(?:Generator|PlaygroundQuickLook|UWord|Word)\b/dgv,name:"support.type.swift"}]},"code-block":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.scope.begin.swift"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.scope.end.swift"}},patterns:[{include:"$self"}]},comments:{patterns:[{captures:{"1":{name:"punctuation.definition.comment.swift"}},match:/^^(#!)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.number-sign.swift"},{begin:/\/\*\*(?!\/)/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.swift"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.swift"}},name:"comment.block.documentation.swift",patterns:[{include:"#comments-nested"}]},{begin:/\/\*:/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.swift"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.swift"}},name:"comment.block.documentation.playground.swift",patterns:[{include:"#comments-nested"}]},{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.swift"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.swift"}},name:"comment.block.swift",patterns:[{include:"#comments-nested"}]},{match:/\*\//dgv,name:"invalid.illegal.unexpected-end-of-block-comment.swift"},{begin:/(^[\t ]+)?(?=\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/\/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.swift"}},end:/(?=\n?$)/dgv,name:"comment.line.triple-slash.documentation.swift"},{begin:/\/\/:/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.swift"}},end:/(?=\n?$)/dgv,name:"comment.line.double-slash.documentation.swift"},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.swift"}},end:/(?=\n?$)/dgv,name:"comment.line.double-slash.swift"}]}]},"comments-nested":{begin:/\/\*/dgv,end:/\*\//dgv,patterns:[{include:"#comments-nested"}]},"compiler-control":{patterns:[{begin:/^\p{space}*(#)(if|elseif)\p{space}+(false)\b[^\n]*?(?=(?=\n?$)|\/\/|\/\*)/dgv,beginCaptures:{"0":{name:"meta.preprocessor.conditional.swift"},"1":{name:"punctuation.definition.preprocessor.swift"},"2":{name:"keyword.control.import.preprocessor.conditional.swift"},"3":{name:"constant.language.boolean.swift"}},contentName:"comment.block.preprocessor.swift",end:/(?=^\p{space}*(#(e(?:lseif|lse|ndif)))\b)/dgv},{begin:/^\p{space}*(#)(if|elseif)\p{space}+/dgv,captures:{"1":{name:"punctuation.definition.preprocessor.swift"},"2":{name:"keyword.control.import.preprocessor.conditional.swift"}},end:/(?=\p{space}*\/[\*\/])|(?=\n?$)/dgv,name:"meta.preprocessor.conditional.swift",patterns:[{match:/(&&|\|\|)/dgv,name:"keyword.operator.logical.swift"},{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.swift"},{captures:{"1":{name:"keyword.other.condition.swift"},"2":{name:"punctuation.definition.parameters.begin.swift"},"3":{name:"support.constant.platform.architecture.swift"},"4":{name:"punctuation.definition.parameters.end.swift"}},match:/\b(arch)\p{space}*(\()\p{space}*(?:(arm|arm64|powerpc64|powerpc64le|i386|x86_64|s390x)|[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(\))/dgv},{captures:{"1":{name:"keyword.other.condition.swift"},"2":{name:"punctuation.definition.parameters.begin.swift"},"3":{name:"support.constant.platform.os.swift"},"4":{name:"punctuation.definition.parameters.end.swift"}},match:/\b(os)\p{space}*(\()\p{space}*(?:(macOS|OSX|iOS|tvOS|watchOS|visionOS|Android|Linux|FreeBSD|Windows|PS4)|[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(\))/dgv},{captures:{"1":{name:"keyword.other.condition.swift"},"2":{name:"punctuation.definition.parameters.begin.swift"},"3":{name:"entity.name.type.module.swift"},"4":{name:"punctuation.definition.parameters.end.swift"}},match:/\b(canImport)\p{space}*(\()([_\p{L}][_\p{L}\p{N}\p{M}]*)(\))/dgv},{begin:/\b(targetEnvironment)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.other.condition.swift"},"2":{name:"punctuation.definition.parameters.begin.swift"}},end:/(\))|(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.swift"}},patterns:[{match:/\b(simulator|UIKitForMac)\b/dgv,name:"support.constant.platform.environment.swift"}]},{begin:/\b(swift|compiler)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.other.condition.swift"},"2":{name:"punctuation.definition.parameters.begin.swift"}},end:/(\))|(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.swift"}},patterns:[{match:/>=|</dgv,name:"keyword.operator.comparison.swift"},{match:/\b[0-9]+(?:\.[0-9]+)*\b/dgv,name:"constant.numeric.swift"}]}]},{captures:{"1":{name:"punctuation.definition.preprocessor.swift"},"2":{name:"keyword.control.import.preprocessor.conditional.swift"},"3":{patterns:[{match:/\P{space}+/dgv,name:"invalid.illegal.character-not-allowed-here.swift"}]}},match:/^\p{space}*(#)(e(?:lse|ndif))([^\n]*?)(?=(?=\n?$)|\/\/|\/\*)/dgv,name:"meta.preprocessor.conditional.swift"},{captures:{"1":{name:"punctuation.definition.preprocessor.swift"},"2":{name:"keyword.control.import.preprocessor.sourcelocation.swift"},"4":{name:"punctuation.definition.parameters.begin.swift"},"5":{patterns:[{begin:/(file)\p{space}*(:)\p{space}*(?=")/dgv,beginCaptures:{"1":{name:"support.variable.parameter.swift"},"2":{name:"punctuation.separator.key-value.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{include:"#literals"}]},{captures:{"1":{name:"support.variable.parameter.swift"},"2":{name:"punctuation.separator.key-value.swift"},"3":{name:"constant.numeric.integer.swift"}},match:/(line)\p{space}*(:)\p{space}*([0-9]+)/dgv},{match:/,/dgv,name:"punctuation.separator.parameters.swift"},{match:/\P{space}+/dgv,name:"invalid.illegal.character-not-allowed-here.swift"}]},"6":{name:"punctuation.definition.parameters.begin.swift"},"7":{patterns:[{match:/\P{space}+/dgv,name:"invalid.illegal.character-not-allowed-here.swift"}]}},match:/^\p{space}*(#)(sourceLocation)((\()([^\)]*)(\)))([^\n]*?)(?=(?=\n?$)|\/\/|\/\*)/dgv,name:"meta.preprocessor.sourcelocation.swift"}]},conditionals:{patterns:[{begin:/(?<!\.)\b(if|guard|switch|for)\b/dgv,beginCaptures:{"1":{patterns:[{include:"#keywords"}]}},end:/(?=\{)/dgv,patterns:[{include:"#expressions-without-trailing-closures"}]},{begin:/(?<!\.)\b(while)\b/dgv,beginCaptures:{"1":{patterns:[{include:"#keywords"}]}},end:/(?=\{)|(?=\n?$)/dgv,patterns:[{include:"#expressions-without-trailing-closures"}]}]},declarations:{patterns:[{include:"#declarations-function"},{include:"#declarations-function-initializer"},{include:"#declarations-function-subscript"},{include:"#declarations-typed-variable-declaration"},{include:"#declarations-import"},{include:"#declarations-operator"},{include:"#declarations-precedencegroup"},{include:"#declarations-protocol"},{include:"#declarations-type"},{include:"#declarations-extension"},{include:"#declarations-typealias"},{include:"#declarations-macro"}]},"declarations-available-types":{patterns:[{include:"#comments"},{include:"#builtin-types"},{include:"#attributes"},{match:/\basync\b/dgv,name:"storage.modifier.async.swift"},{match:/\b(?:|re)throws\b/dgv,name:"storage.modifier.exception.swift"},{match:/\bsome\b/dgv,name:"keyword.other.operator.type.opaque.swift"},{match:/\bany\b/dgv,name:"keyword.other.operator.type.existential.swift"},{match:/\b(?:repeat|each)\b/dgv,name:"keyword.control.loop.swift"},{match:/\b(?:inout|isolated|borrowing|consuming)\b/dgv,name:"storage.modifier.swift"},{match:/\bSelf\b/dgv,name:"variable.language.swift"},{captures:{"1":{name:"keyword.operator.type.function.swift"}},match:/(?<![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])(->)(?![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])/dgv},{captures:{"1":{name:"keyword.operator.type.composition.swift"}},match:/(?<![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])(&)(?![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])/dgv},{match:/[\!\?]/dgv,name:"keyword.operator.type.optional.swift"},{match:/\.\.\./dgv,name:"keyword.operator.function.variadic-parameter.swift"},{match:/\bprotocol\b/dgv,name:"keyword.other.type.composition.swift"},{match:/(?<=\.)(?:Protocol|Type)\b/dgv,name:"keyword.other.type.metatype.swift"},{include:"#declarations-available-types-tuple-type"},{include:"#declarations-available-types-collection-type"},{include:"#declarations-generic-argument-clause"}]},"declarations-available-types-collection-type":{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.section.collection-type.begin.swift"}},end:/\]|(?=[\)\>\{\}])/dgv,endCaptures:{"0":{name:"punctuation.section.collection-type.end.swift"}},patterns:[{include:"#declarations-available-types"},{include:"#literals-numeric"},{match:/\b_\b/dgv,name:"support.variable.inferred.swift"},{match:/(?<=\p{space})\bof\b(?=\p{space}+[\(\[_\p{L}\p{Nd}\p{N}\p{M}])/dgv,name:"keyword.other.inline-array.swift"},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.key-value.swift"}},end:/(?=[\]\)\>\{\}])/dgv,patterns:[{match:/:/dgv,name:"invalid.illegal.extra-colon-in-dictionary-type.swift"},{include:"#declarations-available-types"}]}]},"declarations-available-types-tuple-type":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.tuple-type.begin.swift"}},end:/\)|(?=[\]\>\{\}])/dgv,endCaptures:{"0":{name:"punctuation.section.tuple-type.end.swift"}},patterns:[{include:"#declarations-available-types"}]},"declarations-extension":{begin:/\b(extension)\p{space}+/dgv,beginCaptures:{"1":{name:"storage.type.$1.swift"}},end:/(?<=\})/dgv,name:"meta.definition.type.$1.swift",patterns:[{begin:/(?!\p{space}*[\n\:\{])/dgvy,end:/*@__PURE__*/ new EmulatedRegExp("(?=\\p{space}*[\\n\\:\\{])|(?!^)(?=\\p{space}*where\\b)","dgv",{"strategy":"clip_search"}),name:"entity.name.type.swift",patterns:[{include:"#declarations-available-types"}]},{include:"#comments"},{include:"#declarations-generic-where-clause"},{include:"#declarations-inheritance-clause"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.type.begin.swift"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"$self"}]}]},"declarations-function":{begin:/*@__PURE__*/ new EmulatedRegExp("\\b(func)\\p{space}+((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\3)|(?:((?<oph>[\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])(([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|(?<opc>[̀-ͯ᷀-᷿⃐-︀-️︠-︯\\u{E0100}-\\u{E01EF}]))*)|(\\.(([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|([̀-ͯ᷀-᷿⃐-︀-️︠-︯\\u{E0100}-\\u{E01EF}])|\\.)+)))\\p{space}*(?=[\\(\\<])","dgv",{"hiddenCaptures":[8,12,13],"transfers":[[6,[8,12]],[9,[13]]]}),beginCaptures:{"1":{name:"storage.type.function.swift"},"2":{name:"entity.name.function.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/(?<=\})|(?=\n?$)/dgv,name:"meta.definition.function.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.function.begin.swift"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.function.end.swift"}},name:"meta.definition.function.body.swift",patterns:[{include:"$self"}]}]},"declarations-function-initializer":{begin:/(?<!\.)\b(init[\!\?]*)\p{space}*(?=[\(\<])/dgv,beginCaptures:{"1":{name:"storage.type.function.swift",patterns:[{match:/(?<=[\!\?])[\!\?]+/dgv,name:"invalid.illegal.character-not-allowed-here.swift"}]}},end:/(?<=\})|(?=\n?$)/dgv,name:"meta.definition.function.initializer.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.function.begin.swift"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.function.end.swift"}},name:"meta.definition.function.body.swift",patterns:[{include:"$self"}]}]},"declarations-function-result":{begin:/(?<![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])(->)(?![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.operator.function-result.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\{|\\bwhere\\b|[\\;\\=])|(?=\\n?$)","dgv",{"strategy":"clip_search"}),name:"meta.function-result.swift",patterns:[{match:/\bsending\b/dgv,name:"storage.modifier.swift"},{include:"#declarations-available-types"}]},"declarations-function-subscript":{begin:/(?<!\.)\b(subscript)\p{space}*(?=[\(\<])/dgv,beginCaptures:{"1":{name:"storage.type.function.swift"}},end:/(?<=\})|(?=\n?$)/dgv,name:"meta.definition.function.subscript.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.function.begin.swift"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.function.end.swift"}},name:"meta.definition.function.body.swift",patterns:[{include:"$self"}]}]},"declarations-generic-argument-clause":{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.separator.generic-argument-clause.begin.swift"}},end:/>|(?=[\]\)\{\}])/dgv,endCaptures:{"0":{name:"punctuation.separator.generic-argument-clause.end.swift"}},name:"meta.generic-argument-clause.swift",patterns:[{include:"#literals-numeric"},{include:"#declarations-available-types"}]},"declarations-generic-parameter-clause":{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.separator.generic-parameter-clause.begin.swift"}},end:/>|(?=[^\&\,\:\<\=\>\`\p{L}\p{M}\p{N}\p{Pc}\p{Nd}\p{space}])/dgv,endCaptures:{"0":{name:"punctuation.separator.generic-parameter-clause.end.swift"}},name:"meta.generic-parameter-clause.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-where-clause"},{match:/\blet\b/dgv,name:"keyword.other.declaration-specifier.swift"},{match:/\beach\b/dgv,name:"keyword.control.loop.swift"},{captures:{"1":{name:"variable.language.generic-parameter.swift"}},match:/\b((?!\p{Nd})[\p{L}\p{M}\p{N}\p{Pc}][\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*)\b/dgv},{match:/,/dgv,name:"punctuation.separator.generic-parameters.swift"},{begin:/(:)\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.separator.generic-parameter-constraint.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?=[\\,\\>]|(?!^)\\bwhere\\b)","dgv",{"strategy":"clip_search"}),name:"meta.generic-parameter-constraint.swift",patterns:[{begin:/(?:)/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?=[\\,\\>]|(?!^)\\bwhere\\b)","dgv",{"strategy":"clip_search"}),name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-type-identifier"},{include:"#declarations-type-operators"}]}]}]},"declarations-generic-where-clause":{begin:/\b(where)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.generic-constraint-introducer.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=[\\n\\;\\>\\{\\}]|//|/\\*)","dgv",{"strategy":"clip_search"}),name:"meta.generic-where-clause.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-where-clause-requirement-list"}]},"declarations-generic-where-clause-requirement-list":{begin:/|,\p{space}*/dgv,end:/(?=[\n\,\;\>\{\}]|\/\/|\/\*)/dgv,patterns:[{include:"#comments"},{include:"#constraint"},{include:"#declarations-available-types"},{begin:/(?<![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])(==)(?![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])/dgv,beginCaptures:{"1":{name:"keyword.operator.generic-constraint.same-type.swift"}},end:/(?=\p{space}*[\n\,\;\>\{\}]|\/\/|\/\*)/dgv,name:"meta.generic-where-clause.same-type-requirement.swift",patterns:[{include:"#declarations-available-types"}]},{begin:/(?<![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])(:)(?![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])/dgv,beginCaptures:{"1":{name:"keyword.operator.generic-constraint.conforms-to.swift"}},end:/(?=\p{space}*[\n\,\;\>\{\}]|\/\/|\/\*)/dgv,name:"meta.generic-where-clause.conformance-requirement.swift",patterns:[{begin:/\p{space}*/dgvy,contentName:"entity.other.inherited-class.swift",end:/(?=\p{space}*[\n\,\;\>\{\}]|\/\/|\/\*)/dgv,patterns:[{include:"#declarations-available-types"}]}]}]},"declarations-import":{begin:/(?<!\.)\b(import)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.control.import.swift"}},end:/(;)|(?=\n?$)\n?|(?=\/[\*\/])/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.swift"}},name:"meta.import.swift",patterns:[{begin:/(?!;|(?=\n?$)|\/\/|\/\*)(?:(typealias|struct|class|actor|enum|protocol|var|func)\p{space}+)?/dgvy,beginCaptures:{"1":{name:"storage.modifier.swift"}},end:/(?=;|(?=\n?$)|\/\/|\/\*)/dgv,patterns:[{captures:{"1":{name:"punctuation.definition.identifier.swift"},"2":{name:"punctuation.definition.identifier.swift"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\.)(?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\1)","dgv",{"strategy":"clip_search"}),name:"entity.name.type.swift"},{match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\.)\\$[0-9]+","dgv",{"strategy":"clip_search"}),name:"entity.name.type.swift"},{captures:{"1":{patterns:[{match:/\./dgv,name:"invalid.illegal.dot-not-allowed-here.swift"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\.)(?:((?<oph>[\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])(([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|(?<opc>[̀-ͯ᷀-᷿⃐-︀-️︠-︯\\u{E0100}-\\u{E01EF}]))*)|(\\.(([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|([̀-ͯ᷀-᷿⃐-︀-️︠-︯\\u{E0100}-\\u{E01EF}])|\\.)+))(?=[\\.\\;]|(?=\\n?$)|//|/\\*|\\p{space})","dgv",{"hiddenCaptures":[4,8,9],"transfers":[[2,[4,8]],[5,[9]]],"strategy":"clip_search"}),name:"entity.name.type.swift"},{match:/\./dgv,name:"punctuation.separator.import.swift"},{begin:/(?!\p{space}*(;|(?=\n?$)|\/\/|\/\*))/dgv,end:/(?=\p{space}*(;|(?=\n?$)|\/\/|\/\*))/dgv,name:"invalid.illegal.character-not-allowed-here.swift"}]}]},"declarations-inheritance-clause":{begin:/(:)(?=\p{space}*\{)|(:)\p{space}*/dgv,beginCaptures:{"1":{name:"invalid.illegal.empty-inheritance-clause.swift"},"2":{name:"punctuation.separator.inheritance-clause.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=[\\=\\{\\}]|(?!^)\\bwhere\\b)","dgv",{"strategy":"clip_search"}),name:"meta.inheritance-clause.swift",patterns:[{begin:/\bclass\b/dgv,beginCaptures:{"0":{name:"storage.type.class.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?=[\\=\\{\\}]|(?!^)\\bwhere\\b)","dgv",{"strategy":"clip_search"}),patterns:[{include:"#comments"},{include:"#declarations-inheritance-clause-more-types"}]},{begin:/(?:)/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=[\\=\\{\\}]|(?!^)\\bwhere\\b)","dgv",{"strategy":"clip_search"}),patterns:[{include:"#attributes"},{include:"#comments"},{include:"#declarations-inheritance-clause-inherited-type"},{include:"#declarations-inheritance-clause-more-types"},{include:"#declarations-type-operators"}]}]},"declarations-inheritance-clause-inherited-type":{begin:/(?=[_\`\p{L}])/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-type-identifier"}]},"declarations-inheritance-clause-more-types":{begin:/,\p{space}*/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?!/[\\*\\/])|(?=[\\,\\=\\{\\}]|(?!^)\\bwhere\\b)","dgv",{"strategy":"clip_search"}),name:"meta.inheritance-list.more-types",patterns:[{include:"#attributes"},{include:"#comments"},{include:"#declarations-inheritance-clause-inherited-type"},{include:"#declarations-inheritance-clause-more-types"},{include:"#declarations-type-operators"}]},"declarations-macro":{begin:/\b(macro)\p{space}+((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))\p{space}*(?=[\(\<\=])/dgv,beginCaptures:{"1":{name:"storage.type.function.swift"},"2":{name:"entity.name.function.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/(?=\n?$)|(?=;|\/\/|\/\*|[\=\}])/dgv,name:"meta.definition.macro.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"}]},"declarations-operator":{begin:/*@__PURE__*/ new EmulatedRegExp("(?:\\b((?:pre|in|post)fix)\\p{space}+)?\\b(operator)\\p{space}+(((?<oph>[\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])(?:(?=((([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|\\.|(?<opc>[̀-ͯ᷀-᷿⃐-︀-️︠-︯\\u{E0100}-\\u{E01EF}]))*))\\6))|(\\.(?:(?=((([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|([̀-ͯ᷀-᷿⃐-︀-️︠-︯\\u{E0100}-\\u{E01EF}])|\\.)+))\\11)))\\p{space}*","dgv",{"hiddenCaptures":[6,8,11,13,14],"transfers":[[5,[8,13]],[9,[14]]]}),beginCaptures:{"1":{name:"storage.modifier.swift"},"2":{name:"storage.type.function.operator.swift"},"3":{name:"entity.name.function.operator.swift"},"4":{name:"entity.name.function.operator.swift",patterns:[{match:/\./dgv,name:"invalid.illegal.dot-not-allowed-here.swift"}]}},end:/(;)|(?=\n?$)\n?|(?=\/[\*\/])/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.swift"}},name:"meta.definition.operator.swift",patterns:[{include:"#declarations-operator-swift2"},{include:"#declarations-operator-swift3"},{match:/((?!(?=\n?$)|;|\/\/|\/\*)\P{space})+/dgv,name:"invalid.illegal.character-not-allowed-here.swift"}]},"declarations-operator-swift2":{begin:/(\{)/dgvy,beginCaptures:{"1":{name:"punctuation.definition.operator.begin.swift"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.operator.end.swift"}},patterns:[{include:"#comments"},{captures:{"1":{name:"storage.modifier.swift"},"2":{name:"keyword.other.operator.associativity.swift"}},match:/\b(associativity)\p{space}+(left|right)\b/dgv},{captures:{"1":{name:"storage.modifier.swift"},"2":{name:"constant.numeric.integer.swift"}},match:/\b(precedence)\p{space}+([0-9]+)\b/dgv},{captures:{"1":{name:"storage.modifier.swift"}},match:/\b(assignment)\b/dgv}]},"declarations-operator-swift3":{captures:{"2":{name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-types-precedencegroup"}]},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},match:/(:)\p{space}*((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))/dgvy},"declarations-parameter-clause":{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.swift"}},end:/(\))(?:\p{space}*(async)\b)?/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.swift"},"2":{name:"storage.modifier.async.swift"}},name:"meta.parameter-clause.swift",patterns:[{include:"#declarations-parameter-list"}]},"declarations-parameter-list":{patterns:[{captures:{"1":{name:"entity.name.function.swift"},"2":{name:"punctuation.definition.identifier.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"variable.parameter.function.swift"},"5":{name:"punctuation.definition.identifier.swift"},"6":{name:"punctuation.definition.identifier.swift"}},match:/((?<q1>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))\p{space}+((?<q2>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\5))(?=\p{space}*:)/dgv},{captures:{"1":{name:"variable.parameter.function.swift"},"2":{name:"entity.name.function.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},match:/(((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3)))(?=\p{space}*:)/dgv},{begin:/:\p{space}*(?!\p{space})/dgv,end:/(?=[\)\,])/dgv,patterns:[{match:/\bsending\b/dgv,name:"storage.modifier.swift"},{include:"#declarations-available-types"},{match:/:/dgv,name:"invalid.illegal.extra-colon-in-parameter-list.swift"},{begin:/=/dgv,beginCaptures:{"0":{name:"keyword.operator.assignment.swift"}},end:/(?=[\)\,])/dgv,patterns:[{include:"#expressions"}]}]}]},"declarations-precedencegroup":{begin:/\b(precedencegroup)\p{space}+((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))\p{space}*(?=\{)/dgv,beginCaptures:{"1":{name:"storage.type.precedencegroup.swift"},"2":{name:"entity.name.type.precedencegroup.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.definition.precedencegroup.swift",patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.precedencegroup.begin.swift"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.precedencegroup.end.swift"}},patterns:[{include:"#comments"},{captures:{"1":{name:"storage.modifier.swift"},"2":{name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-types-precedencegroup"}]},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},match:/\b((?:high|low)erThan)\p{space}*:\p{space}*((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))/dgv},{captures:{"1":{name:"storage.modifier.swift"},"2":{name:"keyword.other.operator.associativity.swift"}},match:/\b(associativity)\b(?:\p{space}*:\p{space}*(right|left|none)\b)?/dgv},{captures:{"1":{name:"storage.modifier.swift"},"2":{name:"constant.language.boolean.swift"}},match:/\b(assignment)\b(?:\p{space}*:\p{space}*(true|false)\b)?/dgv}]}]},"declarations-protocol":{begin:/\b(protocol)\p{space}+((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))/dgv,beginCaptures:{"1":{name:"storage.type.$1.swift"},"2":{name:"entity.name.type.$1.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/(?<=\})/dgv,name:"meta.definition.type.protocol.swift",patterns:[{include:"#comments"},{include:"#declarations-inheritance-clause"},{include:"#declarations-generic-where-clause"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.type.begin.swift"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"#declarations-protocol-protocol-method"},{include:"#declarations-protocol-protocol-initializer"},{include:"#declarations-protocol-associated-type"},{include:"$self"}]}]},"declarations-protocol-associated-type":{begin:/\b(associatedtype)\p{space}+((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.declaration-specifier.swift"},"2":{name:"variable.language.associatedtype.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=[\\;\\}]|(?=\\n?$))","dgv",{"strategy":"clip_search"}),name:"meta.definition.associatedtype.swift",patterns:[{include:"#declarations-inheritance-clause"},{include:"#declarations-generic-where-clause"},{include:"#declarations-typealias-assignment"}]},"declarations-protocol-protocol-initializer":{begin:/(?<!\.)\b(init[\!\?]*)\p{space}*(?=[\(\<])/dgv,beginCaptures:{"1":{name:"storage.type.function.swift",patterns:[{match:/(?<=[\!\?])[\!\?]+/dgv,name:"invalid.illegal.character-not-allowed-here.swift"}]}},end:/(?=\n?$)|(?=;|\/\/|\/\*|\})/dgv,name:"meta.definition.function.initializer.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.function.begin.swift"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.function.end.swift"}},name:"invalid.illegal.function-body-not-allowed-in-protocol.swift",patterns:[{include:"$self"}]}]},"declarations-protocol-protocol-method":{begin:/*@__PURE__*/ new EmulatedRegExp("\\b(func)\\p{space}+((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\3)|(?:((?<oph>[\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])(([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|(?<opc>[̀-ͯ᷀-᷿⃐-︀-️︠-︯\\u{E0100}-\\u{E01EF}]))*)|(\\.(([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|([̀-ͯ᷀-᷿⃐-︀-️︠-︯\\u{E0100}-\\u{E01EF}])|\\.)+)))\\p{space}*(?=[\\(\\<])","dgv",{"hiddenCaptures":[8,12,13],"transfers":[[6,[8,12]],[9,[13]]]}),beginCaptures:{"1":{name:"storage.type.function.swift"},"2":{name:"entity.name.function.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/(?=\n?$)|(?=;|\/\/|\/\*|\})/dgv,name:"meta.definition.function.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.function.begin.swift"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.function.end.swift"}},name:"invalid.illegal.function-body-not-allowed-in-protocol.swift",patterns:[{include:"$self"}]}]},"declarations-type":{patterns:[{begin:/\b(class(?!\p{space}+(?:func|var|let)\b)|struct|actor)\b\p{space}*((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))/dgv,beginCaptures:{"1":{name:"storage.type.$1.swift"},"2":{name:"entity.name.type.$1.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/(?<=\})/dgv,name:"meta.definition.type.$1.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-generic-where-clause"},{include:"#declarations-inheritance-clause"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.type.begin.swift"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"$self"}]}]},{include:"#declarations-type-enum"}]},"declarations-type-enum":{begin:/\b(enum)\p{space}+((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))/dgv,beginCaptures:{"1":{name:"storage.type.$1.swift"},"2":{name:"entity.name.type.$1.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/(?<=\})/dgv,name:"meta.definition.type.$1.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-generic-where-clause"},{include:"#declarations-inheritance-clause"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.type.begin.swift"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"#declarations-type-enum-enum-case-clause"},{include:"$self"}]}]},"declarations-type-enum-associated-values":{begin:/\(/dgvy,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.swift"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.swift"}},patterns:[{include:"#comments"},{begin:/(?:(_)|((?<q1>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*\3))\p{space}+(((?<q2>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*\6))\p{space}*(:)/dgv,beginCaptures:{"1":{name:"entity.name.function.swift"},"2":{name:"invalid.illegal.distinct-labels-not-allowed.swift"},"5":{name:"variable.parameter.function.swift"},"7":{name:"punctuation.separator.argument-label.swift"}},end:/(?=[\]\)\,])/dgv,patterns:[{include:"#declarations-available-types"}]},{begin:/(((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*\3))\p{space}*(:)/dgv,beginCaptures:{"1":{name:"entity.name.function.swift"},"2":{name:"variable.parameter.function.swift"},"4":{name:"punctuation.separator.argument-label.swift"}},end:/(?=[\]\)\,])/dgv,patterns:[{include:"#declarations-available-types"}]},{begin:/(?![\]\)\,])(?=\P{space})/dgv,end:/(?=[\]\)\,])/dgv,patterns:[{include:"#declarations-available-types"},{match:/:/dgv,name:"invalid.illegal.extra-colon-in-parameter-list.swift"}]}]},"declarations-type-enum-enum-case":{begin:/((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))\p{space}*/dgv,beginCaptures:{"1":{name:"variable.other.enummember.swift"}},end:/(?<=\))|(?![\(\=])/dgv,patterns:[{include:"#comments"},{include:"#declarations-type-enum-associated-values"},{include:"#declarations-type-enum-raw-value-assignment"}]},"declarations-type-enum-enum-case-clause":{begin:/\b(case)\b\p{space}*/dgv,beginCaptures:{"1":{name:"storage.type.enum.case.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?=[\\;\\}])|(?!^)(?!/[\\*\\/])(?=[^\\,\\p{space}])","dgv",{"strategy":"clip_search"}),patterns:[{include:"#comments"},{include:"#declarations-type-enum-enum-case"},{include:"#declarations-type-enum-more-cases"}]},"declarations-type-enum-more-cases":{begin:/,\p{space}*/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?!/[\\*\\/])(?=[\\;\\}[^\\,\\p{space}]])","dgv",{"strategy":"clip_search"}),name:"meta.enum-case.more-cases",patterns:[{include:"#comments"},{include:"#declarations-type-enum-enum-case"},{include:"#declarations-type-enum-more-cases"}]},"declarations-type-enum-raw-value-assignment":{begin:/(=)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.operator.assignment.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{include:"#comments"},{include:"#literals"}]},"declarations-type-identifier":{begin:/((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))\p{space}*/dgv,beginCaptures:{"1":{name:"meta.type-name.swift",patterns:[{include:"#builtin-types"}]},"2":{name:"punctuation.definition.identifier.swift"},"3":{name:"punctuation.definition.identifier.swift"}},end:/(?!<)/dgv,patterns:[{begin:/(?=<)/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{include:"#declarations-generic-argument-clause"}]}]},"declarations-type-operators":{patterns:[{captures:{"1":{name:"keyword.operator.type.composition.swift"}},match:/(?<![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])(&)(?![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])/dgv},{captures:{"1":{name:"keyword.operator.type.requirement-suppression.swift"}},match:/(?<![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])(~)(?![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])/dgv}]},"declarations-typealias":{begin:/\b(typealias)\p{space}+((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3))\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.declaration-specifier.swift"},"2":{name:"entity.name.type.typealias.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.identifier.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=;|//|/\\*|(?=\\n?$))","dgv",{"strategy":"clip_search"}),name:"meta.definition.typealias.swift",patterns:[{begin:/(?=<)/dgvy,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{include:"#declarations-generic-parameter-clause"}]},{include:"#declarations-typealias-assignment"}]},"declarations-typealias-assignment":{begin:/(=)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.operator.assignment.swift"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=;|//|/\\*|(?=\\n?$))","dgv",{"strategy":"clip_search"}),patterns:[{include:"#declarations-available-types"}]},"declarations-typed-variable-declaration":{begin:/\b(?:(async)\p{space}+)?(let|var)\b\p{space}+(?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\3)\p{space}*:/dgv,beginCaptures:{"1":{name:"storage.modifier.async.swift"},"2":{name:"keyword.other.declaration-specifier.swift"}},end:/(?=(?=\n?$)|[\=\{])/dgv,patterns:[{include:"#declarations-available-types"}]},"declarations-types-precedencegroup":{patterns:[{match:/\b(?:BitwiseShift|Assignment|RangeFormation|Casting|Addition|NilCoalescing|Comparison|LogicalConjunction|LogicalDisjunction|Default|Ternary|Multiplication|FunctionArrow)Precedence\b/dgv,name:"support.type.swift"}]},expressions:{patterns:[{include:"#expressions-without-trailing-closures-or-member-references"},{include:"#expressions-trailing-closure"},{include:"#member-reference"}]},"expressions-trailing-closure":{patterns:[{captures:{"1":{name:"support.function.any-method.swift"},"2":{name:"punctuation.definition.identifier.swift"},"3":{name:"punctuation.definition.identifier.swift"}},match:/(#?(?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))(?=\p{space}*\{)/dgv,name:"meta.function-call.trailing-closure-only.swift"},{captures:{"1":{name:"support.function.any-method.trailing-closure-label.swift"},"2":{name:"punctuation.definition.identifier.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.separator.argument-label.swift"}},match:/((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))\p{space}*(:)(?=\p{space}*\{)/dgv}]},"expressions-without-trailing-closures":{patterns:[{include:"#expressions-without-trailing-closures-or-member-references"},{include:"#member-references"}]},"expressions-without-trailing-closures-or-member-references":{patterns:[{include:"#comments"},{include:"#code-block"},{include:"#attributes"},{include:"#expressions-without-trailing-closures-or-member-references-closure-parameter"},{include:"#literals"},{include:"#operators"},{include:"#builtin-types"},{include:"#builtin-functions"},{include:"#builtin-global-functions"},{include:"#builtin-properties"},{include:"#expressions-without-trailing-closures-or-member-references-compound-name"},{include:"#conditionals"},{include:"#keywords"},{include:"#expressions-without-trailing-closures-or-member-references-availability-condition"},{include:"#expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression"},{include:"#expressions-without-trailing-closures-or-member-references-macro-expansion"},{include:"#expressions-without-trailing-closures-or-member-references-subscript-expression"},{include:"#expressions-without-trailing-closures-or-member-references-parenthesized-expression"},{match:/\b_\b/dgv,name:"support.variable.discard-value.swift"}]},"expressions-without-trailing-closures-or-member-references-availability-condition":{begin:/\B(#(?:un)?available)(\()/dgv,beginCaptures:{"1":{name:"support.function.availability-condition.swift"},"2":{name:"punctuation.definition.arguments.begin.swift"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.swift"}},patterns:[{captures:{"1":{name:"keyword.other.platform.os.swift"},"2":{name:"constant.numeric.swift"}},match:/\p{space}*\b((?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\b\p{space}+([0-9]+(?:\.[0-9]+)*)\b/dgv},{captures:{"1":{name:"keyword.other.platform.all.swift"},"2":{name:"invalid.illegal.character-not-allowed-here.swift"}},match:/(\*)\p{space}*([^\n]*?)(?=[\)\,])/dgv},{match:/[^\)\,\p{space}]+/dgv,name:"invalid.illegal.character-not-allowed-here.swift"}]},"expressions-without-trailing-closures-or-member-references-closure-parameter":{match:/\$[0-9]+/dgv,name:"variable.language.closure-parameter.swift"},"expressions-without-trailing-closures-or-member-references-compound-name":{captures:{"1":{name:"entity.name.function.compound-name.swift"},"2":{name:"punctuation.definition.entity.swift"},"3":{name:"punctuation.definition.entity.swift"},"4":{patterns:[{captures:{"1":{name:"punctuation.definition.entity.swift"},"2":{name:"punctuation.definition.entity.swift"}},match:/(?<q>`?)(?!_:)[_\p{L}][_\p{L}\p{N}\p{M}]*(\1):/dgv,name:"entity.name.function.compound-name.swift"}]}},match:/((?<q1>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))\(((((?<q2>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\7)):)+)\)/dgv},"expressions-without-trailing-closures-or-member-references-expression-element-list":{patterns:[{include:"#comments"},{begin:/((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))\p{space}*(:)/dgv,beginCaptures:{"1":{name:"support.function.any-method.swift"},"2":{name:"punctuation.definition.identifier.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.separator.argument-label.swift"}},end:/(?=[\]\)\,])/dgv,patterns:[{include:"#expressions"}]},{begin:/(?![\]\)\,])(?=\P{space})/dgv,end:/(?=[\]\)\,])/dgv,patterns:[{include:"#expressions"}]}]},"expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression":{patterns:[{begin:/(#?(?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))\p{space}*(\()/dgv,beginCaptures:{"1":{name:"support.function.any-method.swift"},"2":{name:"punctuation.definition.identifier.swift"},"3":{name:"punctuation.definition.identifier.swift"},"4":{name:"punctuation.definition.arguments.begin.swift"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.swift"}},name:"meta.function-call.swift",patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},{begin:/(?<=[\]\)\>_\`\}\p{L}\p{N}\p{M}])\p{space}*(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.arguments.begin.swift"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.swift"}},name:"meta.function-call.swift",patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]}]},"expressions-without-trailing-closures-or-member-references-macro-expansion":{match:/(#(?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))/dgv,name:"support.function.any-method.swift"},"expressions-without-trailing-closures-or-member-references-parenthesized-expression":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.tuple.begin.swift"}},end:/(\))\p{space}*((?:\b(?:async|throws|rethrows)\p{space})*)/dgv,endCaptures:{"1":{name:"punctuation.section.tuple.end.swift"},"2":{patterns:[{match:/\brethrows\b/dgv,name:"invalid.illegal.rethrows-only-allowed-on-function-declarations.swift"},{include:"#async-throws"}]}},patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"expressions-without-trailing-closures-or-member-references-subscript-expression":{begin:/(?<=[_\`\p{L}\p{N}\p{M}])\p{space}*(\[)/dgv,beginCaptures:{"1":{name:"punctuation.definition.arguments.begin.swift"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.swift"}},name:"meta.subscript-expression.swift",patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},keywords:{patterns:[{match:/(?<!\.)\b(?:if|else|guard|where|switch|case|default|fallthrough)\b/dgv,name:"keyword.control.branch.swift"},{match:/(?<!\.)\b(?:continue|break|fallthrough|return|yield)\b/dgv,name:"keyword.control.transfer.swift"},{match:/(?<!\.)\b(?:while|for|in|each)\b/dgv,name:"keyword.control.loop.swift"},{match:/(?<=\p{space})\bof\b(?=\p{space}+[\(\[_\p{L}\p{Nd}\p{N}\p{M}])/dgv,name:"keyword.other.inline-array.swift"},{match:/\bany\b(?=\p{space}*`?[_\p{L}])/dgv,name:"keyword.other.operator.type.existential.swift"},{captures:{"1":{name:"keyword.control.loop.swift"},"2":{name:"punctuation.whitespace.trailing.repeat.swift"}},match:/(?<!\.)\b(repeat)\b(\p{space}*)/dgv},{match:/(?<!\.)\bdefer\b/dgv,name:"keyword.control.defer.swift"},{captures:{"1":{name:"invalid.illegal.try-must-precede-await.swift"},"2":{name:"keyword.control.await.swift"}},match:/(?<!\.)\b(?:(await\p{space}+try)|(await))\b/dgv},{match:/(?<!\.)\b(?:catch|throw|try)\b|\btry[\!\?]\B/dgv,name:"keyword.control.exception.swift"},{match:/(?<!\.)\b(?:|re)throws\b/dgv,name:"storage.modifier.exception.swift"},{captures:{"1":{name:"keyword.control.exception.swift"},"2":{name:"punctuation.whitespace.trailing.do.swift"}},match:/(?<!\.)\b(do)\b(\p{space}*)/dgv},{captures:{"1":{name:"storage.modifier.async.swift"},"2":{name:"keyword.other.declaration-specifier.swift"}},match:/(?<!\.)\b(?:(async)\p{space}+)?(let|var)\b/dgv},{match:/(?<!\.)\b(?:associatedtype|operator|typealias)\b/dgv,name:"keyword.other.declaration-specifier.swift"},{match:/(?<!\.)\b(class|enum|extension|precedencegroup|protocol|struct|actor)\b(?=\p{space}*`?[_\p{L}])/dgv,name:"storage.type.$1.swift"},{match:/(?<!\.)\b(?:inout|static|final|lazy|mutating|nonmutating|optional|indirect|required|override|dynamic|convenience|infix|prefix|postfix|distributed|nonisolated|borrowing|consuming)\b/dgv,name:"storage.modifier.swift"},{match:/\binit[\!\?]|\binit\b|(?<!\.)\b(?:func|deinit|subscript|didSet|get|set|willSet|yielding\p{space}+borrow|yielding\p{space}+mutate)\b/dgv,name:"storage.type.function.swift"},{match:/(?<!\.)\b(?:fileprivate|private|internal|public|open|package)\b/dgv,name:"keyword.other.declaration-specifier.accessibility.swift"},{match:/(?<!\.)\bunowned\((?:|un)safe\)|(?<!\.)\b(?:weak|unowned)\b/dgv,name:"keyword.other.capture-specifier.swift"},{captures:{"1":{name:"keyword.other.type.swift"},"2":{name:"keyword.other.type.metatype.swift"}},match:/(?<=\.)(?:(dynamicType|self)|(Protocol|Type))\b/dgv},{match:/(?<!\.)\b(?:super|self|Self)\b/dgv,name:"variable.language.swift"},{match:/(?:\B#(?:file|filePath|fileID|line|column|function|dsohandle)|\b__(?:FILE|LINE|COLUMN|FUNCTION|DSO_HANDLE)__)\b/dgv,name:"support.variable.swift"},{match:/(?<!\.)\bimport\b/dgv,name:"keyword.control.import.swift"},{match:/(?<!\.)\bconsume(?=\p{space}+`?[_\p{L}])/dgv,name:"keyword.control.consume.swift"},{match:/(?<!\.)\bcopy(?=\p{space}+`?[_\p{L}])/dgv,name:"keyword.control.copy.swift"}]},literals:{patterns:[{include:"#literals-boolean"},{include:"#literals-numeric"},{include:"#literals-string"},{match:/\bnil\b/dgv,name:"constant.language.nil.swift"},{match:/\B#((?:color|image|file)Literal)\b/dgv,name:"support.function.object-literal.swift"},{match:/\B#externalMacro\b/dgv,name:"support.function.builtin-macro.swift"},{match:/\B#keyPath\b/dgv,name:"support.function.key-path.swift"},{begin:/\B(#selector)(\()(?:\p{space}*([gs]etter)\p{space}*(:))?/dgv,beginCaptures:{"1":{name:"support.function.selector-reference.swift"},"2":{name:"punctuation.definition.arguments.begin.swift"},"3":{name:"support.variable.parameter.swift"},"4":{name:"punctuation.separator.argument-label.swift"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.swift"}},patterns:[{include:"#expressions"}]},{include:"#literals-regular-expression-literal"}]},"literals-boolean":{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.swift"},"literals-numeric":{patterns:[{match:/(\B-|\b)(?<![\]\(\)\[_\{\}\p{L}\p{N}\p{M}]\.)[0-9][0-9_]*(?=\.[0-9]|[Ee])(?:\.[0-9][0-9_]*)?(?:[Ee][\-\+]?[0-9][0-9_]*)?\b(?!\.[0-9])/dgv,name:"constant.numeric.float.decimal.swift"},{match:/(\B-|\b)(?<![\]\(\)\[_\{\}\p{L}\p{N}\p{M}]\.)(0x\p{AHex}[_\p{AHex}]*)(?:\.\p{AHex}[_\p{AHex}]*)?[Pp][\-\+]?[0-9][0-9_]*\b(?!\.[0-9])/dgv,name:"constant.numeric.float.hexadecimal.swift"},{match:/(\B-|\b)(?<![\]\(\)\[_\{\}\p{L}\p{N}\p{M}]\.)(0x\p{AHex}[_\p{AHex}]*)(?:\.\p{AHex}[_\p{AHex}]*)?[Pp][\-\+]?[\p{L}\p{M}\p{N}\p{Pc}]*\b(?!\.[0-9])/dgv,name:"invalid.illegal.numeric.float.invalid-exponent.swift"},{match:/(\B-|\b)(?<![\]\(\)\[_\{\}\p{L}\p{N}\p{M}]\.)(0x\p{AHex}[_\p{AHex}]*)\.[0-9][\.\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.numeric.float.missing-exponent.swift"},{match:/(?<=\p{space}|^)-?\.[0-9][\.\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.numeric.float.missing-leading-zero.swift"},{match:/(\B-|\b)0[box]_[_\p{AHex}]*(?:[EPep][\-\+]?[\p{L}\p{M}\p{N}\p{Pc}]+)?[\.\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"invalid.illegal.numeric.leading-underscore.swift"},{match:/(?<=[\]\(\)\[_\{\}\p{L}\p{N}\p{M}]\.)[0-9]+\b/dgv},{match:/(\B-|\b)(?<![\]\(\)\[_\{\}\p{L}\p{N}\p{M}]\.)0b[01][01_]*\b(?!\.[0-9])/dgv,name:"constant.numeric.integer.binary.swift"},{match:/(\B-|\b)(?<![\]\(\)\[_\{\}\p{L}\p{N}\p{M}]\.)0o[0-7][0-7_]*\b(?!\.[0-9])/dgv,name:"constant.numeric.integer.octal.swift"},{match:/(\B-|\b)(?<![\]\(\)\[_\{\}\p{L}\p{N}\p{M}]\.)[0-9][0-9_]*\b(?!\.[0-9])/dgv,name:"constant.numeric.integer.decimal.swift"},{match:/(\B-|\b)(?<![\]\(\)\[_\{\}\p{L}\p{N}\p{M}]\.)0x\p{AHex}[_\p{AHex}]*\b(?!\.[0-9])/dgv,name:"constant.numeric.integer.hexadecimal.swift"},{match:/(\B-|\b)[0-9][\.\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.numeric.other.swift"}]},"literals-regular-expression-literal":{patterns:[{begin:/(#+)\/\n/dgv,end:/\/\1()/dgv,name:"string.regexp.block.swift",patterns:[{include:"#literals-regular-expression-literal-regex-guts"},{include:"#literals-regular-expression-literal-line-comment"}]},{captures:{"0":{patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]},"1":{name:"punctuation.definition.string.begin.regexp.swift"},"3":{name:"punctuation.definition.string.end.regexp.swift"}},match:/*@__PURE__*/ new EmulatedRegExp("(/)(?!\\p{space})(?!/)(?:\\\\\\p{space}(?=/)|(?:(?=((?<guts>(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/)[^\\n])*))\\5)(?:\\\\E|(?=/))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\6)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/)[^\\n])*))\\9)(?:\\\\E|(?=/))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\10)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/)[^\\n])*))\\13)(?:\\\\E|(?=/))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\14)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/)[^\\n])*))\\17)(?:\\\\E|(?=/))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\18)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/)[^\\n])*))\\21)(?:\\\\E|(?=/))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\22)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:)?))\\23)\\)|(?:(?!/)[^\\(\\)\\[\\\\])+)+))\\20))?))\\19)\\)|(?:(?!/)[^\\(\\)\\[\\\\])+)+))\\16))?))\\15)\\)|(?:(?!/)[^\\(\\)\\[\\\\])+)+))\\12))?))\\11)\\)|(?:(?!/)[^\\(\\)\\[\\\\])+)+))\\8))?))\\7)\\)|(?:(?!/)[^\\(\\)\\[\\\\])+)+))\\4))?))\\2)(?<!\\p{space}))(/)","dgv",{"hiddenCaptures":[2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]}),name:"string.regexp.line.swift"},{captures:{"0":{patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]},"1":{name:"punctuation.definition.string.begin.regexp.swift"},"4":{name:"punctuation.definition.string.end.regexp.swift"},"5":{name:"invalid.illegal.returns-not-allowed.regexp"}},match:/*@__PURE__*/ new EmulatedRegExp("((#+)/)(?:(?=((?<guts>(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/\\2)[^\\n])*))\\6)(?:\\\\E|(?=/\\2))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\7)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/\\2)[^\\n])*))\\10)(?:\\\\E|(?=/\\2))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\11)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/\\2)[^\\n])*))\\14)(?:\\\\E|(?=/\\2))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\15)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/\\2)[^\\n])*))\\18)(?:\\\\E|(?=/\\2))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\19)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:(?:(?=((?:\\\\Q(?:(?=((?:(?!\\\\E)(?!/\\2)[^\\n])*))\\22)(?:\\\\E|(?=/\\2))|\\\\[^\\n]|\\(\\?#[^\\)]*\\)|\\(\\?(?:(?=(\\{(?:[^\\{][^\\n]*?|\\{[^\\{][^\\n]*?\\}|\\{\\{[^\\{][^\\n]*?\\}\\}|\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}|\\{\\{\\{\\{[^\\{][^\\n]*?\\}\\}\\}\\}|\\{\\{\\{\\{\\{[^\\n]+?\\}\\}\\}\\}\\})\\}))\\23)(?:\\[(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\])?[\\<\\>X]?\\)|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\]|\\[(?:\\\\[^\\n]|[^\\]\\[\\\\])+\\])+\\])+\\])+\\]|\\((?:(?=((?:)?))\\24)\\)|(?:(?!/\\2)[^\\(\\)\\[\\\\])+)+))\\21))?))\\20)\\)|(?:(?!/\\2)[^\\(\\)\\[\\\\])+)+))\\17))?))\\16)\\)|(?:(?!/\\2)[^\\(\\)\\[\\\\])+)+))\\13))?))\\12)\\)|(?:(?!/\\2)[^\\(\\)\\[\\\\])+)+))\\9))?))\\8)\\)|(?:(?!/\\2)[^\\(\\)\\[\\\\])+)+))\\5))?))\\3)(/\\2)|#+/[^\\n]+(\\n)","dgv",{"hiddenCaptures":[3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]}),name:"string.regexp.line.extended.swift"}]},"literals-regular-expression-literal-backreference-or-subpattern":{patterns:[{captures:{"1":{name:"constant.character.escape.backslash.regexp"},"2":{name:"variable.other.group-name.regexp"},"3":{name:"keyword.operator.recursion-level.regexp"},"4":{name:"constant.numeric.integer.decimal.regexp"},"5":{name:"constant.numeric.integer.decimal.regexp"},"6":{name:"keyword.operator.recursion-level.regexp"},"7":{name:"constant.numeric.integer.decimal.regexp"},"8":{name:"constant.character.escape.backslash.regexp"}},match:/(\\g\{)(?:((?!\p{Nd})[\p{L}\p{M}\p{N}\p{Pc}]+)(?:([\-\+])(\p{Nd}+))?|([\-\+]?\p{Nd}+)(?:([\-\+])(\p{Nd}+))?)(\})/dgv},{captures:{"1":{name:"constant.character.escape.backslash.regexp"},"2":{name:"constant.numeric.integer.decimal.regexp"},"3":{name:"keyword.operator.recursion-level.regexp"},"4":{name:"constant.numeric.integer.decimal.regexp"}},match:/(\\g)([\-\+]?\p{Nd}+)(?:([\-\+])(\p{Nd}+))?/dgv},{captures:{"1":{name:"constant.character.escape.backslash.regexp"},"2":{name:"variable.other.group-name.regexp"},"3":{name:"keyword.operator.recursion-level.regexp"},"4":{name:"constant.numeric.integer.decimal.regexp"},"5":{name:"constant.numeric.integer.decimal.regexp"},"6":{name:"keyword.operator.recursion-level.regexp"},"7":{name:"constant.numeric.integer.decimal.regexp"},"8":{name:"constant.character.escape.backslash.regexp"}},match:/(\\[gk]<)(?:((?!\p{Nd})[\p{L}\p{M}\p{N}\p{Pc}]+)(?:([\-\+])(\p{Nd}+))?|([\-\+]?\p{Nd}+)(?:([\-\+])(\p{Nd}+))?)(>)/dgv},{captures:{"1":{name:"constant.character.escape.backslash.regexp"},"2":{name:"variable.other.group-name.regexp"},"3":{name:"keyword.operator.recursion-level.regexp"},"4":{name:"constant.numeric.integer.decimal.regexp"},"5":{name:"constant.numeric.integer.decimal.regexp"},"6":{name:"keyword.operator.recursion-level.regexp"},"7":{name:"constant.numeric.integer.decimal.regexp"},"8":{name:"constant.character.escape.backslash.regexp"}},match:/(\\[gk]')(?:((?!\p{Nd})[\p{L}\p{M}\p{N}\p{Pc}]+)(?:([\-\+])(\p{Nd}+))?|([\-\+]?\p{Nd}+)(?:([\-\+])(\p{Nd}+))?)(')/dgv},{captures:{"1":{name:"constant.character.escape.backslash.regexp"},"2":{name:"variable.other.group-name.regexp"},"3":{name:"keyword.operator.recursion-level.regexp"},"4":{name:"constant.numeric.integer.decimal.regexp"},"5":{name:"constant.character.escape.backslash.regexp"}},match:/(\\k\{)((?!\p{Nd})[\p{L}\p{M}\p{N}\p{Pc}]+)(?:([\-\+])(\p{Nd}+))?(\})/dgv},{match:/\\[1-9][0-9]+/dgv,name:"keyword.other.back-reference.regexp"},{captures:{"1":{name:"keyword.other.back-reference.regexp"},"2":{name:"variable.other.group-name.regexp"},"3":{name:"keyword.operator.recursion-level.regexp"},"4":{name:"constant.numeric.integer.decimal.regexp"},"5":{name:"keyword.other.back-reference.regexp"}},match:/(\(\?(?:P[\=\>]|&))((?!\p{Nd})[\p{L}\p{M}\p{N}\p{Pc}]+)(?:([\-\+])(\p{Nd}+))?(\))/dgv},{match:/\(\?R\)/dgv,name:"keyword.other.back-reference.regexp"},{captures:{"1":{name:"keyword.other.back-reference.regexp"},"2":{name:"constant.numeric.integer.decimal.regexp"},"3":{name:"keyword.operator.recursion-level.regexp"},"4":{name:"constant.numeric.integer.decimal.regexp"},"5":{name:"keyword.other.back-reference.regexp"}},match:/(\(\?)([\-\+]?\p{Nd}+)(?:([\-\+])(\p{Nd}+))?(\))/dgv}]},"literals-regular-expression-literal-backtracking-directive-or-global-matching-option":{captures:{"1":{name:"keyword.control.directive.regexp"},"2":{name:"keyword.control.directive.regexp"},"3":{name:"keyword.control.directive.regexp"},"4":{name:"variable.language.tag.regexp"},"5":{name:"keyword.control.directive.regexp"},"6":{name:"keyword.operator.assignment.regexp"},"7":{name:"constant.numeric.integer.decimal.regexp"},"8":{name:"keyword.control.directive.regexp"},"9":{name:"keyword.control.directive.regexp"}},match:/(\(\*)(?:(ACCEPT|FAIL|F|MARK(?=:)|(?=:)|COMMIT|PRUNE|SKIP|THEN)(?:(:)([^\)]+))?|(LIMIT_(?:DEPTH|HEAP|MATCH))(=)(\p{Nd}+)|(CRLF|CR|ANYCRLF|ANY|LF|NUL|BSR_ANYCRLF|BSR_UNICODE|NOTEMPTY_ATSTART|NOTEMPTY|NO_AUTO_POSSESS|NO_DOTSTAR_ANCHOR|NO_JIT|NO_START_OPT|UTF|UCP))(\))/dgv},"literals-regular-expression-literal-callout":{captures:{"1":{name:"punctuation.definition.group.regexp"},"2":{name:"keyword.control.callout.regexp"},"3":{name:"constant.numeric.integer.decimal.regexp"},"4":{name:"entity.name.function.callout.regexp"},"5":{name:"entity.name.function.callout.regexp"},"6":{name:"entity.name.function.callout.regexp"},"7":{name:"entity.name.function.callout.regexp"},"8":{name:"entity.name.function.callout.regexp"},"9":{name:"entity.name.function.callout.regexp"},"10":{name:"entity.name.function.callout.regexp"},"11":{name:"entity.name.function.callout.regexp"},"12":{name:"punctuation.definition.group.regexp"},"13":{name:"punctuation.definition.group.regexp"},"14":{name:"keyword.control.callout.regexp"},"15":{name:"entity.name.function.callout.regexp"},"16":{name:"variable.language.tag-name.regexp"},"17":{name:"punctuation.definition.group.regexp"},"18":{name:"punctuation.definition.group.regexp"},"19":{name:"keyword.control.callout.regexp"},"21":{name:"variable.language.tag-name.regexp"},"22":{name:"keyword.control.callout.regexp"},"23":{name:"punctuation.definition.group.regexp"}},match:/*@__PURE__*/ new EmulatedRegExp("(\\()(?<keyw>\\?C)(?:(?<num>\\p{Nd}+)|`(?<name>(?:[^\\`]|``)*)`|'((?:[^']|'')*)'|\"((?:[^\"]|\"\")*)\"|\\^((?:[^\\^]|\\^\\^)*)\\^|%((?:[^\\%]|%%)*)%|#((?:[^\\#]|##)*)#|\\$((?:[^\\$]|\\$\\$)*)\\$|\\{((?:[^\\}]|\\}\\})*)\\})?(\\))|(\\()(\\*)((?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)(?:\\[(?<tag>(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)\\])?(?:\\{[^\\,\\}]+(?:,[^\\,\\}]+)*\\})?(\\))|(\\()(\\?)(?:(?=((\\{(?:(?:\\{(?:(?:\\{(?:(?:\\{(?:(?:\\{(?:(?:)|(?!\\{)[^\\n]*?)\\})|(?!\\{)[^\\n]*?)\\})|(?!\\{)[^\\n]*?)\\})|(?!\\{)[^\\n]*?)\\})|(?!\\{)[^\\n]*?)\\})))\\20)(?:\\[((?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)\\])?([\\<\\>X]?)(\\))","dgv",{"hiddenCaptures":[20]}),name:"meta.callout.regexp"},"literals-regular-expression-literal-character-properties":{captures:{"1":{name:"support.variable.character-property.regexp"},"2":{name:"punctuation.definition.character-class.regexp"},"3":{name:"support.variable.character-property.regexp"},"4":{name:"punctuation.definition.character-class.regexp"}},match:/\\[Pp]\{([\-\p{space}\p{L}\p{M}\p{N}\p{Pc}]+(?:=[\-\p{space}\p{L}\p{M}\p{N}\p{Pc}]+)?)\}|(\[:)([\-\p{space}\p{L}\p{M}\p{N}\p{Pc}]+(?:=[\-\p{space}\p{L}\p{M}\p{N}\p{Pc}]+)?)(:\])/dgv,name:"constant.other.character-class.set.regexp"},"literals-regular-expression-literal-custom-char-class":{patterns:[{begin:/(\[)(\^)?/dgv,beginCaptures:{"1":{name:"punctuation.definition.character-class.regexp"},"2":{name:"keyword.operator.negation.regexp"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.character-class.regexp"}},name:"constant.other.character-class.set.regexp",patterns:[{include:"#literals-regular-expression-literal-custom-char-class-members"}]}]},"literals-regular-expression-literal-custom-char-class-members":{patterns:[{match:/\\b/dgv,name:"constant.character.escape.backslash.regexp"},{include:"#literals-regular-expression-literal-custom-char-class"},{include:"#literals-regular-expression-literal-quote"},{include:"#literals-regular-expression-literal-set-operators"},{include:"#literals-regular-expression-literal-unicode-scalars"},{include:"#literals-regular-expression-literal-character-properties"}]},"literals-regular-expression-literal-group-option-toggle":{match:/\(\?(?:\^(?:[DJPSUWimnswx]|xx|y\{[gw]\})*|(?:[DJPSUWimnswx]|xx|y\{[gw]\})+|(?:[DJPSUWimnswx]|xx|y\{[gw]\})*-(?:[DJPSUWimnswx]|xx|y\{[gw]\})*)\)/dgv,name:"keyword.other.option-toggle.regexp"},"literals-regular-expression-literal-group-or-conditional":{patterns:[{begin:/(\()(\?~)/dgv,beginCaptures:{"1":{name:"punctuation.definition.group.regexp"},"2":{name:"keyword.control.conditional.absent.regexp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.group.regexp"}},name:"meta.group.absent.regexp",patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(\\()(?<cond>\\?\\()(?:(?<NumberRef>(?<num>[\\-\\+]?\\p{Nd}+)(?:(?<op>[\\-\\+])(\\p{Nd}+))?)|(R)(([\\-\\+]?\\p{Nd}+)(?:([\\-\\+])(\\p{Nd}+))?)?|(R&)(?<NamedRef>(?<name>(?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)(?:([\\-\\+])(\\p{Nd}+))?)|(<)(?:(((?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)(?:([\\-\\+])(\\p{Nd}+))?)|(([\\-\\+]?\\p{Nd}+)(?:([\\-\\+])(\\p{Nd}+))?))(>)|(')(?:(((?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)(?:([\\-\\+])(\\p{Nd}+))?)|(([\\-\\+]?\\p{Nd}+)(?:([\\-\\+])(\\p{Nd}+))?))(')|(DEFINE)|(VERSION)(?<compar>>?=)(\\p{Nd}+\\.\\p{Nd}+))(\\))|(\\()(\\?)(?=\\()","dgv",{"hiddenCaptures":[8,9,10,11,18,19,20,21,22,23,24,25,28,29,30,31,32,33,34,35],"transfers":[[3,[8,22,32]],[4,[9,23,33]],[5,[10,24,34]],[6,[11,25,35]],[13,[18,28]],[14,[19,29]],[15,[20,30]],[16,[21,31]]]}),beginCaptures:{"1":{name:"punctuation.definition.group.regexp"},"2":{name:"keyword.control.conditional.regexp"},"4":{name:"constant.numeric.integer.decimal.regexp"},"5":{name:"keyword.operator.recursion-level.regexp"},"6":{name:"constant.numeric.integer.decimal.regexp"},"7":{name:"keyword.control.conditional.regexp"},"8":{name:"keyword.control.conditional.regexp"},"10":{name:"variable.other.group-name.regexp"},"11":{name:"keyword.operator.recursion-level.regexp"},"12":{name:"constant.numeric.integer.decimal.regexp"},"13":{name:"keyword.control.conditional.regexp"},"14":{name:"keyword.control.conditional.regexp"},"15":{name:"keyword.control.conditional.regexp"},"16":{name:"keyword.control.conditional.regexp"},"17":{name:"keyword.control.conditional.regexp"},"18":{name:"keyword.control.conditional.regexp"},"19":{name:"keyword.operator.comparison.regexp"},"20":{name:"constant.numeric.integer.decimal.regexp"},"21":{name:"keyword.control.conditional.regexp"},"22":{name:"punctuation.definition.group.regexp"},"23":{name:"keyword.control.conditional.regexp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.group.regexp"}},name:"meta.group.conditional.regexp",patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(\\()(?:(?=(((\\?)(?:([\\!\\*\\:\\=\\>\\|]|<[\\!\\*\\=])|P?<(?:((?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)(-))?((?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)>|'(?:((?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)(-))?((?!\\p{Nd})[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)'|(?:\\^(?:[DJPSUWimnswx]|xx|y\\{[gw]\\})*|(?:[DJPSUWimnswx]|xx|y\\{[gw]\\})+|(?:[DJPSUWimnswx]|xx|y\\{[gw]\\})*-(?:[DJPSUWimnswx]|xx|y\\{[gw]\\})*):)|\\*(atomic|pla|positive_lookahead|nla|negative_lookahead|plb|positive_lookbehind|nlb|negative_lookbehind|napla|non_atomic_positive_lookahead|naplb|non_atomic_positive_lookbehind|sr|script_run|asr|atomic_script_run):)?))\\2)","dgv",{"hiddenCaptures":[2]}),beginCaptures:{"1":{name:"punctuation.definition.group.regexp"},"2":{name:"keyword.other.group-options.regexp"},"3":{name:"punctuation.definition.group.regexp"},"4":{name:"punctuation.definition.group.regexp"},"5":{name:"variable.other.group-name.regexp"},"6":{name:"keyword.operator.balancing-group.regexp"},"7":{name:"variable.other.group-name.regexp"},"8":{name:"variable.other.group-name.regexp"},"9":{name:"keyword.operator.balancing-group.regexp"},"10":{name:"variable.other.group-name.regexp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.group.regexp"}},name:"meta.group.regexp",patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]}]},"literals-regular-expression-literal-line-comment":{captures:{"1":{name:"punctuation.definition.comment.regexp"}},match:/(#)[^\n]*(?=\n?$)/dgv,name:"comment.line.regexp"},"literals-regular-expression-literal-quote":{begin:/\\Q/dgv,beginCaptures:{"0":{name:"constant.character.escape.backslash.regexp"}},end:/\\E|(\n)/dgv,endCaptures:{"0":{name:"constant.character.escape.backslash.regexp"},"1":{name:"invalid.illegal.returns-not-allowed.regexp"}},name:"string.quoted.other.regexp.swift"},"literals-regular-expression-literal-regex-guts":{patterns:[{include:"#literals-regular-expression-literal-quote"},{begin:/\(\?#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.regexp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.regexp"}},name:"comment.block.regexp"},{begin:/<\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.regexp"}},end:/\}>/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.regexp"}},name:"meta.embedded.expression.regexp"},{include:"#literals-regular-expression-literal-unicode-scalars"},{include:"#literals-regular-expression-literal-character-properties"},{match:/[\$\^]|\\[ABGYZbyz]|\\K/dgv,name:"keyword.control.anchor.regexp"},{include:"#literals-regular-expression-literal-backtracking-directive-or-global-matching-option"},{include:"#literals-regular-expression-literal-callout"},{include:"#literals-regular-expression-literal-backreference-or-subpattern"},{match:/\.|\\[CDHNORSVWXdhsvw]/dgv,name:"constant.character.character-class.regexp"},{match:/\\c[^\n]/dgv,name:"constant.character.entity.control-character.regexp"},{match:/\\[^c]/dgv,name:"constant.character.escape.backslash.regexp"},{match:/\|/dgv,name:"keyword.operator.or.regexp"},{match:/[\*\+\?]/dgv,name:"keyword.operator.quantifier.regexp"},{match:/\{(?:\p{space}*\p{Nd}+\p{space}*(?:,\p{space}*\p{Nd}*\p{space}*)?\}|\p{space}*,\p{space}*\p{Nd}+\p{space}*\})/dgv,name:"keyword.operator.quantifier.regexp"},{include:"#literals-regular-expression-literal-custom-char-class"},{include:"#literals-regular-expression-literal-group-option-toggle"},{include:"#literals-regular-expression-literal-group-or-conditional"}]},"literals-regular-expression-literal-set-operators":{patterns:[{match:/&&/dgv,name:"keyword.operator.intersection.regexp.swift"},{match:/--/dgv,name:"keyword.operator.subtraction.regexp.swift"},{match:/~~/dgv,name:"keyword.operator.symmetric-difference.regexp.swift"}]},"literals-regular-expression-literal-unicode-scalars":{match:/\\(?:u\{\p{space}*(?:\p{AHex}+\p{space}*)+\}|u\p{AHex}{4}|x\{\p{AHex}+\}|x\p{AHex}{0,2}|U\p{AHex}{8}|o\{[0-7]+\}|0[0-7]{0,3}|N\{(?:U\+\p{AHex}{1,8}|[\-\p{space}\p{L}\p{M}\p{N}\p{Pc}]+)\})/dgv,name:"constant.character.numeric.regexp"},"literals-string":{patterns:[{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.swift"}},end:/"""(#*)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.swift"},"1":{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.block.swift",patterns:[{match:/(?:[^\n]+(?=""")|[^\n]+)/dgvy,name:"invalid.illegal.content-after-opening-delimiter.swift"},{match:/\\\p{space}*\n/dgv,name:"constant.character.escape.newline.swift"},{include:"#literals-string-string-guts"},{match:/\P{space}((?!\\\()[^\n])*(?=""")/dgv,name:"invalid.illegal.content-before-closing-delimiter.swift"}]},{begin:/#"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.swift"}},end:/"""#(#*)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.swift"},"1":{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.block.raw.swift",patterns:[{match:/(?:[^\n]+(?=""")|[^\n]+)/dgvy,name:"invalid.illegal.content-after-opening-delimiter.swift"},{match:/\\#\p{space}*\n/dgv,name:"constant.character.escape.newline.swift"},{include:"#literals-string-raw-string-guts"},{match:/\P{space}((?!\\#\()[^\n])*(?=""")/dgv,name:"invalid.illegal.content-before-closing-delimiter.swift"}]},{begin:/(##+)"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.swift"}},end:/"""\1(#*)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.swift"},"1":{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.block.raw.swift",patterns:[{match:/(?:[^\n]+(?=""")|[^\n]+)/dgvy,name:"invalid.illegal.content-after-opening-delimiter.swift"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.swift"}},end:/"(#*)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.swift"},"1":{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.single-line.swift",patterns:[{match:/[\n\r]/dgv,name:"invalid.illegal.returns-not-allowed.swift"},{include:"#literals-string-string-guts"}]},{begin:/(##+)"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.raw.swift"}},end:/"\1(#*)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.raw.swift"},"1":{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.single-line.raw.swift",patterns:[{match:/[\n\r]/dgv,name:"invalid.illegal.returns-not-allowed.swift"}]},{begin:/#"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.raw.swift"}},end:/"#(#*)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.raw.swift"},"1":{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.single-line.raw.swift",patterns:[{match:/[\n\r]/dgv,name:"invalid.illegal.returns-not-allowed.swift"},{include:"#literals-string-raw-string-guts"}]}]},"literals-string-raw-string-guts":{patterns:[{match:/\\#["'0\\nrt]/dgv,name:"constant.character.escape.swift"},{match:/\\#u\{\p{AHex}{1,8}\}/dgv,name:"constant.character.escape.unicode.swift"},{begin:/\\#\(/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.swift"}},contentName:"source.swift",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.swift"}},name:"meta.embedded.line.swift",patterns:[{include:"$self"},{begin:/\(/dgv,end:/\)/dgv}]},{match:/\\#[^\n]/dgv,name:"invalid.illegal.escape-not-recognized"}]},"literals-string-string-guts":{patterns:[{match:/\\["'0\\nrt]/dgv,name:"constant.character.escape.swift"},{match:/\\u\{\p{AHex}{1,8}\}/dgv,name:"constant.character.escape.unicode.swift"},{begin:/\\\(/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.swift"}},contentName:"source.swift",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.swift"}},name:"meta.embedded.line.swift",patterns:[{include:"$self"},{begin:/\(/dgv,end:/\)/dgv}]},{match:/\\[^\n]/dgv,name:"invalid.illegal.escape-not-recognized"}]},"member-reference":{patterns:[{captures:{"1":{name:"variable.other.swift"},"2":{name:"punctuation.definition.identifier.swift"},"3":{name:"punctuation.definition.identifier.swift"}},match:/(?<=\.)((?<q>`?)[_\p{L}][_\p{L}\p{N}\p{M}]*(\2))/dgv}]},operators:{patterns:[{match:/\b(is\b|as([\!\?]\B|\b))/dgv,name:"keyword.operator.type-casting.swift"},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?<oph>[\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|\\.(([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-、。〃〈-〰])|[\\.̀-ͯ᷀-᷿⃐-︀-️︠-︯\\u{E0100}-\\u{E01EF}]))","dgv",{"hiddenCaptures":[3],"transfers":[[1,[3]]]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{captures:{"0":{patterns:[{match:/(\+\+|--)(?=\n?$)/dgvy,name:"keyword.operator.increment-or-decrement.swift"},{match:/([\-\+])(?=\n?$)/dgvy,name:"keyword.operator.arithmetic.unary.swift"},{match:/!(?=\n?$)/dgvy,name:"keyword.operator.logical.not.swift"},{match:/~(?=\n?$)/dgvy,name:"keyword.operator.bitwise.not.swift"},{match:/[^\n]+/dgv,name:"keyword.operator.custom.prefix.swift"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|[\\(\\,\\:\\;\\[\\{\\p{space}])(?:(?=(((?!(//|/\\*|\\*/))([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-←-⏿─-❵➔-⯿⸀-、。〃〈-〰︀-️︠-︯\\u{E0100}-\\u{E01EF}]))+))\\1)(?![\\]\\)\\,\\:\\;\\}\\p{space}]|$)","dgvy",{"hiddenCaptures":[1]})},{captures:{"0":{patterns:[{match:/(\+\+|--)(?=\n?$)/dgvy,name:"keyword.operator.increment-or-decrement.swift"},{match:/!(?=\n?$)/dgvy,name:"keyword.operator.increment-or-decrement.swift"},{match:/[^\n]+/dgv,name:"keyword.operator.custom.postfix.swift"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?<!^|[\\(\\,\\:\\;\\[\\{\\p{space}])(?:(?=(((?!(//|/\\*|\\*/))([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-←-⏿─-❵➔-⯿⸀-、。〃〈-〰︀-️︠-︯\\u{E0100}-\\u{E01EF}]))+))\\1)(?=[\\]\\)\\,\\:\\;\\}\\p{space}]|$)","dgvy",{"hiddenCaptures":[1]})},{captures:{"0":{patterns:[{match:/=(?=\n?$)/dgvy,name:"keyword.operator.assignment.swift"},{match:/([\-\%\*\+\/]|<<|>>|[\&\^\|]|&&|\|\|)=(?=\n?$)/dgvy,name:"keyword.operator.assignment.compound.swift"},{match:/([\-\*\+\/])(?=\n?$)/dgvy,name:"keyword.operator.arithmetic.swift"},{match:/&([\-\*\+])(?=\n?$)/dgvy,name:"keyword.operator.arithmetic.overflow.swift"},{match:/%(?=\n?$)/dgvy,name:"keyword.operator.arithmetic.remainder.swift"},{match:/(==|!=|[\<\>]|>=|<=|~=)(?=\n?$)/dgvy,name:"keyword.operator.comparison.swift"},{match:/\?\?(?=\n?$)/dgvy,name:"keyword.operator.coalescing.swift"},{match:/(&&|\|\|)(?=\n?$)/dgvy,name:"keyword.operator.logical.swift"},{match:/([\&\^\|]|<<|>>)(?=\n?$)/dgvy,name:"keyword.operator.bitwise.swift"},{match:/([\!\=]==)(?=\n?$)/dgvy,name:"keyword.operator.bitwise.swift"},{match:/\?(?=\n?$)/dgvy,name:"keyword.operator.ternary.swift"},{match:/[^\n]+/dgv,name:"keyword.operator.custom.infix.swift"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(((?!(//|/\\*|\\*/))([\\-\\!\\%\\&\\*\\+\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-←-⏿─-❵➔-⯿⸀-、。〃〈-〰︀-️︠-︯\\u{E0100}-\\u{E01EF}]))+))\\1)","dgvy",{"hiddenCaptures":[1]})},{captures:{"0":{patterns:[{match:/[^\n]+/dgv,name:"keyword.operator.custom.prefix.dot.swift"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|[\\(\\,\\:\\;\\[\\{\\p{space}])\\.(?:(?=(((?!(//|/\\*|\\*/))([\\-\\!\\%\\&\\*\\+\\.\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-←-⏿─-❵➔-⯿⸀-、。〃〈-〰︀-️︠-︯\\u{E0100}-\\u{E01EF}]))+))\\1)(?![\\]\\)\\,\\:\\;\\}\\p{space}]|$)","dgvy",{"hiddenCaptures":[1]})},{captures:{"0":{patterns:[{match:/[^\n]+/dgv,name:"keyword.operator.custom.postfix.dot.swift"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?<!^|[\\(\\,\\:\\;\\[\\{\\p{space}])\\.(?:(?=(((?!(//|/\\*|\\*/))([\\-\\!\\%\\&\\*\\+\\.\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-←-⏿─-❵➔-⯿⸀-、。〃〈-〰︀-️︠-︯\\u{E0100}-\\u{E01EF}]))+))\\1)(?=[\\]\\)\\,\\:\\;\\}\\p{space}]|$)","dgvy",{"hiddenCaptures":[1]})},{captures:{"0":{patterns:[{match:/\.\.[\.\<](?=\n?$)/dgvy,name:"keyword.operator.range.swift"},{match:/[^\n]+/dgv,name:"keyword.operator.custom.infix.dot.swift"}]}},match:/*@__PURE__*/ new EmulatedRegExp("\\.(?:(?=(((?!(//|/\\*|\\*/))([\\-\\!\\%\\&\\*\\+\\.\\/\\<-\\?\\^\\|\\~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-←-⏿─-❵➔-⯿⸀-、。〃〈-〰︀-️︠-︯\\u{E0100}-\\u{E01EF}]))+))\\1)","dgvy",{"hiddenCaptures":[1]})}]},{match:/:/dgv,name:"keyword.operator.ternary.swift"}]},root:{patterns:[{include:"#compiler-control"},{include:"#declarations"},{include:"#expressions"}]}},scopeName:"source.swift",embeddedLangs:undefined,aliases:undefined})
|
|
4
4
|
|
|
5
5
|
export default [
|
|
6
6
|
lang
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shikijs/langs-precompiled",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.13.0",
|
|
5
5
|
"description": "TextMate grammars for Shiki in ESM",
|
|
6
6
|
"author": "Anthony Fu <anthonyfu117@hotmail.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -350,10 +350,10 @@
|
|
|
350
350
|
},
|
|
351
351
|
"dependencies": {
|
|
352
352
|
"oniguruma-to-es": "^4.3.3",
|
|
353
|
-
"@shikijs/types": "3.
|
|
353
|
+
"@shikijs/types": "3.13.0"
|
|
354
354
|
},
|
|
355
355
|
"devDependencies": {
|
|
356
|
-
"tm-grammars": "^1.24.
|
|
356
|
+
"tm-grammars": "^1.24.12"
|
|
357
357
|
},
|
|
358
358
|
"scripts": {
|
|
359
359
|
"build": "pnpm prepare"
|