github-linguist 9.3.0 → 9.4.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.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/dart.inline.edgeql.json +1 -0
  3. data/grammars/go.inline.edgeql.json +1 -0
  4. data/grammars/inline.surrealql-js-literal.json +1 -0
  5. data/grammars/js.inline.edgeql.json +1 -0
  6. data/grammars/markdown.move.codeblock.json +1 -1
  7. data/grammars/markdown.surrealql.codeblock.json +1 -0
  8. data/grammars/markdown.vue.codeblock.json +1 -1
  9. data/grammars/markdown.wesl.codeblock.json +1 -0
  10. data/grammars/markdown.wgsl.codeblock.json +1 -0
  11. data/grammars/mdx.vue.codeblock.json +1 -1
  12. data/grammars/res.inline.edgeql.json +1 -0
  13. data/grammars/source.abl.json +1 -1
  14. data/grammars/source.agda.json +1 -1
  15. data/grammars/source.al.json +1 -1
  16. data/grammars/source.algol60.json +1 -0
  17. data/grammars/source.apex.json +1 -1
  18. data/grammars/source.b.json +1 -0
  19. data/grammars/source.bicep.json +1 -1
  20. data/grammars/source.brs.json +1 -1
  21. data/grammars/source.bru.json +1 -1
  22. data/grammars/source.c++.json +1 -1
  23. data/grammars/source.c.json +1 -1
  24. data/grammars/source.c3.json +1 -1
  25. data/grammars/source.cadence.json +1 -1
  26. data/grammars/source.cj.json +1 -0
  27. data/grammars/source.clar.json +1 -1
  28. data/grammars/source.clean.json +1 -1
  29. data/grammars/source.comment-string.wesl.json +1 -0
  30. data/grammars/source.comment-string.wgsl.json +1 -0
  31. data/grammars/source.cql.json +1 -0
  32. data/grammars/source.cs.json +1 -1
  33. data/grammars/source.csv.json +1 -0
  34. data/grammars/source.data-weave.json +1 -1
  35. data/grammars/source.dsv.json +1 -0
  36. data/grammars/source.erlang.json +1 -1
  37. data/grammars/source.fsharp.json +1 -1
  38. data/grammars/source.gfm.blade.json +1 -1
  39. data/grammars/source.go-template.json +1 -0
  40. data/grammars/source.go.injection.double.go-template.json +1 -0
  41. data/grammars/source.go.injection.raw.go-template.json +1 -0
  42. data/grammars/source.hack.json +1 -1
  43. data/grammars/source.hurl.json +1 -0
  44. data/grammars/source.isabelle.theory.json +1 -1
  45. data/grammars/source.jac.json +1 -0
  46. data/grammars/source.jai.json +1 -1
  47. data/grammars/source.just.json +1 -1
  48. data/grammars/source.kcl.json +1 -0
  49. data/grammars/source.langium.json +1 -0
  50. data/grammars/source.lean.markdown.json +1 -1
  51. data/grammars/source.lean4.json +1 -1
  52. data/grammars/source.lean4.markdown.json +1 -1
  53. data/grammars/source.lp.json +1 -0
  54. data/grammars/source.lua.json +1 -1
  55. data/grammars/source.luau.json +1 -1
  56. data/grammars/source.m2.json +1 -1
  57. data/grammars/source.mask.json +1 -1
  58. data/grammars/source.mdx.json +1 -1
  59. data/grammars/source.mermaid.zenuml.json +1 -1
  60. data/grammars/source.mo.json +1 -1
  61. data/grammars/source.mojo.json +1 -1
  62. data/grammars/source.moonbit.json +1 -1
  63. data/grammars/source.move.json +1 -1
  64. data/grammars/source.ned.json +1 -1
  65. data/grammars/source.nr.json +1 -1
  66. data/grammars/source.nushell.json +1 -1
  67. data/grammars/source.proto.json +1 -1
  68. data/grammars/source.pyjade.json +1 -1
  69. data/grammars/source.quakec.json +1 -1
  70. data/grammars/source.rascal.json +1 -1
  71. data/grammars/source.rascript.json +1 -0
  72. data/grammars/source.rego.json +1 -1
  73. data/grammars/source.roc.json +1 -1
  74. data/grammars/source.rpgle.json +1 -1
  75. data/grammars/source.shell.json +1 -1
  76. data/grammars/source.singularity.json +1 -1
  77. data/grammars/source.soql.json +1 -1
  78. data/grammars/source.sqf.json +1 -1
  79. data/grammars/source.surrealql.json +1 -0
  80. data/grammars/source.teal.json +1 -0
  81. data/grammars/source.tmdl.json +1 -0
  82. data/grammars/source.tsp.json +1 -1
  83. data/grammars/source.tsv.json +1 -0
  84. data/grammars/source.vb6.json +1 -0
  85. data/grammars/source.vba.json +1 -1
  86. data/grammars/source.vento.json +1 -1
  87. data/grammars/source.vscode.c3.json +1 -0
  88. data/grammars/source.wdl.json +1 -1
  89. data/grammars/source.wgsl.json +1 -1
  90. data/grammars/source.wwb.json +1 -1
  91. data/grammars/text.git-commit.json +1 -0
  92. data/grammars/text.haml.json +1 -1
  93. data/grammars/text.html.markdown.d2.json +1 -1
  94. data/grammars/text.html.vue.json +1 -0
  95. data/grammars/text.injection.go-template.json +1 -0
  96. data/grammars/text.k.json +1 -0
  97. data/grammars/text.markdown.go-template.codeblock.json +1 -0
  98. data/grammars/text.marko.json +1 -1
  99. data/grammars/text.md.json +1 -1
  100. data/grammars/text.slim.json +1 -1
  101. data/grammars/text.source.mps.json +1 -0
  102. data/grammars/text.valve-cfg.json +1 -1
  103. data/grammars/v.mod.json +1 -0
  104. data/grammars/version +1 -1
  105. data/grammars/vue.directives.json +1 -1
  106. data/grammars/vue.interpolations.json +1 -1
  107. data/grammars/vue.sfc.script.leading-operator-fix.json +1 -0
  108. data/lib/linguist/VERSION +1 -1
  109. data/lib/linguist/generated.rb +24 -0
  110. data/lib/linguist/generic.yml +1 -0
  111. data/lib/linguist/heuristics.yml +62 -6
  112. data/lib/linguist/languages.json +1 -1
  113. data/lib/linguist/languages.yml +222 -26
  114. data/lib/linguist/samples.json +1 -1
  115. metadata +40 -3
  116. data/grammars/inline.edgeql.json +0 -1
  117. data/grammars/source.vue.json +0 -1
