6 lines
18 KiB
JavaScript
6 lines
18 KiB
JavaScript
const lang = Object.freeze(JSON.parse("{\"displayName\":\"Odin\",\"name\":\"odin\",\"patterns\":[{\"include\":\"#file-tags\"},{\"include\":\"#package-name-declaration\"},{\"include\":\"#import-declaration\"},{\"include\":\"#statements\"}],\"repository\":{\"assignments\":{\"patterns\":[{\"include\":\"#procedure-assignment\"},{\"include\":\"#type-assignment\"},{\"include\":\"#distinct-type-assignment\"},{\"include\":\"#constant-assignment\"},{\"include\":\"#variable-assignment\"},{\"include\":\"#type-annotation\"}]},\"attribute\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.attribute.odin\"},\"2\":{\"name\":\"entity.other.attribute-name.odin\"}},\"match\":\"(@)\\\\s*([A-Z_a-z]\\\\w*)\\\\b\",\"name\":\"meta.attribute.odin\"},{\"begin\":\"(@)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.attribute.odin\"},\"2\":{\"name\":\"meta.brace.round.odin\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.odin\"}},\"name\":\"meta.attribute.odin\",\"patterns\":[{\"match\":\"\\\\b([A-Z_a-z]\\\\w*)\\\\b\",\"name\":\"entity.other.attribute-name.odin\"},{\"match\":\",\",\"name\":\"punctuation.odin\"},{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.assignment.odin\"}},\"end\":\"(?=[),])\",\"patterns\":[{\"include\":\"#expressions\"}]}]}]},\"basic-types\":{\"patterns\":[{\"match\":\"\\\\b(i(?:8|16|32|64|128|nt))\\\\b\",\"name\":\"support.type.primitive.odin\"},{\"match\":\"\\\\b(u(?:8|16|32|64|128|int|intptr))\\\\b\",\"name\":\"support.type.primitive.odin\"},{\"match\":\"\\\\b((?:u16|u32|u64|u128|i16|i32|i64|i128)le)\\\\b\",\"name\":\"support.type.primitive.odin\"},{\"match\":\"\\\\b((?:i16|i32|i64|i128|u16|u32|u64|u128)be)\\\\b\",\"name\":\"support.type.primitive.odin\"},{\"match\":\"\\\\b(f(?:16|32|64))\\\\b\",\"name\":\"support.type.primitive.odin\"},{\"match\":\"\\\\b(f(?:16|32|64)le)\\\\b\",\"name\":\"support.type.primitive.odin\"},{\"match\":\"\\\\b(f(?:16|32|64)be)\\\\b\",\"name\":\"support.type.primitive.odin\"},{\"match\":\"\\\\b(complex(?:32|64|128))\\\\b\",\"name\":\"support.type.primitive.odin\"},{\"match\":\"\\\\b(quaternion(?:64|128|256))\\\\b\",\"name\":\"support.type.primitive.odin\"},{\"match\":\"\\\\b(b(?:ool|8|16|32|64))\\\\b\",\"name\":\"support.type.primitive.odin\"},{\"match\":\"\\\\b(string|cstring|rune)\\\\b\",\"name\":\"support.type.primitive.odin\"},{\"match\":\"\\\\b(rawptr)\\\\b\",\"name\":\"support.type.primitive.odin\"},{\"match\":\"\\\\b(any|typeid)\\\\b\",\"name\":\"support.type.primitive.odin\"},{\"match\":\"\\\\b(byte)\\\\b\",\"name\":\"support.type.primitive.odin\"}]},\"block-comment\":{\"begin\":\"/\\\\*\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.odin\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.odin\"}},\"name\":\"comment.block.odin\",\"patterns\":[{\"include\":\"#block-comment\"}]},\"block-definition\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.odin\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.odin\"}},\"name\":\"meta.block.odin\",\"patterns\":[{\"include\":\"#statements\"}]},\"block-label\":{\"captures\":{\"1\":{\"name\":\"entity.name.label.odin\"},\"2\":{\"name\":\"punctuation.definition.label.odin\"}},\"match\":\"(\\\\w+)(:)\\\\s*(?=for|switch|if|\\\\{)\",\"name\":\"meta.block.label.odin\"},\"case-clause\":{\"begin\":\"\\\\b(case)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.case.odin\"}},\"end\":\":\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.section.case-statement.odin\"}},\"name\":\"meta.case-clause.expr.odin\",\"patterns\":[{\"include\":\"#expressions\"}]},\"comments\":{\"patterns\":[{\"include\":\"#block-comment\"},{\"begin\":\"//\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.odin\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.double-slash.odin\"},{\"begin\":\"#!\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.odin\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.shebang.odin\"}]},\"constant-assignment\":{\"captures\":{\"1\":{\"name\":\"variable.other.constant.odin\"},\"2\":{\"name\":\"keyword.operator.assignment.odin\"}},\"match\":\"([A-Z_a-z]\\\\w*)\\\\s*(:\\\\s*:)\",\"name\":\"meta.definition.variable.odin\"},\"distinct-type-assignment\":{\"begin\":\"\\\\b([A-Z_a-z]\\\\w*)\\\\s*(:\\\\s*:)\\\\s*(?=(distinct)\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.type.odin\"},\"2\":{\"name\":\"keyword.operator.assignment.odin\"},\"3\":{\"name\":\"storage.type.odin\"}},\"end\":\"(?=^)|(?<=})\",\"name\":\"meta.definition.variable.odin\",\"patterns\":[{\"include\":\"#type-declaration\"}]},\"expressions\":{\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#ternary\"},{\"include\":\"#map-bitset\"},{\"include\":\"#slice\"},{\"include\":\"#keywords\"},{\"include\":\"#type-parameter\"},{\"include\":\"#basic-types\"},{\"include\":\"#procedure-calls\"},{\"include\":\"#property-access\"},{\"include\":\"#union-member-access\"},{\"include\":\"#union-non-nil-access\"},{\"include\":\"#strings\"},{\"include\":\"#punctuation\"},{\"include\":\"#variable-name\"}]},\"file-tags\":{\"begin\":\"#\\\\+[A-Z_a-z][-0-9A-Z_a-z]*\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.tag.odin\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.double-slash.odin\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.odin\"},{\"match\":\"!\",\"name\":\"keyword.operator.logical.odin\"},{\"match\":\"[A-Z_a-z][-0-9A-Z_a-z]*\",\"name\":\"entity.other.attribute-name.odin\"}]},\"import-declaration\":{\"begin\":\"\\\\b((?:|foreign\\\\s+)import)\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.import.odin\"}},\"end\":\"(?=^|;)\",\"name\":\"meta.import.odin\",\"patterns\":[{\"begin\":\"\\\\b[A-Z_a-z]\\\\w*\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.namespace.odin\"}},\"end\":\"(?=^|;)\",\"name\":\"entity.name.alias.odin\",\"patterns\":[{\"include\":\"#strings\"},{\"include\":\"#comments\"}]},{\"include\":\"#strings\"},{\"include\":\"#comments\"}]},\"keywords\":{\"patterns\":[{\"match\":\"\\\\b(import|foreign|package)\\\\b\",\"name\":\"keyword.control.odin\"},{\"match\":\"\\\\b(if|else|or_else|when|where|for|in|not_in|defer|switch|return|or_return)\\\\b\",\"name\":\"keyword.control.odin\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.odin\"},\"2\":{\"name\":\"entity.name.label.odin\"}},\"match\":\"\\\\b((?:|or_)(?:break|continue))\\\\b\\\\s*(\\\\w+)?\"},{\"match\":\"\\\\b(fallthrough|case|dynamic)\\\\b\",\"name\":\"keyword.control.odin\"},{\"match\":\"\\\\b(do|force_inline|no_inline)\\\\b\",\"name\":\"keyword.control.odin\"},{\"match\":\"\\\\b(asm)\\\\b\",\"name\":\"keyword.control.odin\"},{\"match\":\"\\\\b(auto_cast|distinct|using)\\\\b\",\"name\":\"storage.modifier.odin\"},{\"match\":\"\\\\b(context)\\\\b\",\"name\":\"keyword.context.odin\"},{\"match\":\"\\\\b(ODIN_(?:ARCH|OS))\\\\b\",\"name\":\"variable.other.constant.odin\"},{\"match\":\"\\\\b(nil|true|false)\\\\b\",\"name\":\"constant.language.odin\"},{\"match\":\"---\",\"name\":\"constant.language.odin\"},{\"match\":\"\\\\b(\\\\d([_\\\\d])*(\\\\.\\\\d([_\\\\d])*)?)(([Ee])([-+])?\\\\d+)?[ijk]?\\\\b\",\"name\":\"constant.numeric.odin\"},{\"match\":\"\\\\b((0b([01_])+)|(0o([_\\\\d])+)|(0d([_\\\\d])+)|(0[Xhx]([_\\\\h])+))i?\\\\b\",\"name\":\"constant.numeric.odin\"},{\"match\":\"\\\\b(struct|enum|union|map|bit_set|bit_field|matrix)\\\\b\",\"name\":\"storage.type.odin\"},{\"match\":\"[-%*+/]=|%%=\",\"name\":\"keyword.operator.assignment.compound.odin\"},{\"match\":\"(?:[|~]|&~?|<<|>>)=\",\"name\":\"keyword.operator.assignment.compound.bitwise.odin\"},{\"match\":\"[!=]=\",\"name\":\"keyword.operator.comparison.odin\"},{\"match\":\"[<>]=?\",\"name\":\"keyword.operator.relational.odin\"},{\"match\":\"\\\\.\\\\.[<=]\",\"name\":\"keyword.operator.range.odin\"},{\"match\":\"\\\\.\\\\.\",\"name\":\"keyword.operator.spread.odin\"},{\"match\":\":[:=]|=\",\"name\":\"keyword.operator.assignment.odin\"},{\"match\":\"&\",\"name\":\"keyword.operator.address.odin\"},{\"match\":\"\\\\^\",\"name\":\"keyword.operator.address.odin\"},{\"match\":\"->\",\"name\":\"storage.type.function.arrow.odin\"},{\"match\":\"@|([-!%*+/:|]|<<?|>>?|~)=?|=|: : ?|\\\\$\",\"name\":\"keyword.operator.odin\"},{\"match\":\"#[A-Z_a-z]\\\\w*\",\"name\":\"entity.name.tag.odin\"}]},\"map-bitset\":{\"begin\":\"\\\\b(bit_set|map)\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.odin\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.bracket.square.odin\"}},\"patterns\":[{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.bracket.square.odin\"},{\"include\":\"#type-declaration\"}]},\"object-definition\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.odin\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.odin\"}},\"name\":\"meta.object.type.odin\",\"patterns\":[{\"include\":\"#statements\"}]},\"package-name-declaration\":{\"captures\":{\"1\":{\"name\":\"keyword.control.odin\"},\"2\":{\"name\":\"entity.name.type.module.odin\"}},\"match\":\"^\\\\s*(package)\\\\s+([A-Z_a-z]\\\\w*)\"},\"parameters\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.begin.odin\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.odin\"}},\"name\":\"meta.parameters.odin\",\"patterns\":[{\"include\":\"#assignments\"},{\"include\":\"#expressions\"}]},\"procedure-assignment\":{\"begin\":\"\\\\b([A-Z_a-z]\\\\w*)\\\\s*(:\\\\s*:|=)\\\\s*(#\\\\w+)?\\\\s*(?=proc\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.function.odin entity.name.function.odin\"},\"2\":{\"name\":\"keyword.operator.assignment.odin\"},\"3\":{\"name\":\"keyword.other.odin\"}},\"end\":\"(?=^)|(?<=})\",\"name\":\"meta.definition.variable.odin\",\"patterns\":[{\"include\":\"#type-declaration\"}]},\"procedure-calls\":{\"patterns\":[{\"begin\":\"\\\\b(cast|transmute)\\\\b\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.function.odin\"},\"2\":{\"name\":\"meta.brace.round.odin\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.odin\"}},\"name\":\"meta.function-call.odin\",\"patterns\":[{\"include\":\"#type-declaration\"}]},{\"begin\":\"\\\\b((?:size|align)_of)\\\\b\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.builtin.odin\"},\"2\":{\"name\":\"meta.brace.round.odin\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.odin\"}},\"name\":\"meta.function-call.odin\",\"patterns\":[{\"include\":\"#type-declaration\"}]},{\"begin\":\"\\\\b(len|cap|offset_of_selector|offset_of_member|offset_of|offset_of_by_string|type_of|type_info_of|typeid_of|swizzle|complex|quaternion|real|imag|jmag|kmag|conj|expand_values|min|max|abs|clamp|soa_zip|soa_unzip|make|new|new_clone|resize|reserve|append|delete|free|free_all|assert|panic)\\\\b\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.builtin.odin\"},\"2\":{\"name\":\"meta.brace.round.odin\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.odin\"}},\"name\":\"meta.function-call.odin\",\"patterns\":[{\"include\":\"#expressions\"}]},{\"begin\":\"([A-Z_a-z]\\\\w*)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.odin\"},\"2\":{\"name\":\"meta.brace.round.odin\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.odin\"}},\"name\":\"meta.function-call.odin\",\"patterns\":[{\"include\":\"#expressions\"}]}]},\"property-access\":{\"captures\":{\"1\":{\"name\":\"variable.other.object.odin\"},\"2\":{\"name\":\"punctuation.accessor.odin\"}},\"match\":\"([A-Z_a-z]\\\\w*)\\\\s*(\\\\.)\\\\s*(?=[A-Z_a-z]\\\\w*)\"},\"punctuation\":{\"match\":\"[](),.;\\\\[\\\\\\\\{}]\",\"name\":\"punctuation.odin\"},\"return-type-declaration\":{\"begin\":\"->\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.function.arrow.odin\"}},\"end\":\"(?=^|[),;{]|where)\",\"name\":\"meta.return.type.odin\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#keywords\"},{\"include\":\"#basic-types\"},{\"include\":\"#property-access\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.begin.odin\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.odin\"}},\"name\":\"meta.parameters.odin\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#assignments\"},{\"include\":\"#keywords\"},{\"include\":\"#basic-types\"},{\"include\":\"#property-access\"},{\"include\":\"#type-name\"},{\"include\":\"#punctuation\"}]},{\"include\":\"#type-name\"}]},\"slice\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.square.odin\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.odin\"}},\"name\":\"meta.slice.odin\",\"patterns\":[{\"match\":\"\\\\?\",\"name\":\"keyword.operator.array.odin\"},{\"match\":\":\",\"name\":\"keyword.operator.slice.odin\"},{\"include\":\"#expressions\"}]},\"statements\":{\"patterns\":[{\"include\":\"#attribute\"},{\"include\":\"#procedure-assignment\"},{\"include\":\"#type-assignment\"},{\"include\":\"#distinct-type-assignment\"},{\"include\":\"#constant-assignment\"},{\"include\":\"#variable-assignment\"},{\"include\":\"#case-clause\"},{\"include\":\"#block-label\"},{\"include\":\"#type-annotation\"},{\"include\":\"#block-definition\"},{\"include\":\"#expressions\"}]},\"string-escaped-char\":{\"patterns\":[{\"match\":\"\\\\\\\\(x1b|e|033)\\\\[[0-9;]*m\",\"name\":\"constant.character.escape.ansi-color-sequence.odin\"},{\"match\":\"\\\\\\\\([\\\"'\\\\\\\\abefnrtuv]|x\\\\h{2}|u\\\\h{4}|U\\\\h{8}|[0-7]{3})\",\"name\":\"constant.character.escape.odin\"},{\"match\":\"%([%E-HMTUXb-imo-tvwxz])\",\"name\":\"constant.character.escape.placeholders.odin\"},{\"match\":\"%(\\\\d*\\\\.?\\\\d*f)\",\"name\":\"constant.character.escape.placeholders-floats.odin\"},{\"match\":\"\\\\\\\\.\",\"name\":\"invalid.illegal.unknown-escape.odin\"}]},\"strings\":{\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.odin\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.odin\"}},\"name\":\"string.quoted.double.odin\",\"patterns\":[{\"include\":\"#string-escaped-char\"}]},{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.odin\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.odin\"}},\"name\":\"string.quoted.single.odin\",\"patterns\":[{\"include\":\"#string-escaped-char\"}]},{\"begin\":\"`\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.odin\"}},\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.odin\"}},\"name\":\"string.quoted.raw.odin\"}]},\"ternary\":{\"begin\":\"\\\\?\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.ternary.odin\"}},\"end\":\":\",\"endCaptures\":{\"0\":{\"name\":\"keyword.operator.ternary.odin\"}},\"name\":\"meta.ternary.odin\",\"patterns\":[{\"include\":\"#expressions\"}]},\"type-annotation\":{\"begin\":\"(?:([A-Z_a-z]\\\\w*)\\\\s*(,)\\\\s*)?(?:([A-Z_a-z]\\\\w*)\\\\s*(,)\\\\s*)?([A-Z_a-z]\\\\w*)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"variable.name.odin\"},\"2\":{\"name\":\"punctuation.odin\"},\"3\":{\"name\":\"variable.name.odin\"},\"4\":{\"name\":\"punctuation.odin\"},\"5\":{\"name\":\"variable.name.odin\"},\"6\":{\"name\":\"keyword.operator.type.annotation.odin\"}},\"end\":\"(?=^|[),:;=]|for|switch|if|\\\\{)\",\"name\":\"meta.type.annotation.odin\",\"patterns\":[{\"include\":\"#type-declaration\"}]},\"type-assignment\":{\"begin\":\"\\\\b([A-Z_a-z]\\\\w*)\\\\s*(:\\\\s*:)\\\\s*(?=(struct|union|enum|bit_set|bit_field)\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.type.odin\"},\"2\":{\"name\":\"keyword.operator.assignment.odin\"},\"3\":{\"name\":\"storage.type.odin\"}},\"end\":\"(?=^)|(?<=})\",\"name\":\"meta.definition.variable.odin\",\"patterns\":[{\"include\":\"#type-declaration\"}]},\"type-declaration\":{\"name\":\"meta.type.declaration.odin\",\"patterns\":[{\"include\":\"#map-bitset\"},{\"begin\":\"\\\\b(proc|struct|union|enum|bit_field)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.odin\"}},\"end\":\"(?=^|[),;])|(?<=})\",\"patterns\":[{\"include\":\"#parameters\"},{\"include\":\"#return-type-declaration\"},{\"include\":\"#object-definition\"},{\"include\":\"#expressions\"}]},{\"include\":\"#comments\"},{\"include\":\"#strings\"},{\"include\":\"#block-definition\"},{\"include\":\"#keywords\"},{\"include\":\"#basic-types\"},{\"include\":\"#slice\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.odin\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.odin\"}},\"patterns\":[{\"include\":\"#type-declaration\"}]},{\"include\":\"#property-access\"},{\"include\":\"#punctuation\"},{\"include\":\"#type-name\"}]},\"type-name\":{\"match\":\"\\\\b[A-Z_a-z]\\\\w*\\\\b\",\"name\":\"entity.name.type.odin\"},\"type-parameter\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.odin\"},\"2\":{\"name\":\"entity.name.type.parameter.odin\"}},\"match\":\"(\\\\$)\\\\s*\\\\b([A-Z_a-z]\\\\w*)\\\\b\"},\"union-member-access\":{\"begin\":\"([A-Z_a-z]\\\\w*)\\\\s*(\\\\.)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.object.odin\"},\"2\":{\"name\":\"punctuation.accessor.odin\"},\"3\":{\"name\":\"meta.brace.round.odin\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.odin\"}},\"patterns\":[{\"include\":\"#type-declaration\"}]},\"union-non-nil-access\":{\"captures\":{\"1\":{\"name\":\"variable.other.object.odin\"},\"2\":{\"name\":\"punctuation.accessor.odin\"},\"3\":{\"name\":\"punctuation.accessor.optional.odin\"}},\"match\":\"([A-Z_a-z]\\\\w*)\\\\s*(\\\\.)\\\\s*(\\\\?)\"},\"variable-assignment\":{\"captures\":{\"1\":{\"name\":\"variable.name.odin\"},\"2\":{\"name\":\"punctuation.odin\"},\"3\":{\"name\":\"variable.name.odin\"},\"4\":{\"name\":\"punctuation.odin\"},\"5\":{\"name\":\"variable.name.odin\"},\"6\":{\"name\":\"keyword.operator.assignment.odin\"}},\"match\":\"(?:([A-Z_a-z]\\\\w*)\\\\s*(,)\\\\s*)?(?:([A-Z_a-z]\\\\w*)\\\\s*(,)\\\\s*)?([A-Z_a-z]\\\\w*)\\\\s*(:\\\\s*=)\",\"name\":\"meta.definition.variable.odin\"},\"variable-name\":{\"match\":\"\\\\b[A-Z_a-z]\\\\w*\\\\b\",\"name\":\"variable.name.odin\"}},\"scopeName\":\"source.odin\"}"))
|
|
|
|
export default [
|
|
lang
|
|
]
|