6 lines
14 KiB
JavaScript
6 lines
14 KiB
JavaScript
|
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*(?:[({\\\
|
||
|
|
||
|
export default [
|
||
|
lang
|
||
|
]
|