@@ -1 +1 @@
1
- {"scopeName":"source.cadence","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#declarations"},{"include":"#keywords"},{"include":"#code-block"},{"include":"#composite"},{"include":"#event"}],"repository":{"code-block":{"begin":"\\{","end":"\\}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cadence"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cadence"}}},"comments":{"patterns":[{"name":"comment.line.number-sign.cadence","match":"\\A^(#!).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.cadence"}}},{"name":"comment.block.documentation.cadence","begin":"/\\*\\*(?!/)","end":"\\*/","patterns":[{"include":"#nested"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.cadence"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.cadence"}}},{"name":"comment.block.documentation.playground.cadence","begin":"/\\*:","end":"\\*/","patterns":[{"include":"#nested"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.cadence"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.cadence"}}},{"name":"comment.block.cadence","begin":"/\\*","end":"\\*/","patterns":[{"include":"#nested"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.cadence"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.cadence"}}},{"name":"invalid.illegal.unexpected-end-of-block-comment.cadence","match":"\\*/"},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.triple-slash.documentation.cadence","begin":"///","end":"^","beginCaptures":{"0":{"name":"punctuation.definition.comment.cadence"}}},{"name":"comment.line.double-slash.documentation.cadence","begin":"//:","end":"^","beginCaptures":{"0":{"name":"punctuation.definition.comment.cadence"}}},{"name":"comment.line.double-slash.cadence","begin":"//","end":"^","beginCaptures":{"0":{"name":"punctuation.definition.comment.cadence"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.cadence"}}}],"repository":{"nested":{"begin":"/\\*","end":"\\*/","patterns":[{"include":"#nested"}]}}},"composite":{"name":"meta.definition.type.composite.cadence","begin":"\\b((?:(?:struct|resource|contract)(?:\\s+interface)?)|transaction|enum)\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)","end":"(?\u003c=\\})","patterns":[{"include":"#comments"},{"include":"#conformance-clause"},{"name":"meta.definition.type.body.cadence","begin":"\\{","end":"\\}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.type.begin.cadence"}},"endCaptures":{"0":{"name":"punctuation.definition.type.end.cadence"}}}],"beginCaptures":{"1":{"name":"storage.type.$1.cadence"},"2":{"name":"entity.name.type.$1.cadence"}}},"conformance-clause":{"name":"meta.conformance-clause.cadence","begin":"(:)(?=\\s*\\{)|(:)\\s*","end":"(?!\\G)$|(?=[={}])","patterns":[{"begin":"\\G","end":"(?!\\G)$|(?=[={}])","patterns":[{"include":"#comments"},{"include":"#type"}]}],"beginCaptures":{"1":{"name":"invalid.illegal.empty-conformance-clause.cadence"},"2":{"name":"punctuation.separator.conformance-clause.cadence"}}},"declarations":{"patterns":[{"include":"#var-let-declaration"},{"include":"#function"},{"include":"#initializer"}]},"event":{"name":"meta.definition.type.event.cadence","begin":"\\b(event)\\b\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)\\s*","end":"(?\u003c=\\))|$","patterns":[{"include":"#comments"},{"include":"#parameter-clause"}],"beginCaptures":{"1":{"name":"storage.type.event.cadence"},"2":{"name":"entity.name.type.event.cadence"}}},"expression-element-list":{"patterns":[{"include":"#comments"},{"begin":"([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)\\s*(:)","end":"(?=[,)\\]])","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"support.function.any-method.cadence"},"2":{"name":"punctuation.separator.argument-label.cadence"}}},{"begin":"(?![,)\\]])(?=\\S)","end":"(?=[,)\\]])","patterns":[{"include":"#expressions"}]}]},"expressions":{"patterns":[{"include":"#comments"},{"include":"#function-call-expression"},{"include":"#literals"},{"include":"#operators"},{"include":"#language-variables"}]},"function":{"name":"meta.definition.function.cadence","begin":"\\b(fun)\\b\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)\\s*","end":"(?\u003c=\\})|$","patterns":[{"include":"#comments"},{"include":"#parameter-clause"},{"include":"#function-result"},{"name":"meta.definition.function.body.cadence","begin":"(\\{)","end":"(\\})","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.section.function.begin.cadence"}},"endCaptures":{"1":{"name":"punctuation.section.function.end.cadence"}}}],"beginCaptures":{"1":{"name":"storage.type.function.cadence"},"2":{"name":"entity.name.function.cadence"}}},"function-call-expression":{"patterns":[{"name":"meta.function-call.cadence","begin":"(?!(?:set|init))([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)\\s*(\\()","end":"\\)","patterns":[{"include":"#expression-element-list"}],"beginCaptures":{"1":{"name":"support.function.any-method.cadence"},"4":{"name":"punctuation.definition.arguments.begin.cadence"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.end.cadence"}}}]},"function-result":{"name":"meta.function-result.cadence","begin":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(:)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\s*","end":"(?!\\G)(?=\\{|;)|$","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.function-result.cadence"}}},"initializer":{"name":"meta.definition.function.initializer.cadence","begin":"(?\u003c!\\.)\\b(init)\\s*(?=\\(|\u003c)","end":"(?\u003c=\\})|$","patterns":[{"include":"#comments"},{"include":"#parameter-clause"},{"name":"meta.definition.function.body.cadence","begin":"(\\{)","end":"(\\})","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.section.function.begin.cadence"}},"endCaptures":{"1":{"name":"punctuation.section.function.end.cadence"}}}],"beginCaptures":{"1":{"name":"storage.type.function.cadence"}}},"keywords":{"patterns":[{"name":"keyword.control.branch.cadence","match":"(?\u003c!\\.)\\b(?:if|else|switch|case|default)\\b"},{"name":"keyword.control.transfer.cadence","match":"(?\u003c!\\.)\\b(?:return|continue|break)\\b"},{"name":"keyword.control.loop.cadence","match":"(?\u003c!\\.)\\b(?:while|for|in)\\b"},{"name":"keyword.other.cadence","match":"(?\u003c!\\.)\\b(?:pre|post|prepare|execute|create|destroy|emit)\\b"},{"name":"keyword.other.declaration-specifier.accessibility.cadence","match":"(?\u003c!\\.)\\b(?:private|pub(?:\\(set\\))?|access\\((?:self|contract|account|all)\\))\\b"},{"name":"storage.type.function.cadence","match":"\\b(?:init|destroy)\\b"},{"name":"keyword.control.import.cadence","match":"(?\u003c!\\.)\\b(?:import|from)\\b"}]},"language-variables":{"patterns":[{"name":"variable.language.cadence","match":"\\b(self)\\b"}]},"literals":{"patterns":[{"include":"#boolean"},{"include":"#numeric"},{"include":"#string"},{"name":"constant.language.nil.cadence","match":"\\bnil\\b"}],"repository":{"boolean":{"name":"constant.language.boolean.cadence","match":"\\b(true|false)\\b"},"numeric":{"patterns":[{"include":"#binary"},{"include":"#octal"},{"include":"#decimal"},{"include":"#hexadecimal"}],"repository":{"binary":{"name":"constant.numeric.integer.binary.cadence","match":"(\\B\\-|\\b)0b[01]([_01]*[01])?\\b"},"decimal":{"name":"constant.numeric.integer.decimal.cadence","match":"(\\B\\-|\\b)[0-9]([_0-9]*[0-9])?\\b"},"hexadecimal":{"name":"constant.numeric.integer.hexadecimal.cadence","match":"(\\B\\-|\\b)0x[0-9A-Fa-f]([_0-9A-Fa-f]*[0-9A-Fa-f])?\\b"},"octal":{"name":"constant.numeric.integer.octal.cadence","match":"(\\B\\-|\\b)0o[0-7]([_0-7]*[0-7])?\\b"}}},"string":{"patterns":[{"name":"string.quoted.double.single-line.cadence","begin":"\"","end":"\"","patterns":[{"name":"invalid.illegal.returns-not-allowed.cadence","match":"\\r|\\n"},{"include":"#string-guts"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cadence"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cadence"}}}],"repository":{"string-guts":{"patterns":[{"name":"constant.character.escape.cadence","match":"\\\\[0\\\\tnr\"']"},{"name":"constant.character.escape.unicode.cadence","match":"\\\\u\\{[0-9a-fA-F]{1,8}\\}"}]}}}}},"operators":{"patterns":[{"name":"keyword.operator.arithmetic.unary.cadence","match":"\\-"},{"name":"keyword.operator.logical.not.cadence","match":"!"},{"name":"keyword.operator.assignment.cadence","match":"="},{"name":"keyword.operator.move.cadence","match":"\u003c-"},{"name":"keyword.operator.force-move.cadence","match":"\u003c-!"},{"name":"keyword.operator.arithmetic.cadence","match":"\\+|\\-|\\*|/"},{"name":"keyword.operator.arithmetic.remainder.cadence","match":"%"},{"name":"keyword.operator.comparison.cadence","match":"==|!=|\u003e|\u003c|\u003e=|\u003c="},{"name":"keyword.operator.coalescing.cadence","match":"\\?\\?"},{"name":"keyword.operator.logical.cadence","match":"\u0026\u0026|\\|\\|"},{"name":"keyword.operator.type.optional.cadence","match":"[?!]"}]},"parameter-clause":{"name":"meta.parameter-clause.cadence","begin":"(\\()","end":"(\\))","patterns":[{"include":"#parameter-list"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.cadence"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.cadence"}}},"parameter-list":{"patterns":[{"match":"([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)(?=\\s*:)","captures":{"1":{"name":"entity.name.function.cadence"},"2":{"name":"variable.parameter.function.cadence"}}},{"match":"(([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*))(?=\\s*:)","captures":{"1":{"name":"variable.parameter.function.cadence"},"2":{"name":"entity.name.function.cadence"}}},{"begin":":\\s*(?!\\s)","end":"(?=[,)])","patterns":[{"include":"#type"},{"name":"invalid.illegal.extra-colon-in-parameter-list.cadence","match":":"}]}]},"type":{"patterns":[{"include":"#comments"},{"name":"storage.type.cadence","match":"([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)"}]},"var-let-declaration":{"begin":"\\b(var|let)\\b\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)","end":"=|\u003c-|\u003c-!|$","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"storage.type.$1.cadence"},"2":{"name":"entity.name.type.$1.cadence"}}}}}
1
+ {"scopeName":"source.cadence","patterns":[{"include":"#comments"},{"include":"#declarations"},{"include":"#keywords"},{"include":"#code-block"},{"include":"#expressions"},{"include":"#composite"},{"include":"#event"}],"repository":{"code-block":{"begin":"\\{","end":"\\}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cadence"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cadence"}}},"comments":{"patterns":[{"name":"comment.line.number-sign.cadence","match":"\\A^(#!).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.cadence"}}},{"name":"comment.block.documentation.cadence","begin":"/\\*\\*(?!/)","end":"\\*/","patterns":[{"include":"#nested"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.cadence"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.cadence"}}},{"name":"comment.block.documentation.playground.cadence","begin":"/\\*:","end":"\\*/","patterns":[{"include":"#nested"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.cadence"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.cadence"}}},{"name":"comment.block.cadence","begin":"/\\*","end":"\\*/","patterns":[{"include":"#nested"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.cadence"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.cadence"}}},{"name":"invalid.illegal.unexpected-end-of-block-comment.cadence","match":"\\*/"},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.triple-slash.documentation.cadence","begin":"///","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.cadence"}}},{"name":"comment.line.double-slash.documentation.cadence","begin":"//:","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.cadence"}}},{"name":"comment.line.double-slash.cadence","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.cadence"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.cadence"}}}],"repository":{"nested":{"begin":"/\\*","end":"\\*/","patterns":[{"include":"#nested"}]}}},"composite":{"name":"meta.definition.type.composite.cadence","begin":"\\b((?:(?:struct|resource|contract|attachment)(?:\\s+interface)?)|enum)\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)","end":"(?\u003c=\\})|(?=\\s*\\Z)","patterns":[{"include":"#comments"},{"include":"#conformance-clause"},{"name":"meta.definition.type.body.cadence","begin":"\\{","end":"\\}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.type.begin.cadence"}},"endCaptures":{"0":{"name":"punctuation.section.type.end.cadence"}}}],"beginCaptures":{"1":{"name":"storage.type.$1.cadence"},"2":{"name":"entity.name.type.$1.cadence"}}},"conformance-clause":{"name":"meta.conformance-clause.cadence","begin":"(:)(?=\\s*\\{)|(:)\\s*","end":"(?!\\G)$|(?=[={}])","patterns":[{"begin":"\\G","end":"(?!\\G)$|(?=[={}])","patterns":[{"include":"#comments"},{"include":"#type"}]}],"beginCaptures":{"1":{"name":"invalid.illegal.empty-conformance-clause.cadence"},"2":{"name":"punctuation.separator.conformance-clause.cadence"}}},"declarations":{"patterns":[{"include":"#var-let-declaration"},{"include":"#function"},{"include":"#initializer"},{"include":"#prepare-execute"},{"include":"#execute-phase"},{"include":"#pre-post"},{"include":"#transaction"}]},"event":{"name":"meta.definition.type.event.cadence","begin":"\\b(event)\\b\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)\\s*","end":"(?\u003c=\\))","patterns":[{"include":"#comments"},{"include":"#parameter-clause"}],"beginCaptures":{"1":{"name":"storage.type.event.cadence"},"2":{"name":"entity.name.type.event.cadence"}}},"execute-phase":{"name":"meta.definition.transaction.phase.cadence","begin":"(?\u003c!\\.)\\b(execute)\\b\\s*(?=\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#comments"},{"begin":"\\{","end":"\\}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.phase.begin.cadence"}},"endCaptures":{"0":{"name":"punctuation.section.phase.end.cadence"}}}],"beginCaptures":{"1":{"name":"storage.modifier.phase.cadence"}}},"expression-element-list":{"patterns":[{"include":"#comments"},{"begin":"([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)\\s*(:)","end":"(?=[,)\\]])","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"variable.parameter.function-call.cadence"},"2":{"name":"punctuation.separator.argument-label.cadence"}}},{"begin":"(?![,)\\]])(?=\\S)","end":"(?=[,)\\]])","patterns":[{"include":"#expressions"}]}]},"expressions":{"patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#language-variables"},{"include":"#function-expression"},{"include":"#path-literals"},{"name":"meta.type.arguments.cadence","begin":"(?!\\b(?:if|while|for|return|create|destroy|emit|as)\\b)([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)\\s*(\u003c)(?=[\\p{Lu}_\u0026@\\[{(]|auth\\b|\\s*$)","end":"(\u003e)(?!\\s*[=\u003c\u003e])","patterns":[{"include":"#type"},{"name":"punctuation.separator.type-argument.cadence","match":","}],"beginCaptures":{"1":{"name":"entity.name.function.cadence"},"2":{"name":"punctuation.definition.type-arguments.begin.cadence"}},"endCaptures":{"1":{"name":"punctuation.definition.type-arguments.end.cadence"}}},{"name":"meta.group.cadence","begin":"(\\()","end":"(\\))","patterns":[{"include":"#expression-element-list"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.cadence"}},"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.cadence"}}},{"name":"meta.function-call.method.cadence","begin":"(?\u003c=\\.)([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)\\s*(\\()","end":"(\\))","patterns":[{"include":"#expression-element-list"}],"beginCaptures":{"1":{"name":"entity.name.function.cadence"},"2":{"name":"punctuation.definition.arguments.begin.cadence"}},"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.cadence"}}},{"name":"variable.other.member.cadence","match":"(?\u003c=\\.)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*"},{"include":"#function-call-expression"},{"name":"variable.other.readwrite.cadence","match":"(?\u003c!\\.)\\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"},{"include":"#literals"},{"include":"#operators"}]},"function":{"name":"meta.definition.function.cadence","begin":"\\b(fun)\\b\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)\\s*","end":"(?\u003c=\\})|;|(?=\\}[\\s]*$)|$","patterns":[{"include":"#comments"},{"include":"#parameter-clause"},{"include":"#function-result"},{"name":"meta.definition.function.body.cadence","begin":"(\\{)","end":"(\\})","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.section.function.begin.cadence"}},"endCaptures":{"1":{"name":"punctuation.section.function.end.cadence"}}}],"beginCaptures":{"1":{"name":"storage.type.function.cadence"},"2":{"name":"entity.name.function.cadence"}}},"function-call-expression":{"patterns":[{"name":"meta.function-call.cadence","begin":"(?\u003c!\\.)\\b(?!(?:set|init|transaction|prepare|execute|access|auth))([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)\\s*(\\()","end":"(\\))","patterns":[{"include":"#expression-element-list"}],"beginCaptures":{"1":{"name":"entity.name.function.cadence"},"2":{"name":"punctuation.definition.arguments.begin.cadence"}},"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.cadence"}}}]},"function-expression":{"name":"meta.function.expression.cadence","begin":"(?\u003c!\\.)\\b(?:(view)\\s+)?(fun)\\b(?=\\s*\\()","end":"(?\u003c=\\})|$","patterns":[{"include":"#comments"},{"include":"#parameter-clause"},{"include":"#function-result"},{"name":"meta.definition.function.body.cadence","begin":"(\\{)","end":"(\\})","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.section.function.begin.cadence"}},"endCaptures":{"1":{"name":"punctuation.section.function.end.cadence"}}}],"beginCaptures":{"1":{"name":"storage.modifier.view.cadence"},"2":{"name":"storage.type.function.cadence"}}},"function-result":{"name":"meta.function-result.cadence","begin":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(:)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\s*","end":"(?\u003c![@\u0026\\[\u003c])(?!\\G)(?=\\s*\\{)|(?=;|(?\u003c!\\{)\\})|$","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.function-result.cadence"}}},"initializer":{"name":"meta.definition.function.initializer.cadence","begin":"(?\u003c!\\.)\\b(init)\\s*(?=\\(|\u003c)","end":"(?\u003c=\\})|$","patterns":[{"include":"#comments"},{"include":"#parameter-clause"},{"name":"meta.definition.function.body.cadence","begin":"(\\{)","end":"(\\})","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.section.function.begin.cadence"}},"endCaptures":{"1":{"name":"punctuation.section.function.end.cadence"}}}],"beginCaptures":{"1":{"name":"storage.type.function.cadence"}}},"keywords":{"patterns":[{"name":"storage.type.var.cadence","match":"(?\u003c!\\.)\\bvar\\b"},{"name":"storage.type.let.cadence","match":"(?\u003c!\\.)\\blet\\b"},{"name":"meta.definition.entitlement-mapping.cadence","begin":"(?\u003c!\\.)\\b(entitlement)\\s+(mapping)\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comments"},{"name":"keyword.other.mapping.include.cadence","match":"\\binclude\\b"},{"match":"(?\u003c=\\binclude)\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}.]*)","captures":{"1":{"name":"entity.name.type.entitlement-mapping.cadence"}}},{"name":"entity.name.type.entitlement.cadence","match":"[\\p{L}_][\\p{L}_\\p{N}\\p{M}.]*"},{"name":"punctuation.separator.mapping.cadence","match":"-\u003e"}],"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"}},"endCaptures":{"1":{"name":"punctuation.definition.type.end.cadence"}}},{"match":"(?\u003c!\\.)\\b(entitlement)\\b\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)","captures":{"1":{"name":"keyword.declaration.entitlement.cadence"},"2":{"name":"entity.name.type.entitlement.cadence"}}},{"name":"meta.access.modifier.cadence","begin":"(?\u003c!\\.)\\b(access)\\b\\s*(\\()","end":"(\\))","patterns":[{"include":"#comments"},{"name":"keyword.other.mapping.cadence","match":"\\bmapping\\b"},{"match":"(?\u003c=\\bmapping)\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}.]*)","captures":{"1":{"name":"entity.name.type.entitlement-mapping.cadence"}}},{"name":"constant.language.access.audience.cadence","match":"\\b(?:all|self|contract|account)\\b"},{"name":"punctuation.separator.entitlement.cadence","match":","},{"name":"punctuation.separator.entitlement.cadence","match":"\\|"},{"name":"entity.name.type.entitlement.cadence","match":"[\\p{L}_][\\p{L}_\\p{N}\\p{M}.]*"}],"beginCaptures":{"1":{"name":"storage.modifier.access.cadence"},"2":{"name":"punctuation.section.group.begin.cadence"}},"endCaptures":{"1":{"name":"punctuation.section.group.end.cadence"}}},{"name":"keyword.control.branch.cadence","match":"(?\u003c!\\.)\\b(?:if|else|switch|case|default)\\b"},{"name":"keyword.control.transfer.cadence","match":"(?\u003c!\\.)\\b(?:return|continue|break)\\b"},{"name":"keyword.control.loop.cadence","match":"(?\u003c!\\.)\\b(?:while|for|in)\\b"},{"name":"keyword.other.cadence","match":"(?\u003c!\\.)\\b(?:create|destroy|emit|attach|to|remove|from)\\b"},{"name":"invalid.deprecated.keyword.cadence","match":"(?\u003c!\\.)\\b(pub|priv)\\b"},{"name":"storage.modifier.view.cadence","match":"(?\u003c!\\.)\\bview\\b"},{"name":"keyword.other.auth.cadence","match":"(?\u003c!\\.)\\b(auth)\\b"},{"name":"meta.import.cadence","begin":"(?\u003c!\\.)\\b(import)\\b","end":"(?=$|//|/\\*|;)","patterns":[{"name":"keyword.control.import.cadence","match":"\\bfrom\\b"},{"include":"#literals"},{"name":"variable.other.readwrite.cadence","match":"\\b[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*\\b"}],"beginCaptures":{"1":{"name":"keyword.control.import.cadence"}}}]},"language-variables":{"patterns":[{"name":"variable.language.cadence","match":"\\b(self)\\b"}]},"literals":{"patterns":[{"include":"#boolean"},{"include":"#numeric"},{"include":"#string"},{"name":"constant.language.nil.cadence","match":"\\bnil\\b"}],"repository":{"boolean":{"name":"constant.language.boolean.cadence","match":"\\b(true|false)\\b"},"numeric":{"patterns":[{"include":"#binary"},{"include":"#octal"},{"include":"#hexadecimal"},{"include":"#fixed-point"},{"include":"#decimal"}],"repository":{"binary":{"name":"constant.numeric.integer.binary.cadence","match":"(\\B\\-|\\b)0b[01]([_01]*[01])?\\b"},"decimal":{"name":"constant.numeric.integer.decimal.cadence","match":"(\\B\\-|\\b)[0-9]([_0-9]*[0-9])?\\b"},"fixed-point":{"name":"constant.numeric.float.cadence","match":"(\\B\\-|\\b)[0-9]([_0-9]*[0-9])?\\.[0-9]([_0-9]*[0-9])?\\b"},"hexadecimal":{"name":"constant.numeric.integer.hexadecimal.cadence","match":"(\\B\\-|\\b)0x[0-9A-Fa-f]([_0-9A-Fa-f]*[0-9A-Fa-f])?\\b"},"octal":{"name":"constant.numeric.integer.octal.cadence","match":"(\\B\\-|\\b)0o[0-7]([_0-7]*[0-7])?\\b"}}},"string":{"patterns":[{"name":"string.quoted.double.single-line.cadence","begin":"\"","end":"\"","patterns":[{"name":"invalid.illegal.returns-not-allowed.cadence","match":"\\r|\\n"},{"name":"meta.interpolation.cadence","contentName":"meta.embedded.line.cadence","begin":"\\\\\\(","end":"\\)","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.cadence"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.cadence"}}},{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.cadence meta.embedded.cadence"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.cadence meta.embedded.cadence"}}},{"include":"#string-guts"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cadence"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cadence"}}}],"repository":{"string-guts":{"patterns":[{"name":"constant.character.escape.cadence","match":"\\\\[0\\\\tnr\"']"},{"name":"constant.character.escape.unicode.cadence","match":"\\\\u\\{[0-9a-fA-F]{1,8}\\}"}]}}}}},"operators":{"patterns":[{"name":"keyword.operator.swap.cadence","match":"\u003c-\u003e"},{"name":"keyword.operator.optional.chain.cadence","match":"\\?\\."},{"name":"meta.type.cast-target.cadence","begin":"\\b(as\\?|as!|as)\\b","end":"(?=$|;|//|/\\\\*|\\\")|(?=\\)|,|\\})|(?\u003c=\\\u003e)(?=\\s*\\{(?!\\s*[\\p{L}_][\\p{L}_\\p{N}\\p{M}.]*\\s*:))|(?\u003c=[\\p{L}\\p{N}\\}\\\u003e\\)\\]\\?])(?=\\s*\\{(?!\\s*[\\p{L}_][\\p{L}_\\p{N}\\p{M}.]*\\s*:))|(?=\\?\\?)","patterns":[{"name":"meta.type.dictionary.cadence","begin":"\\{(?=\\s*[\\p{L}_][\\p{L}_\\p{N}\\p{M}.]*\\s*:)","end":"(\\})","patterns":[{"include":"#comments"},{"include":"#type"},{"name":"punctuation.separator.type.dictionary.cadence","match":":"},{"name":"punctuation.separator.type.dictionary.cadence","match":","}],"beginCaptures":{"0":{"name":"punctuation.definition.type.dictionary.begin.cadence"}},"endCaptures":{"1":{"name":"punctuation.definition.type.dictionary.end.cadence"}}},{"include":"#type"}],"beginCaptures":{"0":{"name":"keyword.operator.type.cast.cadence"}}},{"name":"keyword.operator.arithmetic.unary.cadence","match":"\\-"},{"name":"keyword.operator.force-unwrap.cadence","match":"(?\u003c=\\))!"},{"name":"keyword.operator.logical.not.cadence","match":"!"},{"name":"keyword.operator.assignment.cadence","match":"="},{"name":"keyword.operator.move.cadence","match":"\u003c-"},{"name":"keyword.operator.force-move.cadence","match":"\u003c-!"},{"name":"keyword.operator.arithmetic.cadence","match":"\\+|\\-|\\*|/"},{"name":"keyword.operator.arithmetic.remainder.cadence","match":"%"},{"name":"keyword.operator.bitwise.shift.cadence","match":"\u003e\u003e"},{"name":"keyword.operator.bitwise.shift.cadence","match":"\u003c\u003c"},{"name":"keyword.operator.comparison.cadence","match":"==|!=|\u003e|\u003c|\u003e=|\u003c="},{"name":"keyword.operator.coalescing.cadence","match":"\\?\\?"},{"name":"keyword.operator.logical.cadence","match":"\u0026\u0026|\\|\\|"},{"name":"keyword.operator.type.optional.cadence","match":"[?!]"}]},"parameter-clause":{"name":"meta.parameter-clause.cadence","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comments"},{"include":"#parameter-list"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.cadence"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.cadence"}}},"parameter-list":{"patterns":[{"include":"#comments"},{"match":"(_)\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)(?=\\s*:)","captures":{"1":{"name":"keyword.operator.unnamed-parameter.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":"entity.name.label.cadence"},"2":{"name":"variable.parameter.cadence"}}},{"match":"([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)(?=\\s*:)","captures":{"1":{"name":"variable.parameter.cadence"}}},{"begin":":\\s*(?!\\s)","end":"(?=[,)])","patterns":[{"include":"#type"},{"name":"invalid.illegal.extra-colon-in-parameter-list.cadence","match":":"}]}]},"path-literals":{"patterns":[{"match":"(/)((storage|public)(/[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)?)","captures":{"1":{"name":"punctuation.separator.path.cadence"},"2":{"name":"constant.other.path.cadence"}}}]},"pre-post":{"name":"meta.definition.transaction.phase.cadence","begin":"(?\u003c!\\.)\\b(pre|post)\\b\\s*(?=\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#comments"},{"begin":"\\{","end":"\\}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.phase.begin.cadence"}},"endCaptures":{"0":{"name":"punctuation.section.phase.end.cadence"}}}],"beginCaptures":{"1":{"name":"storage.modifier.phase.cadence"}}},"prepare-execute":{"name":"meta.definition.transaction.phase.cadence","begin":"(?\u003c!\\.)\\b(prepare)\\b\\s*(?=\\()","end":"(?\u003c=\\})","patterns":[{"include":"#comments"},{"include":"#parameter-clause"},{"begin":"\\{","end":"\\}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.phase.begin.cadence"}},"endCaptures":{"0":{"name":"punctuation.section.phase.end.cadence"}}}],"beginCaptures":{"1":{"name":"storage.modifier.phase.cadence"}}},"transaction":{"name":"meta.definition.transaction.cadence","begin":"\\b(transaction)\\b","end":"(?\u003c=\\))|(?\u003c=\\})","patterns":[{"include":"#comments"},{"include":"#parameter-clause"},{"name":"meta.definition.transaction.body.cadence","begin":"\\{","end":"\\}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.transaction.begin.cadence"}},"endCaptures":{"0":{"name":"punctuation.section.transaction.end.cadence"}}}],"beginCaptures":{"1":{"name":"storage.type.transaction.cadence"}}},"type":{"patterns":[{"name":"meta.type.function.cadence","begin":"(?\u003c!\\.)\\b(?:(view)\\s+)?(fun)\\b\\s*(\\()","end":"(?=,|[)\u003e}\\]]|$)","patterns":[{"include":"#comments"},{"begin":"\\G","end":"(\\))","patterns":[{"include":"#type"},{"name":"punctuation.separator.parameter.cadence","match":","}],"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.cadence"}}},{"name":"meta.function-result.cadence","begin":"(:)","end":"(?=,|[)\u003e}\\]]|$)","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.function-result.cadence"}}}],"beginCaptures":{"1":{"name":"storage.modifier.view.cadence"},"2":{"name":"storage.type.function.cadence"},"3":{"name":"punctuation.definition.parameters.begin.cadence"}}},{"include":"#comments"},{"name":"meta.type.arguments.cadence","begin":"(?\u003c!\\.)([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)\\s*(\u003c)","end":"(\u003e)","patterns":[{"include":"#type"},{"name":"punctuation.separator.type-argument.cadence","match":","}],"beginCaptures":{"1":{"name":"entity.name.type.cadence"},"2":{"name":"punctuation.definition.type-arguments.begin.cadence"}},"endCaptures":{"1":{"name":"punctuation.definition.type-arguments.end.cadence"}}},{"name":"meta.auth.entitlements.cadence","begin":"(?\u003c!\\.)\\b(auth)\\b\\s*(\\()","end":"(\\))","patterns":[{"include":"#comments"},{"name":"keyword.other.mapping.cadence","match":"\\bmapping\\b"},{"match":"(?\u003c=\\bmapping)\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}.]*)","captures":{"1":{"name":"entity.name.type.entitlement-mapping.cadence"}}},{"name":"punctuation.separator.entitlement.cadence","match":","},{"name":"punctuation.separator.entitlement.cadence","match":"\\|"},{"name":"entity.name.type.entitlement.cadence","match":"[\\p{L}_][\\p{L}_\\p{N}\\p{M}.]*"}],"beginCaptures":{"1":{"name":"keyword.other.auth.cadence"},"2":{"name":"punctuation.section.group.begin.cadence"}},"endCaptures":{"1":{"name":"punctuation.section.group.end.cadence"}}},{"begin":"\\{(?![^}]*:)(?!.*\\}\\s*\\()","end":"(\\})","patterns":[{"include":"#comments"},{"include":"#type"},{"name":"punctuation.separator.type.intersection.cadence","match":","}],"beginCaptures":{"0":{"name":"punctuation.definition.type.intersection.begin.cadence"}},"endCaptures":{"1":{"name":"punctuation.definition.type.intersection.end.cadence"}}},{"name":"meta.type.dictionary.cadence","begin":"\\{(?=\\s*[\\p{L}_][\\p{L}_\\p{N}\\p{M}.]*\\s*:)(?!.*\\}\\s*\\()","end":"(\\})","patterns":[{"include":"#comments"},{"include":"#type"},{"name":"punctuation.separator.type.dictionary.cadence","match":":"},{"name":"punctuation.separator.type.dictionary.cadence","match":","}],"beginCaptures":{"0":{"name":"punctuation.definition.type.dictionary.begin.cadence"}},"endCaptures":{"1":{"name":"punctuation.definition.type.dictionary.end.cadence"}}},{"name":"meta.type.array.cadence","begin":"\\[","end":"(\\])","patterns":[{"include":"#comments"},{"include":"#type"}],"beginCaptures":{"0":{"name":"punctuation.definition.type.array.begin.cadence"}},"endCaptures":{"1":{"name":"punctuation.definition.type.array.end.cadence"}}},{"match":"(\u0026|@)(?=\\s*\\{)","captures":{"1":{"name":"punctuation.definition.type.reference.cadence"}}},{"match":"(\u0026|@)\\s*([\\p{L}_][\\p{L}_\\p{N}\\p{M}.]*)","captures":{"1":{"name":"punctuation.definition.type.reference.cadence"},"2":{"name":"entity.name.type.cadence"}}},{"name":"entity.name.type.cadence","match":"([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)"},{"name":"keyword.operator.type.optional.cadence","match":"[?!]"}]},"var-let-declaration":{"begin":"\\b(var|let)\\b\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)","end":"=|\u003c-|\u003c-!|;|(?=//)|$","patterns":[{"include":"#comments"},{"begin":":\\s*(?!\\s)","end":"(?=//|=|\u003c-|\u003c-!|;|$)","patterns":[{"include":"#type"},{"include":"#comments"}],"beginCaptures":{"0":{"name":"keyword.operator.type.annotation.cadence"}}}],"beginCaptures":{"1":{"name":"storage.type.$1.cadence"},"2":{"name":"variable.other.declaration.cadence"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"Cangjie","scopeName":"source.cj","patterns":[{"include":"#strings"},{"include":"#mark"},{"include":"#package"},{"include":"#import"},{"include":"#quoteToken"},{"include":"#originStrings"},{"include":"#comments"},{"include":"#code"},{"include":"#module"},{"include":"#forStruct"},{"include":"#at"},{"include":"#function"},{"include":"#macro"},{"include":"#classlike-declaration"},{"include":"#variable"},{"include":"#qualified-type"},{"include":"#type"}],"repository":{"at":{"patterns":[{"name":"keyword.control.Cangjie","match":"@"}]},"block":{"begin":"\\{","end":"\\}","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#keywords"},{"include":"#function"},{"include":"#variable"},{"include":"#constants"},{"include":"#block"}]},"classlike-declaration":{"patterns":[{"name":"support.class.Cangjie","begin":"\\b(class|interface|struct|enum|extend|type)\\s+","end":"(?=\\b[0-9])|(?=\\b(VArray|const|differentiable|grad|vjp|valWithGrad|adjoint|adjointOf|when|except|include|primal|stage|main|false|IntNative|mut|Nothing|prop|true|UIntNative|unsafe|Int8|Int16|Int32|Int64|UInt8|UInt16|UInt32|UInt64|Float16|Float32|Float64|Rune|Bool|Unit|struct|enum|This|package|import|class|interface|extend|func|let|var|type|init|this|super|if|else|case|try|catch|finally|for|do|while|throw|return|continue|break|is|as|in|match|where|spawn|synchronized|macro|quote|static|internal|external|operator|foreign|inout)\\s)|`[a-zA-Z_][a-zA-Z0-9_]*`|(?=[^\\w\\s])|\\b[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"support.function.Cangjie","begin":"\\b(func)\\s+","end":"(?=\\b[0-9])|(?=\\b(VArray|const|differentiable|grad|vjp|valWithGrad|adjoint|adjointOf|when|except|include|primal|stage|main|false|IntNative|mut|Nothing|prop|true|UIntNative|unsafe|Int8|Int16|Int32|Int64|UInt8|UInt16|UInt32|UInt64|Float16|Float32|Float64|Rune|Bool|Unit|struct|enum|This|package|import|class|interface|extend|func|let|var|type|init|this|super|if|else|case|try|catch|finally|for|do|while|throw|return|continue|break|is|as|in|match|where|spawn|synchronized|macro|quote|static|internal|external|operator|foreign|inout)\\s)|`[a-zA-Z_][a-zA-Z0-9_]*`|(?=[^\\w\\s])|\\b[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"support.variable.Cangjie","begin":"\\b(let|var)\\s+","end":"(?=\\b[0-9])|(?=\\b(VArray|const|differentiable|grad|vjp|valWithGrad|adjoint|adjointOf|when|except|include|primal|stage|main|false|IntNative|mut|Nothing|prop|true|UIntNative|unsafe|Int8|Int16|Int32|Int64|UInt8|UInt16|UInt32|UInt64|Float16|Float32|Float64|Rune|Bool|Unit|struct|enum|This|package|import|class|interface|extend|func|let|var|type|init|this|super|if|else|case|try|catch|finally|for|do|while|throw|return|continue|break|is|as|in|match|where|spawn|synchronized|macro|quote|static|internal|external|operator|foreign|inout)\\s)|`[a-zA-Z_][a-zA-Z0-9_]*`|(?=[^\\w\\s])|\\b[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"support.class.Cangjie","match":"\\b[a-zA-Z_][a-zA-Z0-9_]*(?=\\s*\\\u003c[\\*\\\u003c\\,\\w\\s]*\\\u003e)"},{"name":"support.class.Cangjie","match":"\\b[a-zA-Z_][a-zA-Z0-9_]*(?=\\s*\u003c:[\\s*[a-zA-Z_][a-zA-Z0-9_]*\\s*\u0026\\s*]*)"},{"name":"keyword.operator.Cangjie","begin":"\\b(case)\\s+","end":"(?=(\\=\\\u003e))|[\\n\\r]","patterns":[{"include":"#memberAccess"},{"include":"#classlike-declaration"},{"include":"#function"},{"include":"#strings"},{"include":"#keywords"},{"include":"#qualified-type"},{"include":"#constants"},{"include":"#type"},{"include":"#variable"}]}]},"code":{"patterns":[{"include":"#keywords"},{"include":"#constants"},{"include":"#strings"}]},"comments":{"patterns":[{"name":"comment.block.Cangjie","begin":"(/\\*)|(/\\*/\\*)","end":"(\\*/)","patterns":[{"name":"comment.block.Cangjie","begin":"(/\\*)|(/\\*/\\*)","end":"(\\*/)"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.Cangjie"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.Cangjie"}}},{"name":"comment.line.Cangjie","begin":"//","end":"\n"}]},"constants":{"patterns":[{"name":"constant.numeric.binary.integer.Cangjie","match":"\\b0[bB][01]([01_]*)?(u8|u16|u32|u64|i8|i16|i32|i64)?\\b"},{"name":"constant.numeric.octal.integer.Cangjie","match":"\\b0[oO][0-7]([0-7_]*)?(u8|u16|u32|u64|i8|i16|i32|i64)?\\b"},{"name":"constant.numeric.decimal.integer.Cangjie","match":"\\b[0-9]([0-9_]*)?(u8|u16|u32|u64|i8|i16|i32|i64)?\\b"},{"name":"constant.numeric.hexadecimal.integer.Cangjie","match":"\\b0[xX][0-9a-fA-F]([0-9a-fA-F_]*)?(u8|u16|u32|u64|i8|i16|i32|i64)?(?!\\.)\\b"},{"name":"constant.numeric.decimal.float.Cangjie","match":"(\\b([0-9]([0-9_]*)?[eE][-]?[0-9]([0-9_]*)?)|((?\u003c!\\.)\\.[0-9]([0-9_]*)?([eE][-]?[0-9]([0-9_]*)?)?)|\\b([0-9]([0-9_]*)?\\.[0-9]([0-9_]*)?([eE][-]?[0-9]([0-9_]*)?)?))(f16|f32|f64)?"},{"name":"constant.numeric.hexadecimal.float.Cangjie","match":"\\b0[xX](\\.[0-9a-fA-F]([0-9a-fA-F_]*)?|[0-9a-fA-F]([0-9a-fA-F_]*)?\\.[0-9a-fA-F]([0-9a-fA-F_]*)?|[0-9a-fA-F]([0-9a-fA-F_]*)?)([pP][-]?[0-9]([0-9_]*)?)"},{"name":"constant.character.escape.string.byte.Cangjie","match":"\\bb'([^'\\\\]|\\\\[tbrn'\\\\\"fv0]|\\\\u\\{[0-9a-fA-F]{1,2}\\})'"},{"name":"constant.character.escape.string.byteArray.Cangjie","match":"\\bb\"([^\"\\\\]|\\\\[tbrn'\\\\\"fv0]|\\\\u\\{[0-9a-fA-F]{1,2}\\})*\""}]},"escape_string":{"name":"constant.character.escape.string.byteArray.Cangjie","match":"(\\\\\\\\)|(\\\\u\\{[0-9a-fA-F]{1,8}\\})|(\\\\[a|b|t|r|n|\"|\\'|f|v|\\$|0])"},"function":{"patterns":[{"name":"support.function.Cangjie","match":"\\b[a-zA-Z_][a-zA-Z0-9_]*(?=\\s*\\(.*)"},{"name":"support.function.Cangjie","match":"\\b[a-zA-Z_][a-zA-Z0-9_]*(?=\\s*\\\u003c[\\*\\\u003c\\,\\w\\s]*\\\u003e\\s*\\(.*)"},{"name":"support.function.Cangjie","match":"\\boperator\\s+func\\s+((\\(\\))|(\\[\\])|(\\*\\*)|(\\\u003c\\\u003c)|(\\\u003e\\\u003e)|(\\\u003e\\=)|(\\\u003c\\=)|(\\!\\=)|(\\=\\=)|\\!|\\-|\\*|\\/|\\%|\\+|\\\u003c|\\\u003e|\\\u0026|\\^|\\|)"},{"name":"support.function.Cangjie","match":"\\b(grad|@vjp|adjointOf|valWithGrad)\\([a-zA-Z_][a-zA-Z0-9_]*"}]},"import":{"patterns":[{"name":"keyword.control.Cangjie","contentName":"storage.type.import.Cangjie","begin":"\\b(import)\\b\\s*\\b\\s","end":"(?=\\b[0-9])|(?=[^\\w\\s.,`*{}])|(?=\\b(public|internal|protected|private|override|abstract|open|redef|sealed)\\b(\\x20)*[^.,\\s])|(?=\\b(VArray|const|differentiable|grad|vjp|valWithGrad|adjoint|adjointOf|when|except|include|primal|stage|main|false|IntNative|mut|Nothing|prop|true|UIntNative|unsafe|Int8|Int16|Int32|Int64|UInt8|UInt16|UInt32|UInt64|Float16|Float32|Float64|Rune|Bool|Unit|struct|enum|This|package|import|class|interface|extend|func|let|var|type|init|this|super|if|else|case|try|catch|finally|for|do|while|throw|return|continue|break|is|in|match|where|spawn|synchronized|macro|quote|static|external|operator|foreign|inout)\\s)","patterns":[{"name":"keyword.control.char","begin":"^(import)","end":"\\n|[^(\\s(as)\\s)]","patterns":[{"name":"constant.character.escape.char","begin":"(\\s)","end":"(\\s)"}]},{"include":"#comments"},{"name":"invalid.illegal.character_not_allowed_here.Cangjie","match":"(?\u003c=\\.)\\s*\\.|\\.(?=\\s*;)"},{"name":"invalid.illegal.character_not_allowed_here.Cangjie","match":"(?\u003c!\\.)\\s*\\*"},{"name":"invalid.illegal.character_not_allowed_here.Cangjie","match":"(?\u003c!_)_(?=\\s*(\\.|;))|\\b\\d+|-+"},{"name":"invalid.illegal.character_not_allowed_here.Cangjie","match":"(?x)\\b(?\u003c!\\$)\n(false|IntNative|mut|Nothing|prop|true|UIntNative|unsafe|Int8|Int16|Int32|Int64|UInt8|UInt16|UInt32|UInt64|Float16|Float32|Float64|Rune|Bool|Unit|struct|enum|This|package|import|class|interface|extend|func|let|var|type|init|this|super|if|else|case|try|catch|finally|for|do|while|throw|return|continue|break|is|in|match|where|spawn|synchronized|macro|quote|static|external|operator|foreign)\\b"},{"name":"punctuation.separator.Cangjie","match":"\\.|\\*"},{"name":"variable.language.wildcard.Cangjie","match":"\\*"},{"include":"#keywords_to_identifier"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.control.import.Cangjie"}},"endCaptures":{"1":{"name":"punctuation.terminator.Cangjie"}}}]},"insertValue":{"patterns":[{"name":"keyword.operator.Cangjie","begin":"\\$\\{","end":"\\}|\\n|\\r","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#keywords"},{"include":"#function"},{"include":"#variable"},{"include":"#constants"},{"include":"#block"}]}]},"keywords":{"patterns":[{"name":"keyword.control.Cangjie","match":"\\b(VArray|const|differentiable|grad|vjp|valWithGrad|adjoint|adjointOf|when|except|include|primal|stage|main|false|IntNative|mut|Nothing|prop|redef|true|UIntNative|unsafe|Int8|Int16|Int32|Int64|UInt8|UInt16|UInt32|UInt64|Float16|Float32|Float64|Rune|Bool|Unit|struct|enum|This|package|import|class|interface|extend|func|let|var|sealed|type|init|this|super|if|else|case|try|catch|finally|for|do|while|throw|return|continue|break|is|as|in|match|where|spawn|synchronized|macro|quote|static|public|internal|private|protected|internal|external|override|abstract|open|operator|foreign|inout)\\b"},{"name":"keyword.control.Cangjie","match":"(\\;|!in)"},{"name":"support.class.Cangjie.keyword","match":"(\\b(Option|String)\\b)"}]},"keywords_to_identifier":{"patterns":[{"match":"\\b(public|internal|private|protected|override|abstract|open|redef|sealed)\\b"}]},"macro":{"patterns":[{"name":"support.function.Cangjie.macro","match":"(?\u003c=(@))[A-Za-z_][A-Za-z0-9_.]*"}]},"mark":{"name":"support.variable.Cangjie","match":"\\b(`?\\w+`?)(?=\\s*:)"},"memberAccess":{"patterns":[{"name":"support.class.Cangjie","match":"\\b(([a-zA-Z_][a-zA-Z0-9_]*)|(`[a-zA-Z_][a-zA-Z0-9_]*`))(?=\\.)"}]},"originStrings":{"patterns":[{"name":"string.quoted.double.Cangjie","contentName":"punctuation.definition.string.begin.Cangjie","begin":"(?\u003c!#)(#{2})+\"","end":"\"(?\u003c!#)(#{2})+","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.Cangjie"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.Cangjie"}}},{"name":"string.quoted.double.Cangjie","contentName":"punctuation.definition.string.begin.Cangjie","begin":"(?\u003c!#)#(#{2})*\"","end":"\"(?\u003c!#)#(#{2})*","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.Cangjie"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.Cangjie"}}}]},"package":{"patterns":[{"name":"keyword.control.Cangjie","contentName":"storage.type.package.Cangjie","begin":"\\b(package)\\b\\s*","end":"(?=[^.\\w\\s])|\\R|\\Z|\n","patterns":[{"include":"#keywords_to_identifier"},{"include":"#comments"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.control.package.Cangjie"}},"endCaptures":{"1":{"name":"punctuation.terminator.Cangjie"}}}]},"qualified-type":{"patterns":[{"begin":":","end":"(?=[^*\\\u003c,\\|\\w\\s]|\\R|\\n)","patterns":[{"include":"#mark"},{"include":"#keywords"},{"include":"#constants"},{"name":"support.variable.Cangjie","match":"(?\u003c=,)\\s*([a-zA-Z_][a-zA-Z0-9_]*)\\s*(?=(!?)\\s*:)"},{"name":"support.class.Cangjie","match":"`[a-zA-Z_][a-zA-Z0-9_]*`|[a-zA-Z_][a-zA-Z0-9_]*"}]}]},"quoteToken":{"begin":"\\bquote\\s*\\(","end":"(?\u003c!\\\\)\\)","patterns":[{"include":"#quoteToken_inside"},{"include":"#quoteToken_content"}]},"quoteToken_content":{"name":"string.quoted.single.Cangjie","match":".","patterns":[{"include":"#quoteToken_inside"}]},"quoteToken_inside":{"name":"string.quoted.single.Cangjie","begin":"(?\u003c!\\\\)\\(","end":"(?\u003c!\\\\)\\)","patterns":[{"include":"#quoteToken_inside"}]},"string_mutil":{"patterns":[{"name":"string.quoted.double.Cangjie","begin":"(?\u003c!\\\\)\"\"\"","end":"\"\"\"","patterns":[{"include":"#insertValue"},{"include":"#escape_string"}]}]},"string_single":{"patterns":[{"name":"string.quoted.single.Cangjie","begin":"(?\u003c!\\\\)(r)?\\'","end":"\\'|\\n|\\r","patterns":[{"include":"#escape_string"},{"include":"#insertValue"}]},{"name":"string.quoted.single.Cangjie","match":"(r)?\\'(?\u003c!\\\\)[\\s\\S](?\u003c!\\\\)\\'"},{"name":"string.quoted.double.Cangjie","begin":"(?\u003c!\\\\)(r)?\"","end":"\"|\\n|\\r","patterns":[{"include":"#insertValue"},{"include":"#escape_string"}]},{"name":"string.quoted.double.Cangjie","begin":"(?\u003c!\\\\)J\"","end":"\"|\\n|\\r","patterns":[{"include":"#escape_string"}]},{"name":"constant.character.escape.string.byteArray.Cangjie","begin":"(?\u003c!\\\\)b\"","end":"\"|\\n|\\r","patterns":[{"include":"#escape_string"}]},{"name":"constant.character.escape.string.byteArray.Cangjie","begin":"(?\u003c!\\\\)b'","end":"'|\\n|\\r","patterns":[{"include":"#escape_string"}]}]},"strings":{"patterns":[{"include":"#string_mutil"},{"include":"#string_single"}]},"type":{"patterns":[{"begin":"(?\u003c!\u003c)\u003c","end":"(?=[^,*\\\u003c\\\u003e\\w\\s]|[\\n\\r])","patterns":[{"include":"#keywords"},{"include":"#strings"},{"name":"support.variable.Cangjie","match":"[a-zA-Z_][a-zA-Z0-9_]*\\s*(?=[\\)|\\||\\\u0026|\\n|;])"},{"name":"support.class.Cangjie","match":"`[a-zA-Z_][a-zA-Z0-9_]*`|[a-zA-Z_][a-zA-Z0-9_]*"},{"include":"#function"},{"include":"#constants"}]}]},"variable":{"patterns":[{"name":"support.variable.Cangjie","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*|`[a-zA-Z_][a-zA-Z0-9_]*`)"}]}}}
@@ -1 +1 @@
1
- {"name":"clarity","scopeName":"source.clar","patterns":[{"include":"#expression"},{"include":"#define-constant"},{"include":"#define-data-var"},{"include":"#define-map"},{"include":"#define-function"},{"include":"#define-fungible-token"},{"include":"#define-non-fungible-token"},{"include":"#define-trait"},{"include":"#use-trait"}],"repository":{"built-in-func":{"name":"meta.built-in-function","begin":"(?x) (\\() \\s* (\\-|\\+|\u003c\\=|\u003e\\=|\u003c|\u003e|\\*|/|and|append|as-contract|as-max-len\\?|asserts!|at-block|begin|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|buff-to-int-be|buff-to-int-le|buff-to-uint-be|buff-to-uint-le|concat|contract-call\\?|contract-of|default-to|element-at|element-at\\?|filter|fold|from-consensus-buff\\?|ft-burn\\?|ft-get-balance|ft-get-supply|ft-mint\\?|ft-transfer\\?|get-block-info\\?|get-burn-block-info\\?|get-stacks-block-info\\?|get-tenure-info\\?|hash160|if|impl-trait|index-of|index-of\\?|int-to-ascii|int-to-utf8|is-eq|is-err|is-none|is-ok|is-some|is-standard|keccak256|len|log2|map|match|merge|mod|nft-burn\\?|nft-get-owner\\?|nft-mint\\?|nft-transfer\\?|not|or|pow|principal-construct\\?|principal-destruct\\?|principal-of\\?|print|replace-at\\?|secp256k1-recover\\?|secp256k1-verify|sha256|sha512|sha512/256|slice\\?|sqrti|string-to-int\\?|string-to-uint\\?|stx-account|stx-burn\\?|stx-get-balance|stx-transfer-memo\\?|stx-transfer\\?|to-consensus-buff\\?|to-int|to-uint|try!|unwrap!|unwrap-err!|unwrap-err-panic|unwrap-panic|xor) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.built-in-function.start.clarity"},"2":{"name":"keyword.declaration.built-in-function.clarity"}},"endCaptures":{"1":{"name":"punctuation.built-in-function.end.clarity"}}},"comment":{"name":"comment.line.semicolon.clarity","match":"(?x) (?\u003c=^|[()\\[\\]{}\",'`;\\s]) (;) .* $"},"data-type":{"patterns":[{"include":"#comment"},{"name":"entity.name.type.numeric.clarity","match":"\\b(uint|int)\\b"},{"name":"entity.name.type.principal.clarity","match":"\\b(principal)\\b"},{"name":"entity.name.type.bool.clarity","match":"\\b(bool)\\b"},{"match":"(?x) (\\() \\s* (?:(string-ascii|string-utf8)\\s+(\\d+)) \\s* (\\))","captures":{"1":{"name":"punctuation.string_type-def.start.clarity"},"2":{"name":"entity.name.type.string_type.clarity"},"3":{"name":"constant.numeric.string_type-len.clarity"},"4":{"name":"punctuation.string_type-def.end.clarity"}}},{"match":"(?x) (\\() \\s* (buff)\\s+(\\d+)\\s* (\\))","captures":{"1":{"name":"punctuation.buff-def.start.clarity"},"2":{"name":"entity.name.type.buff.clarity"},"3":{"name":"constant.numeric.buf-len.clarity"},"4":{"name":"punctuation.buff-def.end.clarity"}}},{"name":"meta.optional-def","begin":"(?x) (\\() \\s* (optional)\\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.optional-def.start.clarity"},"2":{"name":"storage.type.modifier"}},"endCaptures":{"1":{"name":"punctuation.optional-def.end.clarity"}}},{"name":"meta.response-def","begin":"(?x) (\\() \\s* (response)\\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.response-def.start.clarity"},"2":{"name":"storage.type.modifier"}},"endCaptures":{"1":{"name":"punctuation.response-def.end.clarity"}}},{"name":"meta.list-def","begin":"(?x) (\\() \\s* (list) \\s+ (\\d+) \\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.list-def.start.clarity"},"2":{"name":"entity.name.type.list.clarity"},"3":{"name":"constant.numeric.list-len.clarity"}},"endCaptures":{"1":{"name":"punctuation.list-def.end.clarity"}}},{"name":"meta.tuple-def","begin":"(\\{)","end":"(\\})","patterns":[{"name":"entity.name.tag.tuple-data-type-key.clarity","match":"([a-zA-Z][\\w\\?\\!\\-]*)(?=:)"},{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.tuple-def.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.tuple-def.end.clarity"}}}]},"define-constant":{"name":"meta.define-constant","begin":"(?x) (\\() \\s* (define-constant) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.define-constant.start.clarity"},"2":{"name":"keyword.declaration.define-constant.clarity"},"3":{"name":"entity.name.constant-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-constant.end.clarity"}}},"define-data-var":{"name":"meta.define-data-var","begin":"(?x) (\\() \\s* (define-data-var) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.define-data-var.start.clarity"},"2":{"name":"keyword.declaration.define-data-var.clarity"},"3":{"name":"entity.name.data-var-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-data-var.end.clarity"}}},"define-function":{"name":"meta.define-function","begin":"(?x) (\\() \\s* (define-(?:public|private|read-only)) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"name":"meta.define-function-signature","begin":"(?x) (\\() \\s* ([a-zA-Z][\\w\\?\\!\\-]*) \\s*","end":"(\\))","patterns":[{"name":"meta.function-argument","begin":"(?x) (\\() \\s* ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.function-argument.start.clarity"},"2":{"name":"variable.parameter.clarity"}},"endCaptures":{"1":{"name":"punctuation.function-argument.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.function-signature.start.clarity"},"2":{"name":"entity.name.function.clarity"}},"endCaptures":{"1":{"name":"punctuation.function-signature.end.clarity"}}},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.define-function.start.clarity"},"2":{"name":"keyword.declaration.define-function.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-function.end.clarity"}}},"define-fungible-token":{"match":"(?x) (\\() \\s* (define-fungible-token) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) (?:\\s+(u\\d+))?","captures":{"1":{"name":"punctuation.define-fungible-token.start.clarity"},"2":{"name":"keyword.declaration.define-fungible-token.clarity"},"3":{"name":"entity.name.fungible-token-name.clarity variable.other.clarity"},"4":{"name":"constant.numeric.fungible-token-total-supply.clarity"},"5":{"name":"punctuation.define-fungible-token.end.clarity"}}},"define-map":{"name":"meta.define-map","begin":"(?x) (\\() \\s* (define-map) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.define-map.start.clarity"},"2":{"name":"keyword.declaration.define-map.clarity"},"3":{"name":"entity.name.map-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-map.end.clarity"}}},"define-non-fungible-token":{"name":"meta.define-non-fungible-token","begin":"(?x) (\\() \\s* (define-non-fungible-token) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.define-non-fungible-token.start.clarity"},"2":{"name":"keyword.declaration.define-non-fungible-token.clarity"},"3":{"name":"entity.name.non-fungible-token-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-non-fungible-token.end.clarity"}}},"define-trait":{"name":"meta.define-trait","begin":"(?x) (\\() \\s* (define-trait) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"name":"meta.define-trait-body","begin":"(?x) (\\() \\s*","end":"(\\))","patterns":[{"include":"#expression"},{"name":"meta.trait-function","begin":"(?x) (\\() \\s* ([a-zA-Z][\\w\\!\\?\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"},{"name":"meta.trait-function-args","begin":"(?x) (\\() \\s*","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.trait-function-args.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.trait-function-args.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.trait-function.start.clarity"},"2":{"name":"entity.name.function.clarity"}},"endCaptures":{"1":{"name":"punctuation.trait-function.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.define-trait-body.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-trait-body.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.define-trait.start.clarity"},"2":{"name":"keyword.declaration.define-trait.clarity"},"3":{"name":"entity.name.trait-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-trait.end.clarity"}}},"expression":{"patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#literal"},{"include":"#let-func"},{"include":"#built-in-func"},{"include":"#get-set-func"}]},"get-set-func":{"name":"meta.get-set-func","begin":"(?x) (\\() \\s* (var-get|var-set|map-get\\?|map-set|map-insert|map-delete|get) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s*","end":"(\\))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.get-set-func.start.clarity"},"2":{"name":"keyword.control.clarity"},"3":{"name":"variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.get-set-func.end.clarity"}}},"keyword":{"name":"constant.language.clarity","match":"(?\u003c!\\S)(?!-)\\b(?:block-height|burn-block-height|chain-id|contract-caller|is-in-regtest|stacks-block-height|stx-liquid-supply|tenure-height|tx-sender|tx-sponsor?)\\b(?!\\s*-)"},"let-func":{"name":"meta.let-function","begin":"(?x) (\\() \\s* (let) \\s*","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"},{"name":"meta.let-var","begin":"(?x) (\\() \\s*","end":"(\\))","patterns":[{"name":"meta.let-local-var","begin":"(?x) (\\() ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.let-local-var.start.clarity"},"2":{"name":"entity.name.let-local-var-name.clarity variable.parameter.clarity"}},"endCaptures":{"1":{"name":"punctuation.let-local-var.end.clarity"}}},{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.let-var.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.let-var.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.let-function.start.clarity"},"2":{"name":"keyword.declaration.let-function.clarity"}},"endCaptures":{"1":{"name":"punctuation.let-function.end.clarity"}}},"literal":{"patterns":[{"include":"#number-literal"},{"include":"#bool-literal"},{"include":"#string-literal"},{"include":"#tuple-literal"},{"include":"#principal-literal"},{"include":"#list-literal"},{"include":"#optional-literal"},{"include":"#response-literal"}],"repository":{"bool-literal":{"name":"constant.language.bool.clarity","match":"(?\u003c!\\S)(?!-)\\b(true|false)\\b(?!\\s*-)"},"list-literal":{"name":"meta.list","begin":"(?x) (\\() \\s* (list) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.list.start.clarity"},"2":{"name":"entity.name.type.list.clarity"}},"endCaptures":{"1":{}}},"number-literal":{"patterns":[{"name":"constant.numeric.uint.clarity","match":"(?\u003c!\\S)(?!-)\\bu\\d+\\b(?!\\s*-)"},{"name":"constant.numeric.int.clarity","match":"(?\u003c!\\S)(?!-)\\b\\d+\\b(?!\\s*-)"},{"name":"constant.numeric.hex.clarity","match":"(?\u003c!\\S)(?!-)\\b0x[0-9a-f]*\\b(?!\\s*-)"}]},"optional-literal":{"patterns":[{"name":"constant.language.none.clarity","match":"(?\u003c!\\S)(?!-)\\b(none)\\b(?!\\s*-)"},{"name":"meta.some","begin":"(?x) (\\() \\s* (some) \\s+","end":"(\\))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.some.start.clarity"},"2":{"name":"constant.language.some.clarity"}},"endCaptures":{"1":{"name":"punctuation.some.end.clarity"}}}]},"principal-literal":{"name":"constant.other.principal.clarity","match":"(?x) \\'[0-9A-Z]{28,41}(:?\\.[a-zA-Z][a-zA-Z0-9\\-]+){0,2} | (\\.[a-zA-Z][a-zA-Z0-9\\-]*){1,2} (?=[\\s(){},]|$)"},"response-literal":{"name":"meta.response","begin":"(?x) (\\() \\s* (ok|err) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.response.start.clarity"},"2":{"name":"constant.language.ok-err.clarity"}},"endCaptures":{"1":{"name":"punctuation.response.end.clarity"}}},"string-literal":{"patterns":[{"name":"string.quoted.double.clarity","begin":"(u?)(\")","end":"\"","patterns":[{"name":"constant.character.escape.quote","match":"\\\\."}],"beginCaptures":{"1":{"name":"string.quoted.utf8.clarity"},"2":{"name":"punctuation.definition.string.begin.clarity"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.clarity"}}}]},"tuple-literal":{"name":"meta.tuple","begin":"(\\{)","end":"(\\})","patterns":[{"name":"entity.name.tag.tuple-key.clarity","match":"([a-zA-Z][\\w\\?\\!\\-]*)(?=:)"},{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.tuple.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.tuple.end.clarity"}}}}},"use-trait":{"name":"meta.use-trait","begin":"(?x) (\\() \\s* (use-trait) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#literal"}],"beginCaptures":{"1":{"name":"punctuation.use-trait.start.clarity"},"2":{"name":"keyword.declaration.use-trait.clarity"},"3":{"name":"entity.name.trait-alias.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.use-trait.end.clarity"}}},"user-func":{"name":"meta.user-function","begin":"(?x) (\\() \\s* (([a-zA-Z][\\w\\?\\!\\-]*)) \\s*","end":"(\\))","patterns":[{"include":"#expression"},{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.user-function.start.clarity"},"2":{"name":"entity.name.function.clarity"}},"endCaptures":{"1":{"name":"punctuation.user-function.end.clarity"}}}}}
1
+ {"name":"clarity","scopeName":"source.clar","patterns":[{"include":"#expression"},{"include":"#define-constant"},{"include":"#define-data-var"},{"include":"#define-map"},{"include":"#define-function"},{"include":"#define-fungible-token"},{"include":"#define-non-fungible-token"},{"include":"#define-trait"},{"include":"#use-trait"}],"repository":{"built-in-func":{"name":"meta.built-in-function","begin":"(?x) (\\() \\s* (\\-|\\+|\u003c\\=|\u003e\\=|\u003c|\u003e|\\*|/|and|append|as-contract|as-contract\\?|as-max-len\\?|asserts!|at-block|begin|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|buff-to-int-be|buff-to-int-le|buff-to-uint-be|buff-to-uint-le|concat|contract-call\\?|contract-of|default-to|element-at|element-at\\?|filter|fold|from-consensus-buff\\?|ft-burn\\?|ft-get-balance|ft-get-supply|ft-mint\\?|ft-transfer\\?|get-block-info\\?|get-burn-block-info\\?|get-stacks-block-info\\?|get-tenure-info\\?|hash160|if|impl-trait|index-of|index-of\\?|int-to-ascii|int-to-utf8|is-eq|is-err|is-none|is-ok|is-some|is-standard|keccak256|len|log2|map|match|merge|mod|nft-burn\\?|nft-get-owner\\?|nft-mint\\?|nft-transfer\\?|not|or|pow|principal-construct\\?|principal-destruct\\?|principal-of\\?|print|replace-at\\?|secp256k1-recover\\?|secp256k1-verify|sha256|sha512|sha512/256|slice\\?|sqrti|string-to-int\\?|string-to-uint\\?|to-ascii\\?|stx-account|stx-burn\\?|stx-get-balance|stx-transfer-memo\\?|stx-transfer\\?|to-consensus-buff\\?|to-int|to-uint|try!|unwrap!|unwrap-err!|unwrap-err-panic|unwrap-panic|xor|contract-hash\\?|restrict-assets\\?|with-stx|with-ft|with-nft|with-stacking|with-all-assets-unsafe|secp256r1-recover\\?|secp256r1-verify) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.built-in-function.start.clarity"},"2":{"name":"keyword.declaration.built-in-function.clarity"}},"endCaptures":{"1":{"name":"punctuation.built-in-function.end.clarity"}}},"comment":{"name":"comment.line.semicolon.clarity","match":"(?x) (?\u003c=^|[()\\[\\]{}\",'`;\\s]) (;) .* $"},"data-type":{"patterns":[{"include":"#comment"},{"name":"entity.name.type.numeric.clarity","match":"\\b(uint|int)\\b"},{"name":"entity.name.type.principal.clarity","match":"\\b(principal)\\b"},{"name":"entity.name.type.bool.clarity","match":"\\b(bool)\\b"},{"match":"(?x) (\\() \\s* (?:(string-ascii|string-utf8)\\s+(\\d+)) \\s* (\\))","captures":{"1":{"name":"punctuation.string_type-def.start.clarity"},"2":{"name":"entity.name.type.string_type.clarity"},"3":{"name":"constant.numeric.string_type-len.clarity"},"4":{"name":"punctuation.string_type-def.end.clarity"}}},{"match":"(?x) (\\() \\s* (buff)\\s+(\\d+)\\s* (\\))","captures":{"1":{"name":"punctuation.buff-def.start.clarity"},"2":{"name":"entity.name.type.buff.clarity"},"3":{"name":"constant.numeric.buf-len.clarity"},"4":{"name":"punctuation.buff-def.end.clarity"}}},{"name":"meta.optional-def","begin":"(?x) (\\() \\s* (optional)\\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.optional-def.start.clarity"},"2":{"name":"storage.type.modifier"}},"endCaptures":{"1":{"name":"punctuation.optional-def.end.clarity"}}},{"name":"meta.response-def","begin":"(?x) (\\() \\s* (response)\\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.response-def.start.clarity"},"2":{"name":"storage.type.modifier"}},"endCaptures":{"1":{"name":"punctuation.response-def.end.clarity"}}},{"name":"meta.list-def","begin":"(?x) (\\() \\s* (list) \\s+ (\\d+) \\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.list-def.start.clarity"},"2":{"name":"entity.name.type.list.clarity"},"3":{"name":"constant.numeric.list-len.clarity"}},"endCaptures":{"1":{"name":"punctuation.list-def.end.clarity"}}},{"name":"meta.tuple-def","begin":"(\\{)","end":"(\\})","patterns":[{"name":"entity.name.tag.tuple-data-type-key.clarity","match":"([a-zA-Z][\\w\\?\\!\\-]*)(?=:)"},{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.tuple-def.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.tuple-def.end.clarity"}}}]},"define-constant":{"name":"meta.define-constant","begin":"(?x) (\\() \\s* (define-constant) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.define-constant.start.clarity"},"2":{"name":"keyword.declaration.define-constant.clarity"},"3":{"name":"entity.name.constant-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-constant.end.clarity"}}},"define-data-var":{"name":"meta.define-data-var","begin":"(?x) (\\() \\s* (define-data-var) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.define-data-var.start.clarity"},"2":{"name":"keyword.declaration.define-data-var.clarity"},"3":{"name":"entity.name.data-var-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-data-var.end.clarity"}}},"define-function":{"name":"meta.define-function","begin":"(?x) (\\() \\s* (define-(?:public|private|read-only)) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"name":"meta.define-function-signature","begin":"(?x) (\\() \\s* ([a-zA-Z][\\w\\?\\!\\-]*) \\s*","end":"(\\))","patterns":[{"name":"meta.function-argument","begin":"(?x) (\\() \\s* ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.function-argument.start.clarity"},"2":{"name":"variable.parameter.clarity"}},"endCaptures":{"1":{"name":"punctuation.function-argument.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.function-signature.start.clarity"},"2":{"name":"entity.name.function.clarity"}},"endCaptures":{"1":{"name":"punctuation.function-signature.end.clarity"}}},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.define-function.start.clarity"},"2":{"name":"keyword.declaration.define-function.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-function.end.clarity"}}},"define-fungible-token":{"match":"(?x) (\\() \\s* (define-fungible-token) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) (?:\\s+(u\\d+))?","captures":{"1":{"name":"punctuation.define-fungible-token.start.clarity"},"2":{"name":"keyword.declaration.define-fungible-token.clarity"},"3":{"name":"entity.name.fungible-token-name.clarity variable.other.clarity"},"4":{"name":"constant.numeric.fungible-token-total-supply.clarity"},"5":{"name":"punctuation.define-fungible-token.end.clarity"}}},"define-map":{"name":"meta.define-map","begin":"(?x) (\\() \\s* (define-map) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.define-map.start.clarity"},"2":{"name":"keyword.declaration.define-map.clarity"},"3":{"name":"entity.name.map-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-map.end.clarity"}}},"define-non-fungible-token":{"name":"meta.define-non-fungible-token","begin":"(?x) (\\() \\s* (define-non-fungible-token) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.define-non-fungible-token.start.clarity"},"2":{"name":"keyword.declaration.define-non-fungible-token.clarity"},"3":{"name":"entity.name.non-fungible-token-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-non-fungible-token.end.clarity"}}},"define-trait":{"name":"meta.define-trait","begin":"(?x) (\\() \\s* (define-trait) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"name":"meta.define-trait-body","begin":"(?x) (\\() \\s*","end":"(\\))","patterns":[{"include":"#expression"},{"name":"meta.trait-function","begin":"(?x) (\\() \\s* ([a-zA-Z][\\w\\!\\?\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"},{"name":"meta.trait-function-args","begin":"(?x) (\\() \\s*","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.trait-function-args.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.trait-function-args.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.trait-function.start.clarity"},"2":{"name":"entity.name.function.clarity"}},"endCaptures":{"1":{"name":"punctuation.trait-function.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.define-trait-body.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-trait-body.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.define-trait.start.clarity"},"2":{"name":"keyword.declaration.define-trait.clarity"},"3":{"name":"entity.name.trait-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-trait.end.clarity"}}},"expression":{"patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#literal"},{"include":"#let-func"},{"include":"#built-in-func"},{"include":"#get-set-func"}]},"get-set-func":{"name":"meta.get-set-func","begin":"(?x) (\\() \\s* (var-get|var-set|map-get\\?|map-set|map-insert|map-delete|get) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s*","end":"(\\))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.get-set-func.start.clarity"},"2":{"name":"keyword.control.clarity"},"3":{"name":"variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.get-set-func.end.clarity"}}},"keyword":{"name":"constant.language.clarity","match":"(?\u003c!\\S)(?!-)\\b(?:block-height|burn-block-height|chain-id|contract-caller|is-in-regtest|stacks-block-height|stx-liquid-supply|tenure-height|tx-sender|tx-sponsor?|current-contract|stacks-block-time)\\b(?!\\s*-)"},"let-func":{"name":"meta.let-function","begin":"(?x) (\\() \\s* (let) \\s*","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"},{"name":"meta.let-var","begin":"(?x) (\\() \\s*","end":"(\\))","patterns":[{"name":"meta.let-local-var","begin":"(?x) (\\() ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.let-local-var.start.clarity"},"2":{"name":"entity.name.let-local-var-name.clarity variable.parameter.clarity"}},"endCaptures":{"1":{"name":"punctuation.let-local-var.end.clarity"}}},{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.let-var.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.let-var.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.let-function.start.clarity"},"2":{"name":"keyword.declaration.let-function.clarity"}},"endCaptures":{"1":{"name":"punctuation.let-function.end.clarity"}}},"literal":{"patterns":[{"include":"#number-literal"},{"include":"#bool-literal"},{"include":"#string-literal"},{"include":"#tuple-literal"},{"include":"#principal-literal"},{"include":"#list-literal"},{"include":"#optional-literal"},{"include":"#response-literal"}],"repository":{"bool-literal":{"name":"constant.language.bool.clarity","match":"(?\u003c!\\S)(?!-)\\b(true|false)\\b(?!\\s*-)"},"list-literal":{"name":"meta.list","begin":"(?x) (\\() \\s* (list) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.list.start.clarity"},"2":{"name":"entity.name.type.list.clarity"}},"endCaptures":{"1":{}}},"number-literal":{"patterns":[{"name":"constant.numeric.uint.clarity","match":"(?\u003c!\\S)(?!-)\\bu\\d+\\b(?!\\s*-)"},{"name":"constant.numeric.int.clarity","match":"(?\u003c!\\S)(?!-)\\b\\d+\\b(?!\\s*-)"},{"name":"constant.numeric.hex.clarity","match":"(?\u003c!\\S)(?!-)\\b0x[0-9a-f]*\\b(?!\\s*-)"}]},"optional-literal":{"patterns":[{"name":"constant.language.none.clarity","match":"(?\u003c!\\S)(?!-)\\b(none)\\b(?!\\s*-)"},{"name":"meta.some","begin":"(?x) (\\() \\s* (some) \\s+","end":"(\\))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.some.start.clarity"},"2":{"name":"constant.language.some.clarity"}},"endCaptures":{"1":{"name":"punctuation.some.end.clarity"}}}]},"principal-literal":{"name":"constant.other.principal.clarity","match":"(?x) \\'[0-9A-Z]{28,41}(:?\\.[a-zA-Z][a-zA-Z0-9\\-]+){0,2} | (\\.[a-zA-Z][a-zA-Z0-9\\-]*){1,2} (?=[\\s(){},]|$)"},"response-literal":{"name":"meta.response","begin":"(?x) (\\() \\s* (ok|err) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.response.start.clarity"},"2":{"name":"constant.language.ok-err.clarity"}},"endCaptures":{"1":{"name":"punctuation.response.end.clarity"}}},"string-literal":{"patterns":[{"name":"string.quoted.double.clarity","begin":"(u?)(\")","end":"\"","patterns":[{"name":"constant.character.escape.quote","match":"\\\\."}],"beginCaptures":{"1":{"name":"string.quoted.utf8.clarity"},"2":{"name":"punctuation.definition.string.begin.clarity"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.clarity"}}}]},"tuple-literal":{"name":"meta.tuple","begin":"(\\{)","end":"(\\})","patterns":[{"name":"entity.name.tag.tuple-key.clarity","match":"([a-zA-Z][\\w\\?\\!\\-]*)(?=:)"},{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.tuple.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.tuple.end.clarity"}}}}},"use-trait":{"name":"meta.use-trait","begin":"(?x) (\\() \\s* (use-trait) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#literal"}],"beginCaptures":{"1":{"name":"punctuation.use-trait.start.clarity"},"2":{"name":"keyword.declaration.use-trait.clarity"},"3":{"name":"entity.name.trait-alias.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.use-trait.end.clarity"}}},"user-func":{"name":"meta.user-function","begin":"(?x) (\\() \\s* (([a-zA-Z][\\w\\?\\!\\-]*)) \\s*","end":"(\\))","patterns":[{"include":"#expression"},{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.user-function.start.clarity"},"2":{"name":"entity.name.function.clarity"}},"endCaptures":{"1":{"name":"punctuation.user-function.end.clarity"}}}}}
@@ -1 +1 @@
1
- {"name":"Clean","scopeName":"source.clean","patterns":[{"include":"#marks"},{"include":"#comments"},{"include":"#keywords"},{"include":"#literals"},{"include":"#operators"},{"include":"#delimiters"}],"repository":{"commentBlock":{"name":"comment.block.clean","begin":"/\\*","end":"\\*/","patterns":[{"include":"#comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.clean"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.clean"}}},"commentDoc":{"name":"comment.block.documentation","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"source.gfm"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.documentation.begin.clean"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.documentation.begin.clean"}}},"commentLine":{"name":"comment.line.double-slash.clean","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.clean"}}},"comments":{"patterns":[{"include":"#commentDoc"},{"include":"#commentBlock"},{"include":"#commentLine"}]},"delimiters":{"name":"punctuation.separator","match":"[,;(){}]"},"keywordGeneral":{"name":"keyword.control.clean","match":"\\b(if|let|in|with|where|case|of|class|instance)\\b"},"keywordImport":{"name":"keyword.control.import.clean","match":"\\b(implementation|definition|system|module|from|import|qualified|as)\\b"},"keywordReserved":{"name":"keyword.reserved.clean","match":"\\b(special|code|inline|foreign|export|ccall|stdcall|generic|derive|infix(l|r)?|otherwise|dynamic)\\b"},"keywords":{"patterns":[{"include":"#keywordGeneral"},{"include":"#keywordImport"},{"include":"#keywordReserved"}]},"literalBool":{"name":"constant.language.boolean.clean","match":"\\b(True|False)\\b"},"literalChar":{"name":"constant.character.clean","match":"'([^'\\\\]|\\\\(x[0-9a-fA-F]+|\\d+|.))'"},"literalHex":{"name":"constant.numeric.integer.hexadecimal.clean","match":"\\b[+~-]?0x[0-9A-Fa-f]+\\b"},"literalInt":{"name":"constant.numeric.integer.decimal.clean","match":"\\b[+~-]?[0-9]+\\b"},"literalOct":{"name":"constant.numeric.integer.octal.clean","match":"\\b[+~-]?0[0-7]+\\b"},"literalReal":{"name":"constant.numeric.float.clean","match":"\\b[+~-]?[0-9]+\\.[0-9]+(E[+-]?[0-9]+)?\\b"},"literalString":{"name":"string.quoted.double.clean","begin":"\"","end":"\"","patterns":[{"include":"#escaped_character"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.clean"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.clean"}}},"literals":{"patterns":[{"include":"#literalChar"},{"include":"#literalInt"},{"include":"#literalOct"},{"include":"#literalHex"},{"include":"#literalReal"},{"include":"#literalBool"},{"include":"#literalString"}]},"mark":{"name":"markup.heading.clean","begin":"/// #+ ","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.clean"}}},"marks":{"patterns":[{"include":"#mark"}]},"operatorComposition":{"name":"keyword.operator.composition.clean","match":"\\s+o\\s+"},"operatorGeneral":{"name":"keyword.operator.clean","match":"[-~@#$%^?!+*\u003c\u003e\\\\/|\u0026=:.]+"},"operators":{"patterns":[{"include":"#operatorGeneral"},{"include":"#operatorComposition"}]}}}
1
+ {"name":"Clean","scopeName":"source.clean","patterns":[{"include":"#marks"},{"include":"#comments"},{"include":"#keywords"},{"include":"#literals"},{"include":"#operators"},{"include":"#delimiters"}],"repository":{"commentBlock":{"name":"comment.block.clean","begin":"/\\*","end":"\\*/","patterns":[{"include":"#comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.clean"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.clean"}}},"commentDoc":{"name":"comment.block.documentation","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"text.md"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.documentation.begin.clean"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.documentation.begin.clean"}}},"commentLine":{"name":"comment.line.double-slash.clean","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.clean"}}},"comments":{"patterns":[{"include":"#commentDoc"},{"include":"#commentBlock"},{"include":"#commentLine"}]},"delimiters":{"name":"punctuation.separator","match":"[,;(){}]"},"keywordGeneral":{"name":"keyword.control.clean","match":"\\b(if|let|in|with|where|case|of|class|instance)\\b"},"keywordImport":{"name":"keyword.control.import.clean","match":"\\b(implementation|definition|system|module|from|import|qualified|as)\\b"},"keywordReserved":{"name":"keyword.reserved.clean","match":"\\b(special|code|inline|foreign|export|ccall|stdcall|generic|derive|infix(l|r)?|otherwise|dynamic)\\b"},"keywords":{"patterns":[{"include":"#keywordGeneral"},{"include":"#keywordImport"},{"include":"#keywordReserved"}]},"literalBool":{"name":"constant.language.boolean.clean","match":"\\b(True|False)\\b"},"literalChar":{"name":"constant.character.clean","match":"'([^'\\\\]|\\\\(x[0-9a-fA-F]+|\\d+|.))'"},"literalHex":{"name":"constant.numeric.integer.hexadecimal.clean","match":"\\b[+~-]?0x[0-9A-Fa-f]+\\b"},"literalInt":{"name":"constant.numeric.integer.decimal.clean","match":"\\b[+~-]?[0-9]+\\b"},"literalOct":{"name":"constant.numeric.integer.octal.clean","match":"\\b[+~-]?0[0-7]+\\b"},"literalReal":{"name":"constant.numeric.float.clean","match":"\\b[+~-]?[0-9]+\\.[0-9]+(E[+-]?[0-9]+)?\\b"},"literalString":{"name":"string.quoted.double.clean","begin":"\"","end":"\"","patterns":[{"include":"#escaped_character"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.clean"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.clean"}}},"literals":{"patterns":[{"include":"#literalChar"},{"include":"#literalInt"},{"include":"#literalOct"},{"include":"#literalHex"},{"include":"#literalReal"},{"include":"#literalBool"},{"include":"#literalString"}]},"mark":{"name":"markup.heading.clean","begin":"/// #+ ","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.clean"}}},"marks":{"patterns":[{"include":"#mark"}]},"operatorComposition":{"name":"keyword.operator.composition.clean","match":"\\s+o\\s+"},"operatorGeneral":{"name":"keyword.operator.clean","match":"[-~@#$%^?!+*\u003c\u003e\\\\/|\u0026=:.]+"},"operators":{"patterns":[{"include":"#operatorGeneral"},{"include":"#operatorComposition"}]}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"source.comment-string.wesl","patterns":[{"begin":"(\\s?/\\*\\s?(?i:wesl)\\s?\\*/\\s*)(`)","end":"(`)","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"source.wesl"}],"beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"},"2":{"name":"string.template.ts, punctuation.definition.string.template.begin.ts"}},"endCaptures":{"0":{"name":"string.template.ts, punctuation.definition.string.template.end.ts"}}},{"begin":"(\\s?/\\*\\s?(?i:wesl)\\s?\\*/\\s*)(b?r?)(#*)(\")","end":"(\")(\\3)","patterns":[{"include":"source.wesl"}],"beginCaptures":{"1":{"name":"entity.name.function.rust"},"2":{"name":"string.quoted.byte.raw.rust"},"3":{"name":"string.raw.rust"},"4":{"name":"string.rust"}},"endCaptures":{"1":{"name":"string.rust"},"2":{"name":"string.raw.rust"}}},{"begin":"(\\s?/\\*\\s?(?i:wesl)\\s?\\*/\\s*)(\")","end":"(\")","patterns":[{"include":"source.wesl"}],"beginCaptures":{"1":{"name":"entity.name.function"}}}]}
@@ -0,0 +1 @@
1
+ {"scopeName":"source.comment-string.wgsl","patterns":[{"begin":"(\\s?/\\*\\s?(?i:wgsl)\\s?\\*/\\s*)(`)","end":"(`)","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"source.wgsl"}],"beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"},"2":{"name":"string.template.ts, punctuation.definition.string.template.begin.ts"}},"endCaptures":{"0":{"name":"string.template.ts, punctuation.definition.string.template.end.ts"}}},{"begin":"(\\s?/\\*\\s?(?i:wgsl)\\s?\\*/\\s*)(b?r?)(#*)(\")","end":"(\")(\\3)","patterns":[{"include":"source.wgsl"}],"beginCaptures":{"1":{"name":"entity.name.function.rust"},"2":{"name":"string.quoted.byte.raw.rust"},"3":{"name":"string.raw.rust"},"4":{"name":"string.rust"}},"endCaptures":{"1":{"name":"string.rust"},"2":{"name":"string.raw.rust"}}},{"begin":"(\\s?/\\*\\s?(?i:wgsl)\\s?\\*/\\s*)(\")","end":"(\")","patterns":[{"include":"source.wgsl"}],"beginCaptures":{"1":{"name":"entity.name.function"}}}]}
@@ -0,0 +1 @@
1
+ {"name":"CQL","scopeName":"source.cql","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#constants"},{"include":"#keywords"},{"include":"#types"},{"include":"#functions"},{"include":"#operators"},{"include":"#identifiers"}],"repository":{"comments":{"patterns":[{"name":"comment.line.double-slash.cql","match":"(//|--).*"},{"name":"comment.block.cql","begin":"/\\*","end":"\\*/"}]},"constants":{"patterns":[{"name":"constant.language.boolean.cql","match":"\\b(true|false|null)\\b"},{"name":"constant.numeric.uuid.cql","match":"\\b[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}\\b"},{"name":"constant.numeric.float.cql","match":"-?\\d+\\.\\d+([eE][+-]?\\d+)?"},{"name":"constant.numeric.integer.cql","match":"\\b-?\\d+\\b"}]},"functions":{"patterns":[{"name":"support.function.cql","match":"\\b(COUNT|MAX|MIN|SUM|AVG|TOKEN|WRITETIME|TTL|FULL)\\b"}]},"identifiers":{"patterns":[{"name":"variable.other.outline.cql","match":"@[A-Za-z_][\\w-]*"}]},"keywords":{"patterns":[{"name":"keyword.control.cql","match":"\\b(SELECT|INSERT|UPDATE|DELETE|USE|CREATE|ALTER|DROP|TRUNCATE|RENAME|BEGIN|APPLY|BATCH|COMMIT|FROM|INTO|WHERE|SET|VALUES|IF|AND|OR|NOT|EXISTS|WITH|ORDER|BY|GROUP|HAVING|LIMIT|ALLOW|FILTERING|PRIMARY|KEY|ADD|TO|AS|IN|ON|USING|JSON|DISTINCT)\\b"},{"name":"keyword.other.cql","match":"\\b(KEYSPACE|TABLE|TYPE|VIEW|MATERIALIZED|INDEX|FUNCTION|AGGREGATE|ROLE|ALL|MODIFY|IS|USER|PASSWORD|SUPERUSER|NOSUPERUSER|GRANT|REVOKE|AUTHORIZE|PERMISSIONS|LOGIN|OPTIONS|REPLICATION|DURABLE_WRITES|CONSISTENCY|LEVEL|QUORUM|LOCAL_ONE|LOCAL_QUORUM|EACH_QUORUM|ONE|TWO|THREE|SEARCH|DESCRIBE|CLUSTERING|PARTITION|STATIC|CUSTOM|REPLACE|CALLED|RETURNS|LANGUAGE|SFUNC|STYPE|FINALFUNC|INITCOND|EXECUTE|ACCESS|PROFILES|CONFIG|ROWS|COLUMNS|KEYSPACES|USERS|ROLES|FUNCTIONS|MBEAN|MBEANS|PATTERN|PROXY|ID|LIKE|ANN|OFFSET|VERTEX|EDGE|LABEL)\\b"}]},"operators":{"patterns":[{"name":"keyword.operator.comparison.cql","match":"(=|!=|\u003c|\u003e|\u003c=|\u003e=)"},{"name":"keyword.operator.assignment.cql","match":"(\\+=|-=|\\*=|/=|%=|=)"},{"name":"keyword.operator.arithmetic.cql","match":"(\\+|-|\\*|/|%)"}]},"strings":{"patterns":[{"name":"string.quoted.single.cql","match":"'(?:[^'\\\\]|\\\\.)*'"},{"name":"string.quoted.double.cql","match":"\"(?:[^\"\\\\]|\\\\.)*\""}]},"types":{"patterns":[{"name":"storage.type.cql","match":"(?i)\\b(ASCII|BIGINT|BLOB|BOOLEAN|COUNTER|DATE|DECIMAL|DOUBLE|FLOAT|FROZEN|INET|INT|LIST|MAP|SET|SMALLINT|TEXT|TIME|TIMESTAMP|TIMEUUID|TINYINT|TUPLE|UUID|VARCHAR|VARINT|NULL|graph_engine)\\b"}]}}}