6 lines
26 KiB
JavaScript
6 lines
26 KiB
JavaScript
const lang = Object.freeze(JSON.parse("{\"displayName\":\"Cadence\",\"name\":\"cadence\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations\"},{\"include\":\"#keywords\"},{\"include\":\"#code-block\"},{\"include\":\"#expressions\"},{\"include\":\"#composite\"},{\"include\":\"#event\"}],\"repository\":{\"code-block\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.begin.cadence\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.end.cadence\"}},\"patterns\":[{\"include\":\"$self\"}]},\"comments\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.cadence\"}},\"match\":\"\\\\A^(#!).*$\\\\n?\",\"name\":\"comment.line.number-sign.cadence\"},{\"begin\":\"/\\\\*\\\\*(?!/)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.cadence\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.cadence\"}},\"name\":\"comment.block.documentation.cadence\",\"patterns\":[{\"include\":\"#nested\"}]},{\"begin\":\"/\\\\*:\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.cadence\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.cadence\"}},\"name\":\"comment.block.documentation.playground.cadence\",\"patterns\":[{\"include\":\"#nested\"}]},{\"begin\":\"/\\\\*\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.cadence\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.cadence\"}},\"name\":\"comment.block.cadence\",\"patterns\":[{\"include\":\"#nested\"}]},{\"match\":\"\\\\*/\",\"name\":\"invalid.illegal.unexpected-end-of-block-comment.cadence\"},{\"begin\":\"(^[\\\\t ]+)?(?=//)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.cadence\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"///\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.cadence\"}},\"end\":\"$\",\"name\":\"comment.line.triple-slash.documentation.cadence\"},{\"begin\":\"//:\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.cadence\"}},\"end\":\"$\",\"name\":\"comment.line.double-slash.documentation.cadence\"},{\"begin\":\"//\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.cadence\"}},\"end\":\"$\",\"name\":\"comment.line.double-slash.cadence\"}]}],\"repository\":{\"nested\":{\"begin\":\"/\\\\*\",\"end\":\"\\\\*/\",\"patterns\":[{\"include\":\"#nested\"}]}}},\"composite\":{\"begin\":\"\\\\b((?:struct|resource|contract|attachment)(?:\\\\s+interface)?|enum)\\\\s+([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.$1.cadence\"},\"2\":{\"name\":\"entity.name.type.$1.cadence\"}},\"end\":\"(?<=})|(?=\\\\s*\\\\Z)\",\"name\":\"meta.definition.type.composite.cadence\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#conformance-clause\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.type.begin.cadence\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.type.end.cadence\"}},\"name\":\"meta.definition.type.body.cadence\",\"patterns\":[{\"include\":\"$self\"}]}]},\"conformance-clause\":{\"begin\":\"(:)(?=\\\\s*\\\\{)|(:)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"invalid.illegal.empty-conformance-clause.cadence\"},\"2\":{\"name\":\"punctuation.separator.conformance-clause.cadence\"}},\"end\":\"(?!\\\\G)$|(?=[={}])\",\"name\":\"meta.conformance-clause.cadence\",\"patterns\":[{\"begin\":\"\\\\G\",\"end\":\"(?!\\\\G)$|(?=[={}])\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#type\"}]}]},\"declarations\":{\"patterns\":[{\"include\":\"#var-let-declaration\"},{\"include\":\"#function\"},{\"include\":\"#initializer\"},{\"include\":\"#prepare-execute\"},{\"include\":\"#execute-phase\"},{\"include\":\"#pre-post\"},{\"include\":\"#transaction\"}]},\"event\":{\"begin\":\"\\\\b(event)\\\\b\\\\s+([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.event.cadence\"},\"2\":{\"name\":\"entity.name.type.event.cadence\"}},\"end\":\"(?<=\\\\))\",\"name\":\"meta.definition.type.event.cadence\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#parameter-clause\"}]},\"execute-phase\":{\"begin\":\"(?<!\\\\.)\\\\b(execute)\\\\b\\\\s*(?=\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.phase.cadence\"}},\"end\":\"(?<=})\",\"name\":\"meta.definition.transaction.phase.cadence\",\"patterns\":[{\"include\":\"#comments\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.phase.begin.cadence\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.phase.end.cadence\"}},\"patterns\":[{\"include\":\"$self\"}]}]},\"expression-element-list\":{\"patterns\":[{\"include\":\"#comments\"},{\"begin\":\"([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"variable.parameter.function-call.cadence\"},\"2\":{\"name\":\"punctuation.separator.argument-label.cadence\"}},\"end\":\"(?=[]),])\",\"patterns\":[{\"include\":\"#expressions\"}]},{\"begin\":\"(?![]),])(?=\\\\S)\",\"end\":\"(?=[]),])\",\"patterns\":[{\"include\":\"#expressions\"}]}]},\"expressions\":{\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#keywords\"},{\"include\":\"#language-variables\"},{\"include\":\"#function-expression\"},{\"include\":\"#path-literals\"},{\"begin\":\"(?!\\\\b(?:if|while|for|return|create|destroy|emit|as)\\\\b)([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)\\\\s*(<)(?=[\\\\&(@\\\\[_{\\\\p{Lu}]|auth\\\\b|\\\\s*$)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.cadence\"},\"2\":{\"name\":\"punctuation.definition.type-arguments.begin.cadence\"}},\"end\":\"(>)(?!\\\\s*[<=>])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.type-arguments.end.cadence\"}},\"name\":\"meta.type.arguments.cadence\",\"patterns\":[{\"include\":\"#type\"},{\"match\":\",\",\"name\":\"punctuation.separator.type-argument.cadence\"}]},{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.begin.cadence\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.end.cadence\"}},\"name\":\"meta.group.cadence\",\"patterns\":[{\"include\":\"#expression-element-list\"}]},{\"begin\":\"(?<=\\\\.)([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.cadence\"},\"2\":{\"name\":\"punctuation.definition.arguments.begin.cadence\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.end.cadence\"}},\"name\":\"meta.function-call.method.cadence\",\"patterns\":[{\"include\":\"#expression-element-list\"}]},{\"match\":\"(?<=\\\\.)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\",\"name\":\"variable.other.member.cadence\"},{\"include\":\"#function-call-expression\"},{\"match\":\"(?<!\\\\.)\\\\b(?!(?:contract|struct|resource|event|enum|attachment|entitlement|import|fun|let|var|if|else|switch|case|default|while|for|in|break|continue|return|emit|as|create|destroy|attach|to|remove|from|pub|priv|access|all|self|view|auth|transaction|prepare|execute|pre|post|init|true|false|nil|Type|Int|UInt|Int8|Int16|Int32|Int64|Int128|Int256|UInt8|UInt16|UInt32|UInt64|UInt128|UInt256|Word8|Word16|Word32|Word64|Fix64|Fix128|UFix64|UFix128|String|Character|Bool|Address|Void|AnyStruct|AnyResource|Any|Never|mapping|include)\\\\b)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\b\",\"name\":\"variable.other.readwrite.cadence\"},{\"include\":\"#literals\"},{\"include\":\"#operators\"}]},\"function\":{\"begin\":\"\\\\b(fun)\\\\b\\\\s+([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.cadence\"},\"2\":{\"name\":\"entity.name.function.cadence\"}},\"end\":\"(?<=})|;|(?=}\\\\s*$)|$\",\"name\":\"meta.definition.function.cadence\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#parameter-clause\"},{\"include\":\"#function-result\"},{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.function.begin.cadence\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.end.cadence\"}},\"name\":\"meta.definition.function.body.cadence\",\"patterns\":[{\"include\":\"$self\"}]}]},\"function-call-expression\":{\"patterns\":[{\"begin\":\"(?<!\\\\.)\\\\b(?!set|init|transaction|prepare|execute|access|auth)([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.cadence\"},\"2\":{\"name\":\"punctuation.definition.arguments.begin.cadence\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.end.cadence\"}},\"name\":\"meta.function-call.cadence\",\"patterns\":[{\"include\":\"#expression-element-list\"}]}]},\"function-expression\":{\"begin\":\"(?<!\\\\.)\\\\b(?:(view)\\\\s+)?(fun)\\\\b(?=\\\\s*\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.view.cadence\"},\"2\":{\"name\":\"storage.type.function.cadence\"}},\"end\":\"(?<=})|$\",\"name\":\"meta.function.expression.cadence\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#parameter-clause\"},{\"include\":\"#function-result\"},{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.function.begin.cadence\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.end.cadence\"}},\"name\":\"meta.definition.function.body.cadence\",\"patterns\":[{\"include\":\"$self\"}]}]},\"function-result\":{\"begin\":\"(?<![-!%\\\\&*+./<=>^|~])(:)(?![-!%\\\\&*+./<=>^|~])\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.function-result.cadence\"}},\"end\":\"(?<![\\\\&<@\\\\[])(?!\\\\G)(?=\\\\s*\\\\{)|(?=;|(?<!\\\\{)})|$\",\"name\":\"meta.function-result.cadence\",\"patterns\":[{\"include\":\"#type\"}]},\"initializer\":{\"begin\":\"(?<!\\\\.)\\\\b(init)\\\\s*(?=[(<])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.cadence\"}},\"end\":\"(?<=})|$\",\"name\":\"meta.definition.function.initializer.cadence\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#parameter-clause\"},{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.function.begin.cadence\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.end.cadence\"}},\"name\":\"meta.definition.function.body.cadence\",\"patterns\":[{\"include\":\"$self\"}]}]},\"keywords\":{\"patterns\":[{\"match\":\"(?<!\\\\.)\\\\bvar\\\\b\",\"name\":\"storage.type.var.cadence\"},{\"match\":\"(?<!\\\\.)\\\\blet\\\\b\",\"name\":\"storage.type.let.cadence\"},{\"begin\":\"(?<!\\\\.)\\\\b(entitlement)\\\\s+(mapping)\\\\s+([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.declaration.entitlement.cadence\"},\"2\":{\"name\":\"keyword.other.mapping.cadence\"},\"3\":{\"name\":\"entity.name.type.entitlement-mapping.cadence\"},\"4\":{\"name\":\"punctuation.definition.type.begin.cadence\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.type.end.cadence\"}},\"name\":\"meta.definition.entitlement-mapping.cadence\",\"patterns\":[{\"include\":\"#comments\"},{\"match\":\"\\\\binclude\\\\b\",\"name\":\"keyword.other.mapping.include.cadence\"},{\"captures\":{\"1\":{\"name\":\"entity.name.type.entitlement-mapping.cadence\"}},\"match\":\"(?<=\\\\binclude)\\\\s+([_\\\\p{L}][._\\\\p{L}\\\\p{N}\\\\p{M}]*)\"},{\"match\":\"[_\\\\p{L}][._\\\\p{L}\\\\p{N}\\\\p{M}]*\",\"name\":\"entity.name.type.entitlement.cadence\"},{\"match\":\"->\",\"name\":\"punctuation.separator.mapping.cadence\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.declaration.entitlement.cadence\"},\"2\":{\"name\":\"entity.name.type.entitlement.cadence\"}},\"match\":\"(?<!\\\\.)\\\\b(entitlement)\\\\b\\\\s+([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)\"},{\"begin\":\"(?<!\\\\.)\\\\b(access)\\\\b\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.access.cadence\"},\"2\":{\"name\":\"punctuation.section.group.begin.cadence\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.group.end.cadence\"}},\"name\":\"meta.access.modifier.cadence\",\"patterns\":[{\"include\":\"#comments\"},{\"match\":\"\\\\bmapping\\\\b\",\"name\":\"keyword.other.mapping.cadence\"},{\"captures\":{\"1\":{\"name\":\"entity.name.type.entitlement-mapping.cadence\"}},\"match\":\"(?<=\\\\bmapping)\\\\s+([_\\\\p{L}][._\\\\p{L}\\\\p{N}\\\\p{M}]*)\"},{\"match\":\"\\\\b(?:all|self|contract|account)\\\\b\",\"name\":\"constant.language.access.audience.cadence\"},{\"match\":\",\",\"name\":\"punctuation.separator.entitlement.cadence\"},{\"match\":\"\\\\|\",\"name\":\"punctuation.separator.entitlement.cadence\"},{\"match\":\"[_\\\\p{L}][._\\\\p{L}\\\\p{N}\\\\p{M}]*\",\"name\":\"entity.name.type.entitlement.cadence\"}]},{\"match\":\"(?<!\\\\.)\\\\b(?:if|else|switch|case|default)\\\\b\",\"name\":\"keyword.control.branch.cadence\"},{\"match\":\"(?<!\\\\.)\\\\b(?:return|continue|break)\\\\b\",\"name\":\"keyword.control.transfer.cadence\"},{\"match\":\"(?<!\\\\.)\\\\b(?:while|for|in)\\\\b\",\"name\":\"keyword.control.loop.cadence\"},{\"match\":\"(?<!\\\\.)\\\\b(?:create|destroy|emit|attach|to|remove|from)\\\\b\",\"name\":\"keyword.other.cadence\"},{\"match\":\"(?<!\\\\.)\\\\b(p(?:ub|riv))\\\\b\",\"name\":\"invalid.deprecated.keyword.cadence\"},{\"match\":\"(?<!\\\\.)\\\\bview\\\\b\",\"name\":\"storage.modifier.view.cadence\"},{\"match\":\"(?<!\\\\.)\\\\b(auth)\\\\b\",\"name\":\"keyword.other.auth.cadence\"},{\"begin\":\"(?<!\\\\.)\\\\b(import)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import.cadence\"}},\"end\":\"(?=$|//|/\\\\*|;)\",\"name\":\"meta.import.cadence\",\"patterns\":[{\"match\":\"\\\\bfrom\\\\b\",\"name\":\"keyword.control.import.cadence\"},{\"include\":\"#literals\"},{\"match\":\"\\\\b[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\b\",\"name\":\"variable.other.readwrite.cadence\"}]}]},\"language-variables\":{\"patterns\":[{\"match\":\"\\\\b(self)\\\\b\",\"name\":\"variable.language.cadence\"}]},\"literals\":{\"patterns\":[{\"include\":\"#boolean\"},{\"include\":\"#numeric\"},{\"include\":\"#string\"},{\"match\":\"\\\\bnil\\\\b\",\"name\":\"constant.language.nil.cadence\"}],\"repository\":{\"boolean\":{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.boolean.cadence\"},\"numeric\":{\"patterns\":[{\"include\":\"#binary\"},{\"include\":\"#octal\"},{\"include\":\"#hexadecimal\"},{\"include\":\"#fixed-point\"},{\"include\":\"#decimal\"}],\"repository\":{\"binary\":{\"match\":\"(\\\\B-|\\\\b)0b[01]([01_]*[01])?\\\\b\",\"name\":\"constant.numeric.integer.binary.cadence\"},\"decimal\":{\"match\":\"(\\\\B-|\\\\b)[0-9]([0-9_]*[0-9])?\\\\b\",\"name\":\"constant.numeric.integer.decimal.cadence\"},\"fixed-point\":{\"match\":\"(\\\\B-|\\\\b)[0-9]([0-9_]*[0-9])?\\\\.[0-9]([0-9_]*[0-9])?\\\\b\",\"name\":\"constant.numeric.float.cadence\"},\"hexadecimal\":{\"match\":\"(\\\\B-|\\\\b)0x\\\\h([_\\\\h]*\\\\h)?\\\\b\",\"name\":\"constant.numeric.integer.hexadecimal.cadence\"},\"octal\":{\"match\":\"(\\\\B-|\\\\b)0o[0-7]([0-7_]*[0-7])?\\\\b\",\"name\":\"constant.numeric.integer.octal.cadence\"}}},\"string\":{\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cadence\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cadence\"}},\"name\":\"string.quoted.double.single-line.cadence\",\"patterns\":[{\"match\":\"[\\\\n\\\\r]\",\"name\":\"invalid.illegal.returns-not-allowed.cadence\"},{\"begin\":\"\\\\\\\\\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.cadence meta.embedded.cadence\"}},\"contentName\":\"meta.embedded.line.cadence\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.cadence meta.embedded.cadence\"}},\"name\":\"meta.interpolation.cadence\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.group.begin.cadence\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.group.end.cadence\"}},\"patterns\":[{\"include\":\"#expressions\"}]},{\"include\":\"#expressions\"}]},{\"include\":\"#string-guts\"}]}],\"repository\":{\"string-guts\":{\"patterns\":[{\"match\":\"\\\\\\\\[\\\"'0\\\\\\\\nrt]\",\"name\":\"constant.character.escape.cadence\"},{\"match\":\"\\\\\\\\u\\\\{\\\\h{1,8}}\",\"name\":\"constant.character.escape.unicode.cadence\"}]}}}}},\"operators\":{\"patterns\":[{\"match\":\"<->\",\"name\":\"keyword.operator.swap.cadence\"},{\"match\":\"\\\\?\\\\.\",\"name\":\"keyword.operator.optional.chain.cadence\"},{\"begin\":\"\\\\b(as(?:\\\\?|!?))\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.type.cast.cadence\"}},\"end\":\"(?=$|;|//|/\\\\\\\\*|\\\")|(?=[),}])|(?<=>)(?=\\\\s*\\\\{(?!\\\\s*[_\\\\p{L}][._\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\s*:))|(?<=[])>?}\\\\p{L}\\\\p{N}])(?=\\\\s*\\\\{(?!\\\\s*[_\\\\p{L}][._\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\s*:))|(?=\\\\?\\\\?)\",\"name\":\"meta.type.cast-target.cadence\",\"patterns\":[{\"begin\":\"\\\\{(?=\\\\s*[_\\\\p{L}][._\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\s*:)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.type.dictionary.begin.cadence\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.type.dictionary.end.cadence\"}},\"name\":\"meta.type.dictionary.cadence\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#type\"},{\"match\":\":\",\"name\":\"punctuation.separator.type.dictionary.cadence\"},{\"match\":\",\",\"name\":\"punctuation.separator.type.dictionary.cadence\"}]},{\"include\":\"#type\"}]},{\"match\":\"-\",\"name\":\"keyword.operator.arithmetic.unary.cadence\"},{\"match\":\"(?<=\\\\))!\",\"name\":\"keyword.operator.force-unwrap.cadence\"},{\"match\":\"!\",\"name\":\"keyword.operator.logical.not.cadence\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.cadence\"},{\"match\":\"<-\",\"name\":\"keyword.operator.move.cadence\"},{\"match\":\"<-!\",\"name\":\"keyword.operator.force-move.cadence\"},{\"match\":\"[-*+/]\",\"name\":\"keyword.operator.arithmetic.cadence\"},{\"match\":\"%\",\"name\":\"keyword.operator.arithmetic.remainder.cadence\"},{\"match\":\">>\",\"name\":\"keyword.operator.bitwise.shift.cadence\"},{\"match\":\"<<\",\"name\":\"keyword.operator.bitwise.shift.cadence\"},{\"match\":\"==|!=|[<>]|>=|<=\",\"name\":\"keyword.operator.comparison.cadence\"},{\"match\":\"\\\\?\\\\?\",\"name\":\"keyword.operator.coalescing.cadence\"},{\"match\":\"&&|\\\\|\\\\|\",\"name\":\"keyword.operator.logical.cadence\"},{\"match\":\"[!?]\",\"name\":\"keyword.operator.type.optional.cadence\"}]},\"parameter-clause\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.cadence\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.cadence\"}},\"name\":\"meta.parameter-clause.cadence\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#parameter-list\"}]},\"parameter-list\":{\"patterns\":[{\"include\":\"#comments\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.unnamed-parameter.cadence\"},\"2\":{\"name\":\"variable.parameter.cadence\"}},\"match\":\"(_)\\\\s+([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)(?=\\\\s*:)\"},{\"captures\":{\"1\":{\"name\":\"entity.name.label.cadence\"},\"2\":{\"name\":\"variable.parameter.cadence\"}},\"match\":\"([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)\\\\s+([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)(?=\\\\s*:)\"},{\"captures\":{\"1\":{\"name\":\"variable.parameter.cadence\"}},\"match\":\"([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)(?=\\\\s*:)\"},{\"begin\":\":\\\\s*(?!\\\\s)\",\"end\":\"(?=[),])\",\"patterns\":[{\"include\":\"#type\"},{\"match\":\":\",\"name\":\"invalid.illegal.extra-colon-in-parameter-list.cadence\"}]}]},\"path-literals\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.path.cadence\"},\"2\":{\"name\":\"constant.other.path.cadence\"}},\"match\":\"(/)((storage|public)(/[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)?)\"}]},\"pre-post\":{\"begin\":\"(?<!\\\\.)\\\\b(p(?:re|ost))\\\\b\\\\s*(?=\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.phase.cadence\"}},\"end\":\"(?<=})\",\"name\":\"meta.definition.transaction.phase.cadence\",\"patterns\":[{\"include\":\"#comments\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.phase.begin.cadence\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.phase.end.cadence\"}},\"patterns\":[{\"include\":\"$self\"}]}]},\"prepare-execute\":{\"begin\":\"(?<!\\\\.)\\\\b(prepare)\\\\b\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.phase.cadence\"}},\"end\":\"(?<=})\",\"name\":\"meta.definition.transaction.phase.cadence\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#parameter-clause\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.phase.begin.cadence\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.phase.end.cadence\"}},\"patterns\":[{\"include\":\"$self\"}]}]},\"transaction\":{\"begin\":\"\\\\b(transaction)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.transaction.cadence\"}},\"end\":\"(?<=\\\\))|(?<=})\",\"name\":\"meta.definition.transaction.cadence\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#parameter-clause\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.transaction.begin.cadence\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.transaction.end.cadence\"}},\"name\":\"meta.definition.transaction.body.cadence\",\"patterns\":[{\"include\":\"$self\"}]}]},\"type\":{\"patterns\":[{\"begin\":\"(?<!\\\\.)\\\\b(?:(view)\\\\s+)?(fun)\\\\b\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.view.cadence\"},\"2\":{\"name\":\"storage.type.function.cadence\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.cadence\"}},\"end\":\"(?=[]),>}]|$)\",\"name\":\"meta.type.function.cadence\",\"patterns\":[{\"include\":\"#comments\"},{\"begin\":\"\\\\G\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.cadence\"}},\"patterns\":[{\"include\":\"#type\"},{\"match\":\",\",\"name\":\"punctuation.separator.parameter.cadence\"}]},{\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.function-result.cadence\"}},\"end\":\"(?=[]),>}]|$)\",\"name\":\"meta.function-result.cadence\",\"patterns\":[{\"include\":\"#type\"}]}]},{\"include\":\"#comments\"},{\"begin\":\"(?<!\\\\.)([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)\\\\s*(<)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.type.cadence\"},\"2\":{\"name\":\"punctuation.definition.type-arguments.begin.cadence\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.type-arguments.end.cadence\"}},\"name\":\"meta.type.arguments.cadence\",\"patterns\":[{\"include\":\"#type\"},{\"match\":\",\",\"name\":\"punctuation.separator.type-argument.cadence\"}]},{\"begin\":\"(?<!\\\\.)\\\\b(auth)\\\\b\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.auth.cadence\"},\"2\":{\"name\":\"punctuation.section.group.begin.cadence\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.group.end.cadence\"}},\"name\":\"meta.auth.entitlements.cadence\",\"patterns\":[{\"include\":\"#comments\"},{\"match\":\"\\\\bmapping\\\\b\",\"name\":\"keyword.other.mapping.cadence\"},{\"captures\":{\"1\":{\"name\":\"entity.name.type.entitlement-mapping.cadence\"}},\"match\":\"(?<=\\\\bmapping)\\\\s+([_\\\\p{L}][._\\\\p{L}\\\\p{N}\\\\p{M}]*)\"},{\"match\":\",\",\"name\":\"punctuation.separator.entitlement.cadence\"},{\"match\":\"\\\\|\",\"name\":\"punctuation.separator.entitlement.cadence\"},{\"match\":\"[_\\\\p{L}][._\\\\p{L}\\\\p{N}\\\\p{M}]*\",\"name\":\"entity.name.type.entitlement.cadence\"}]},{\"begin\":\"\\\\{(?![^}]*:)(?!.*}\\\\s*\\\\()\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.type.intersection.begin.cadence\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.type.intersection.end.cadence\"}},\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#type\"},{\"match\":\",\",\"name\":\"punctuation.separator.type.intersection.cadence\"}]},{\"begin\":\"\\\\{(?=\\\\s*[_\\\\p{L}][._\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\s*:)(?!.*}\\\\s*\\\\()\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.type.dictionary.begin.cadence\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.type.dictionary.end.cadence\"}},\"name\":\"meta.type.dictionary.cadence\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#type\"},{\"match\":\":\",\"name\":\"punctuation.separator.type.dictionary.cadence\"},{\"match\":\",\",\"name\":\"punctuation.separator.type.dictionary.cadence\"}]},{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.type.array.begin.cadence\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.type.array.end.cadence\"}},\"name\":\"meta.type.array.cadence\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#type\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.type.reference.cadence\"}},\"match\":\"([\\\\&@])(?=\\\\s*\\\\{)\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.type.reference.cadence\"},\"2\":{\"name\":\"entity.name.type.cadence\"}},\"match\":\"([\\\\&@])\\\\s*([_\\\\p{L}][._\\\\p{L}\\\\p{N}\\\\p{M}]*)\"},{\"match\":\"([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)\",\"name\":\"entity.name.type.cadence\"},{\"match\":\"[!?]\",\"name\":\"keyword.operator.type.optional.cadence\"}]},\"var-let-declaration\":{\"begin\":\"\\\\b(var|let)\\\\b\\\\s+([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.$1.cadence\"},\"2\":{\"name\":\"variable.other.declaration.cadence\"}},\"end\":\"=|<-!??|;|(?=//)|$\",\"patterns\":[{\"include\":\"#comments\"},{\"begin\":\":\\\\s*(?!\\\\s)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.type.annotation.cadence\"}},\"end\":\"(?=//|=|<-!??|;|$)\",\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#comments\"}]}]}},\"scopeName\":\"source.cadence\",\"aliases\":[\"cdc\"]}"))
|
|
|
|
export default [
|
|
lang
|
|
]
|