const lang = Object.freeze(JSON.parse("{\"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-zA-Z_][a-zA-Z0-9_]*)\",\"name\":\"meta.attribute.luau\"}]},\"comment\":{\"patterns\":[{\"begin\":\"--\\\\[(=*)\\\\[\",\"end\":\"\\\\]\\\\1\\\\]\",\"name\":\"comment.block.luau\",\"patterns\":[{\"begin\":\"(```luau?)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"comment.luau\"}},\"end\":\"(```)\",\"endCaptures\":{\"1\":{\"name\":\"comment.luau\"}},\"name\":\"keyword.operator.other.luau\",\"patterns\":[{\"include\":\"source.luau\"}]},{\"include\":\"#doc_comment_tags\"}]},{\"begin\":\"---\",\"end\":\"\\\\n\",\"name\":\"comment.line.double-dash.documentation.luau\",\"patterns\":[{\"include\":\"#doc_comment_tags\"}]},{\"begin\":\"--\",\"end\":\"\\\\n\",\"name\":\"comment.line.double-dash.luau\"}]},\"doc_comment_tags\":{\"patterns\":[{\"match\":\"@\\\\w+\",\"name\":\"storage.type.class.luadoc.luau\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.luadoc.luau\"},\"2\":{\"name\":\"variable.parameter.luau\"}},\"match\":\"((?<=[\\\\s*!\\\\/])[\\\\\\\\@]param)(?:\\\\s)+(\\\\b\\\\w+\\\\b)\"}]},\"for-loop\":{\"begin\":\"\\\\b(for)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.luau\"}},\"end\":\"\\\\b(in)\\\\b|(=)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.luau\"},\"2\":{\"name\":\"keyword.operator.assignment.luau\"}},\"patterns\":[{\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.luau\"}},\"end\":\"(?=\\\\s*in\\\\b|\\\\s*[=,]|\\\\s*$)\",\"patterns\":[{\"include\":\"#type_literal\"}]},{\"match\":\"\\\\b([a-zA-Z_][a-zA-Z0-9_]*)\\\\b\",\"name\":\"variable.parameter.luau\"}]},\"function-definition\":{\"begin\":\"\\\\b(?:(local)\\\\s+)?(function)\\\\b(?![,:])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.local.luau\"},\"2\":{\"name\":\"keyword.control.luau\"}},\"end\":\"(?<=[\\\\)\\\\-{}\\\\[\\\\]\\\"'])\",\"name\":\"meta.function.luau\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#generics-declaration\"},{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.luau\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.luau\"}},\"name\":\"meta.parameter.luau\",\"patterns\":[{\"include\":\"#comment\"},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"variable.parameter.function.varargs.luau\"},{\"match\":\"[a-zA-Z_][a-zA-Z0-9_]*\",\"name\":\"variable.parameter.function.luau\"},{\"match\":\",\",\"name\":\"punctuation.separator.arguments.luau\"},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.type.luau\"}},\"end\":\"(?=[\\\\),])\",\"patterns\":[{\"include\":\"#type_literal\"}]}]},{\"match\":\"\\\\b(__add|__call|__concat|__div|__eq|__index|__le|__len|__lt|__metatable|__mod|__mode|__mul|__newindex|__pow|__sub|__tostring|__unm|__iter|__idiv)\\\\b\",\"name\":\"variable.language.metamethod.luau\"},{\"match\":\"\\\\b([a-zA-Z_][a-zA-Z0-9_]*)\\\\b\",\"name\":\"entity.name.function.luau\"}]},\"generics-declaration\":{\"begin\":\"(<)\",\"end\":\"(>)\",\"patterns\":[{\"match\":\"[a-zA-Z_][a-zA-Z0-9_]*\",\"name\":\"entity.name.type.luau\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.luau\"},{\"include\":\"#type_literal\"}]},\"identifier\":{\"patterns\":[{\"match\":\"\\\\b([a-zA-Z_][a-zA-Z0-9_]*)\\\\b(?=\\\\s*(?:[({\\\"']|\\\\[\\\\[))\",\"name\":\"entity.name.function.luau\"},{\"match\":\"(?<=[^.]\\\\.|:)\\\\b([a-zA-Z_][a-zA-Z0-9_]*)\\\\b\",\"name\":\"variable.other.property.luau\"},{\"match\":\"\\\\b([A-Z_][A-Z0-9_]*)\\\\b\",\"name\":\"variable.other.constant.luau\"},{\"match\":\"\\\\b([a-zA-Z_][a-zA-Z0-9_]*)\\\\b\",\"name\":\"variable.other.readwrite.luau\"}]},\"interpolated_string_expression\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.interpolated-string-expression.begin.luau\"}},\"contentName\":\"meta.embedded.line.luau\",\"end\":\"\\\\}\",\"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\",\"name\":\"keyword.control.luau\"},{\"match\":\"\\\\b(local)\\\\b\",\"name\":\"storage.modifier.local.luau\"},{\"match\":\"\\\\b(function)\\\\b(?![,:])\",\"name\":\"keyword.control.luau\"},{\"match\":\"(?=?\",\"name\":\"keyword.operator.comparison.luau\"},{\"match\":\"\\\\+=|-=|/=|//=|\\\\*=|%=|\\\\^=|\\\\.\\\\.=|=\",\"name\":\"keyword.operator.assignment.luau\"},{\"match\":\"\\\\+|-|%|\\\\*|\\\\/\\\\/|\\\\/|\\\\^\",\"name\":\"keyword.operator.arithmetic.luau\"},{\"match\":\"#|(?)|=|;|$|(?=\\\\breturn\\\\b)|(?=\\\\bend\\\\b)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type_literal\"}]},\"type_cast\":{\"begin\":\"(::)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.typecast.luau\"}},\"end\":\"(?=^|[;),}\\\\]:?\\\\-\\\\+\\\\>](?!\\\\s*[&\\\\|])|$|\\\\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\\\\b)\",\"patterns\":[{\"include\":\"#type_literal\"}]},\"type_literal\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"match\":\"\\\\?|\\\\&|\\\\|\",\"name\":\"keyword.operator.type.luau\"},{\"match\":\"->\",\"name\":\"keyword.operator.type.function.luau\"},{\"match\":\"\\\\b(false)\\\\b\",\"name\":\"constant.language.boolean.false.luau\"},{\"match\":\"\\\\b(true)\\\\b\",\"name\":\"constant.language.boolean.true.luau\"},{\"match\":\"\\\\b(nil|string|number|boolean|thread|userdata|symbol|any)\\\\b\",\"name\":\"support.type.primitive.luau\"},{\"begin\":\"\\\\b(typeof)\\\\b(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.luau\"},\"2\":{\"name\":\"punctuation.arguments.begin.typeof.luau\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.arguments.end.typeof.luau\"}},\"patterns\":[{\"include\":\"source.luau\"}]},{\"begin\":\"(<)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.typeparameters.begin.luau\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.typeparameters.end.luau\"}},\"patterns\":[{\"match\":\"=\",\"name\":\"keyword.operator.assignment.luau\"},{\"include\":\"#type_literal\"}]},{\"match\":\"\\\\b([a-zA-Z_][a-zA-Z0-9_]*)\\\\b\",\"name\":\"entity.name.type.luau\"},{\"begin\":\"\\\\{\",\"end\":\"\\\\}\",\"patterns\":[{\"begin\":\"\\\\[\",\"end\":\"\\\\]\",\"patterns\":[{\"include\":\"#type_literal\"}]},{\"captures\":{\"1\":{\"name\":\"variable.property.luau\"},\"2\":{\"name\":\"keyword.operator.type.luau\"}},\"match\":\"\\\\b([a-zA-Z_][a-zA-Z0-9_]*)\\\\b(:)\"},{\"include\":\"#type_literal\"},{\"match\":\"[,;]\",\"name\":\"punctuation.separator.fields.type.luau\"}]},{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.parameter.luau\"},\"2\":{\"name\":\"keyword.operator.type.luau\"}},\"match\":\"\\\\b([a-zA-Z_][a-zA-Z0-9_]*)\\\\b(:)\",\"name\":\"variable.parameter.luau\"},{\"include\":\"#type_literal\"}]}]}},\"scopeName\":\"source.luau\"}")) export default [ lang ]