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.mermaid.zenuml","patterns":[{"include":"#main"}],"repository":{"alt":{"name":"meta.conditional.mermaid","begin":"(?=\\bif(?:$|\\s*[\\({]))","end":"(?!\\G)(?=\\s*(?!//|(?:if|else)(?:$|[\\s({]))\\S)","patterns":[{"name":"meta.branch.mermaid","begin":"\\b(if|else(?:\\s+if)?)(?=$|[\\s({])","end":"(?\u003c=})","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.mermaid"}}},{"include":"#comment"}],"applyEndPatternLast":true},"block":{"name":"meta.block.mermaid","begin":"{","end":"}","patterns":[{"include":"#block"},{"include":"#main"}],"beginCaptures":{"0":{"patterns":[{"include":"source.mermaid#brace"}]}},"endCaptures":{"0":{"patterns":[{"include":"source.mermaid#brace"}]}}},"comment":{"name":"comment.line.double-slash.zenuml.mermaid","begin":"(//)[ \\t]*","end":"(?=\\s*$)","patterns":[{"match":"(?:^|\\G)(.+)","captures":{"1":{"patterns":[{}]}}}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.mermaid"}}},"keywordBlock":{"name":"meta.$1.block.mermaid","begin":"\\b(opt|par|try|catch|finally)(?=\\s*(?:$|{))","end":"(?!\\G)","patterns":[{"begin":"\\G","end":"(?=\\S)"},{"include":"#block"}],"beginCaptures":{"1":{"name":"keyword.control.flow.mermaid"}},"applyEndPatternLast":true},"loop":{"name":"meta.loop.mermaid","begin":"\\b(while|for|for[Ee]ach|loop)(?=$|\\s*[\\({])","end":"(?!\\G)","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"name":"keyword.control.flow.${1:/downcase}.mermaid"}},"applyEndPatternLast":true},"main":{"patterns":[{"include":"source.mermaid#a11y"},{"include":"source.mermaid#terminator"},{"include":"source.mermaid#directive"},{"include":"source.mermaid#comment"},{"include":"source.mermaid#title"},{"include":"#comment"},{"include":"#return"},{"include":"#loop"},{"include":"#alt"},{"include":"#keywordBlock"},{"include":"#messages"},{"include":"#variable"},{"include":"#participant"}]},"messageAsync":{"name":"meta.message.async.mermaid","contentName":"string.unquoted.message-text.mermaid","begin":"\\b(\\w+)(-\u003e)(\\w+)\\b\\s*(:)[ \\t]*","end":"(?=\\s*(?:$|%%|//))","beginCaptures":{"1":{"name":"entity.name.tag.participant.sender.mermaid"},"2":{"name":"keyword.operator.arrow.message.mermaid"},"3":{"name":"entity.name.tag.participant.recipient.mermaid"},"4":{"patterns":[{"include":"source.mermaid#colon"}]}}},"messageCreation":{"name":"meta.message.creation.mermaid","begin":"\\b(new)\\s+(\\w+)","end":"(?!\\G)","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"name":"keyword.operator.message.mermaid"},"2":{"name":"entity.name.function.message.mermaid"}},"applyEndPatternLast":true},"messageSync":{"name":"meta.message.sync.mermaid","begin":"(?:\\b(\\w+)(-\u003e))?\\b(\\w+)(\\.)(\\w+)","end":"(?!\\G)","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"name":"entity.name.tag.participant.sender.mermaid"},"2":{"name":"keyword.operator.arrow.message.mermaid"},"3":{"name":"entity.name.tag.participant.sender.mermaid"},"4":{"name":"punctuation.delimiter.period.property.mermaid"},"5":{"name":"entity.name.function.message.mermaid"}},"applyEndPatternLast":true},"messages":{"patterns":[{"include":"#messageSync"},{"include":"#messageCreation"},{"include":"#messageAsync"}]},"parameter":{"patterns":[{"name":"variable.parameter.message.function","match":"[^\\s,\\(\\){}]+"},{"include":"source.mermaid#comma"},{"include":"#parentheses"}]},"parameters":{"patterns":[{"name":"meta.arguments.mermaid","begin":"\\G(\\()","end":"(\\))","patterns":[{"include":"#parameter"}],"beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.mermaid"},"1":{"name":"brackethighlighter.round"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.end.mermaid"},"1":{"name":"brackethighlighter.round"}}},{"begin":"(?\u003c=\\))|\\G","end":"(?=\\s*[^\\s{])|(?\u003c=})","patterns":[{"include":"#block"}]}]},"parentheses":{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#parameter"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.mermaid"},"1":{"name":"brackethighlighter.round"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.end.mermaid"},"1":{"name":"brackethighlighter.round"}}},"participant":{"name":"meta.participant.mermaid","begin":"(?=@\\w+|\\b\\w+\\b)","end":"(?!\\G)","patterns":[{"begin":"(?\u003c=\\s|^|\\G)(@)(\\w+)\\b","end":"(?\u003c=\\s|^)(?=\\w)","beginCaptures":{"0":{"name":"storage.modifier.annotator.${2:/downcase}.mermaid"},"1":{"name":"punctuation.definition.annotator.mermaid"}}},{"name":"meta.participant.$1.mermaid","begin":"\\b(\\w+)\\b(?!\\.|-\u003e|\\s*=)","end":"(?=\\s*(?!as(?:$|\\s))\\S)","patterns":[{"name":"meta.alias.mermaid","begin":"(?i)(?\u003c=\\s|^)(as)(?=$|\\s)","end":"(?i)(?=@|(?\u003c=\\s|^)new\\s|\\b\\w+(?:\\.|-\u003e|\\s*=))|\\b(\\w+)\\b","beginCaptures":{"1":{"name":"keyword.operator.alias.mermaid"}},"endCaptures":{"1":{"name":"entity.name.alias.participant.mermaid"}}}],"beginCaptures":{"0":{"name":"entity.name.tag.participant.mermaid"}}}]},"return":{"patterns":[{"include":"#returnStatement"},{"include":"#returnAnnotator"}]},"returnAnnotator":{"name":"meta.return.annotator.mermaid","begin":"(?i)(@)(return|reply)(?=$|\\s)","end":"(?!\\G)","patterns":[{"begin":"\\G","end":"(?=\\S)"},{"include":"#messages"}],"beginCaptures":{"0":{"name":"keyword.control.annotator.${2:/downcase}.mermaid"},"1":{"name":"punctuation.definition.annotator.mermaid"}},"applyEndPatternLast":true},"returnStatement":{"name":"meta.return.statement.mermaid","begin":"\\breturn(?=$|\\s)","end":"(?\u003c=\")|[^\\s\"{}]+","patterns":[{"name":"string.quoted.double.reply.mermaid","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mermaid"}}}],"beginCaptures":{"0":{"name":"keyword.control.flow.return.mermaid"}},"endCaptures":{"0":{"name":"string.unquoted.reply.mermaid"}}},"variable":{"name":"meta.assignment.mermaid","begin":"\\s*\\b(?:(\\w+)\\s+)?(\\w+)\\s*(=)","end":"(?!\\G)","patterns":[{"begin":"\\G","end":"(?=\\S)"},{"include":"#messageSync"},{"include":"#messageCreation"}],"beginCaptures":{"1":{"name":"entity.name.type.mermaid"},"2":{"name":"variable.assignment.mermaid"},"3":{"name":"keyword.operator.assignment.mermaid"}},"applyEndPatternLast":true}}}
1
+ {"scopeName":"source.mermaid.zenuml","patterns":[{"include":"#main"}],"repository":{"alt":{"name":"meta.conditional.mermaid","begin":"(?=\\bif(?:$|\\s*[\\({]))","end":"(?!\\G)(?=\\s*(?!//|(?:if|else)(?:$|[\\s({]))\\S)","patterns":[{"name":"meta.branch.mermaid","begin":"\\b(if|else(?:\\s+if)?)(?=$|[\\s({])","end":"(?\u003c=})","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.mermaid"}}},{"include":"#comment"}],"applyEndPatternLast":true},"block":{"name":"meta.block.mermaid","begin":"{","end":"}","patterns":[{"include":"#block"},{"include":"#main"}],"beginCaptures":{"0":{"patterns":[{"include":"source.mermaid#brace"}]}},"endCaptures":{"0":{"patterns":[{"include":"source.mermaid#brace"}]}}},"comment":{"name":"comment.line.double-slash.zenuml.mermaid","begin":"(//)[ \\t]*","end":"(?=\\s*$)","patterns":[{"match":"(?:^|\\G)(.+)","captures":{"1":{"patterns":[{"include":"text.md"}]}}}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.mermaid"}}},"keywordBlock":{"name":"meta.$1.block.mermaid","begin":"\\b(opt|par|try|catch|finally)(?=\\s*(?:$|{))","end":"(?!\\G)","patterns":[{"begin":"\\G","end":"(?=\\S)"},{"include":"#block"}],"beginCaptures":{"1":{"name":"keyword.control.flow.mermaid"}},"applyEndPatternLast":true},"loop":{"name":"meta.loop.mermaid","begin":"\\b(while|for|for[Ee]ach|loop)(?=$|\\s*[\\({])","end":"(?!\\G)","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"name":"keyword.control.flow.${1:/downcase}.mermaid"}},"applyEndPatternLast":true},"main":{"patterns":[{"include":"source.mermaid#a11y"},{"include":"source.mermaid#terminator"},{"include":"source.mermaid#directive"},{"include":"source.mermaid#comment"},{"include":"source.mermaid#title"},{"include":"#comment"},{"include":"#return"},{"include":"#loop"},{"include":"#alt"},{"include":"#keywordBlock"},{"include":"#messages"},{"include":"#variable"},{"include":"#participant"}]},"messageAsync":{"name":"meta.message.async.mermaid","contentName":"string.unquoted.message-text.mermaid","begin":"\\b(\\w+)(-\u003e)(\\w+)\\b\\s*(:)[ \\t]*","end":"(?=\\s*(?:$|%%|//))","beginCaptures":{"1":{"name":"entity.name.tag.participant.sender.mermaid"},"2":{"name":"keyword.operator.arrow.message.mermaid"},"3":{"name":"entity.name.tag.participant.recipient.mermaid"},"4":{"patterns":[{"include":"source.mermaid#colon"}]}}},"messageCreation":{"name":"meta.message.creation.mermaid","begin":"\\b(new)\\s+(\\w+)","end":"(?!\\G)","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"name":"keyword.operator.message.mermaid"},"2":{"name":"entity.name.function.message.mermaid"}},"applyEndPatternLast":true},"messageSync":{"name":"meta.message.sync.mermaid","begin":"(?:\\b(\\w+)(-\u003e))?\\b(\\w+)(\\.)(\\w+)","end":"(?!\\G)","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"name":"entity.name.tag.participant.sender.mermaid"},"2":{"name":"keyword.operator.arrow.message.mermaid"},"3":{"name":"entity.name.tag.participant.sender.mermaid"},"4":{"name":"punctuation.delimiter.period.property.mermaid"},"5":{"name":"entity.name.function.message.mermaid"}},"applyEndPatternLast":true},"messages":{"patterns":[{"include":"#messageSync"},{"include":"#messageCreation"},{"include":"#messageAsync"}]},"parameter":{"patterns":[{"name":"variable.parameter.message.function","match":"[^\\s,\\(\\){}]+"},{"include":"source.mermaid#comma"},{"include":"#parentheses"}]},"parameters":{"patterns":[{"name":"meta.arguments.mermaid","begin":"\\G(\\()","end":"(\\))","patterns":[{"include":"#parameter"}],"beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.mermaid"},"1":{"name":"brackethighlighter.round"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.end.mermaid"},"1":{"name":"brackethighlighter.round"}}},{"begin":"(?\u003c=\\))|\\G","end":"(?=\\s*[^\\s{])|(?\u003c=})","patterns":[{"include":"#block"}]}]},"parentheses":{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#parameter"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.mermaid"},"1":{"name":"brackethighlighter.round"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.end.mermaid"},"1":{"name":"brackethighlighter.round"}}},"participant":{"name":"meta.participant.mermaid","begin":"(?=@\\w+|\\b\\w+\\b)","end":"(?!\\G)","patterns":[{"begin":"(?\u003c=\\s|^|\\G)(@)(\\w+)\\b","end":"(?\u003c=\\s|^)(?=\\w)","beginCaptures":{"0":{"name":"storage.modifier.annotator.${2:/downcase}.mermaid"},"1":{"name":"punctuation.definition.annotator.mermaid"}}},{"name":"meta.participant.$1.mermaid","begin":"\\b(\\w+)\\b(?!\\.|-\u003e|\\s*=)","end":"(?=\\s*(?!as(?:$|\\s))\\S)","patterns":[{"name":"meta.alias.mermaid","begin":"(?i)(?\u003c=\\s|^)(as)(?=$|\\s)","end":"(?i)(?=@|(?\u003c=\\s|^)new\\s|\\b\\w+(?:\\.|-\u003e|\\s*=))|\\b(\\w+)\\b","beginCaptures":{"1":{"name":"keyword.operator.alias.mermaid"}},"endCaptures":{"1":{"name":"entity.name.alias.participant.mermaid"}}}],"beginCaptures":{"0":{"name":"entity.name.tag.participant.mermaid"}}}]},"return":{"patterns":[{"include":"#returnStatement"},{"include":"#returnAnnotator"}]},"returnAnnotator":{"name":"meta.return.annotator.mermaid","begin":"(?i)(@)(return|reply)(?=$|\\s)","end":"(?!\\G)","patterns":[{"begin":"\\G","end":"(?=\\S)"},{"include":"#messages"}],"beginCaptures":{"0":{"name":"keyword.control.annotator.${2:/downcase}.mermaid"},"1":{"name":"punctuation.definition.annotator.mermaid"}},"applyEndPatternLast":true},"returnStatement":{"name":"meta.return.statement.mermaid","begin":"\\breturn(?=$|\\s)","end":"(?\u003c=\")|[^\\s\"{}]+","patterns":[{"name":"string.quoted.double.reply.mermaid","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mermaid"}}}],"beginCaptures":{"0":{"name":"keyword.control.flow.return.mermaid"}},"endCaptures":{"0":{"name":"string.unquoted.reply.mermaid"}}},"variable":{"name":"meta.assignment.mermaid","begin":"\\s*\\b(?:(\\w+)\\s+)?(\\w+)\\s*(=)","end":"(?!\\G)","patterns":[{"begin":"\\G","end":"(?=\\S)"},{"include":"#messageSync"},{"include":"#messageCreation"}],"beginCaptures":{"1":{"name":"entity.name.type.mermaid"},"2":{"name":"variable.assignment.mermaid"},"3":{"name":"keyword.operator.assignment.mermaid"}},"applyEndPatternLast":true}}}
@@ -1 +1 @@
1
- {"name":"Motoko","scopeName":"source.mo","patterns":[{"include":"#shebang-line"},{"include":"#comment"},{"include":"#attribute"},{"include":"#literal"},{"include":"#operator"},{"include":"#declaration"},{"include":"#storage-type"},{"include":"#keyword"},{"include":"#type"},{"include":"#boolean"}],"repository":{"access-level-modifier":{"name":"keyword.other.access-level-modifier.motoko","match":"\\b(public|system|private)\\b"},"arithmetic-operator":{"name":"keyword.operator.arithmetic.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\+|\\-|\\*|\\/)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"array-type":{"name":"meta.array.motoko","begin":"\\b(Array)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.array.motoko"},"2":{"name":"punctuation.array.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.array.end.motoko"}}},"assignment-operator":{"name":"keyword.operator.assignment.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\+|\\-|\\*|\\/|%|\u003c\u003c\u003e?|\u003c?\u003e\u003e|\u0026|\\^|\\||\u0026\u0026|\\|\\|)?=(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"async-await-keyword":{"name":"keyword.async-await.motoko","match":"\\b(async|await)\\b"},"attribute":{"name":"meta.attribute.motoko","patterns":[{"contentName":"meta.attribute.arguments.motoko","begin":"((@)(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B))(\\()","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.modifier.attribute.motoko"},"2":{"name":"punctuation.definition.attribute.motoko"},"3":{"name":"punctuation.definition.attribute-arguments.begin.motoko"}},"endCaptures":{"0":{"name":"punctuation.definition.attribute-arguments.end.motoko"}}},{"match":"((@)(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B))","captures":{"1":{"name":"storage.modifier.attribute.motoko"},"2":{"name":"punctuation.definition.attribute.motoko"}}}]},"bitwise-operator":{"name":"keyword.operator.bitwise.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\u0026|\\||\\^|\u003c\u003c\u003e?|\u003c?\u003e\u003e)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"block-comment":{"name":"comment.block.motoko","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.motoko"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.motoko"}}},"boolean":{"name":"keyword.constant.boolean.motoko","match":"\\b(true|false)\\b"},"branch-statement-keyword":{"name":"keyword.control.branch.motoko","patterns":[{"include":"#if-statement-keyword"},{"include":"#switch-statement-keyword"}]},"char-literal":{"name":"meta.literal.char.motoko","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.motoko","match":"\\\\([0tnr\\\"\\'\\\\]|x[[:xdigit:]]{2}|u[[:xdigit:]]{4}|U[[:xdigit:]]{8})"},{"name":"invalid.illegal.motoko","match":"(\\'|\\\\)"},{"name":"string.quoted.single.motoko","match":"(.)"}],"beginCaptures":{"0":{"name":"string.quoted.double.motoko"}},"endCaptures":{"0":{"name":"string.quoted.single.motoko"}}},"code-block":{"begin":"(\\{)","end":"(\\})","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.code-block.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.definition.code-block.end.motoko"}}},"comment":{"patterns":[{"include":"#documentation-comment"},{"include":"#block-comment"},{"include":"#in-line-comment"}]},"comparative-operator":{"name":"keyword.operator.comparative.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])((=|!)==?|(\u003c|\u003e)=?|~=)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"control-transfer-statement-keyword":{"name":"keyword.control.transfer.motoko","match":"\\b(continue|break|return)\\b"},"custom-operator":{"patterns":[{"name":"keyword.operator.custom.prefix.unary.motoko","match":"(?\u003c=[\\s(\\[{,;:])([/=\\-+!*%\u003c\u003e\u0026|\\^~.]++)(?![\\s)\\]},;:])"},{"name":"keyword.operator.custom.postfix.unary.motoko","match":"(?\u003c![\\s(\\[{,;:])([/=\\-+!*%\u003c\u003e\u0026|\\^~.]++)(?![\\s)\\]},;:\\.])"},{"name":"keyword.operator.custom.binary.motoko","match":"(?\u003c=[\\s(\\[{,;:])([/=\\-+!*%\u003c\u003e\u0026|\\^~.]++)(?=[\\s)\\]},;:])"}]},"declaration":{"name":"meta.declaration.motoko","patterns":[{"include":"#import-declaration"}]},"declaration-modifier":{"name":"keyword.other.declaration-modifier.motoko","match":"\\b(class|object|type|shared)\\b"},"dictionary-type":{"name":"meta.dictionary.motoko","begin":"\\b(Dictionary)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.dictionary.motoko"},"2":{"name":"punctuation.dictionary.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.dictionary.end.motoko"}}},"documentation-comment":{"name":"comment.block.documentation.motoko","begin":"/\\*\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.documentation.begin.motoko"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.documentation.end.motoko"}}},"floating-point-literal":{"name":"constant.numeric.floating-point.motoko","patterns":[{"match":"\\b([0-9][0-9_]*)(\\.([0-9][0-9_]*))?([eE][+\\-]?([0-9][0-9_]*))?\\b"},{"match":"\\b(0x[[:xdigit:]][[[:xdigit:]]_]*)(\\.(0x[[:xdigit:]][[[:xdigit:]]_]*))?([pP][+\\-]?(0x[[:xdigit:]][[[:xdigit:]]_]*))\\b"}]},"function-body":{"name":"meta.function-body.motoko","patterns":[{"include":"#code-block"}]},"function-declaration":{"name":"meta.function-declaration.motoko","begin":"\\b(func)\\s+(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B|[/=\\-+!*%\u003c\u003e\u0026|\\^~.]+)\\s*(?=\\(|\u003c)","end":"(?\u003c=\\})","patterns":[{"include":"#generic-parameter-clause"},{"include":"#parameter-clause"},{"include":"#function-result"},{"include":"#function-body"}],"beginCaptures":{"1":{"name":"storage.type.function.motoko"},"2":{"name":"entity.type.function.motoko"}}},"function-result":{"name":"meta.function-result.motoko","begin":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\-\u003e)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\s*","end":"\\s*(?=\\{)","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.function-result.motoko"}}},"generic-parameter-clause":{"name":"meta.generic-parameter-clause.motoko","begin":"(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.generic-parameter-clause.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.definition.generic-parameter-clause.end.motoko"}}},"identifier":{"name":"meta.identifier.motoko","match":"(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B)"},"if-statement-keyword":{"name":"keyword.control.if.motoko","match":"\\b(if|else)\\b"},"import-declaration":{"name":"meta.import.motoko","match":"\\b(import)\\s+(?:(class|var|func)\\s+)?((?:\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B|[/=\\-+!*%\u003c\u003e\u0026|\\^~.]+)(?:\\.(?:\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B|[/=\\-+!*%\u003c\u003e\u0026|\\^~.]+))*)","captures":{"1":{"name":"keyword.other.import.motoko"},"2":{"name":"storage.modifier.motoko"},"3":{"name":"support.type.module.import.motoko"}}},"in-line-comment":{"name":"comment.line.double-slash.motoko","match":"(//).*","captures":{"1":{"name":"punctuation.definition.comment.line.double-slash.motoko"}}},"increment-decrement-operator":{"name":"keyword.operator.increment-or-decrement.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\+\\+|\\-\\-)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"integer-literal":{"name":"constant.numeric.integer.motoko","patterns":[{"name":"constant.numeric.integer.binary.motoko","match":"(\\B\\-|\\b)(0b[01][01_]*)\\b"},{"name":"constant.numeric.integer.octal.motoko","match":"(\\B\\-|\\b)(0o[0-7][0-7_]*)\\b"},{"name":"constant.numeric.integer.decimal.motoko","match":"(\\B\\-|\\b)([0-9][0-9_]*)\\b"},{"name":"constant.numeric.integer.hexadecimal.motoko","match":"(\\B\\-|\\b)(0x[[:xdigit:]][[[:xdigit:]]_]*)\\b"}]},"keyword":{"patterns":[{"include":"#branch-statement-keyword"},{"include":"#control-transfer-statement-keyword"},{"include":"#loop-statement-keyword"},{"include":"#catch-statement-keyword"},{"include":"#async-await-keyword"},{"include":"#operator-declaration-modifier"},{"include":"#declaration-modifier"},{"include":"#access-level-modifier"},{"name":"keyword.declaration.motoko","match":"\\b(actor|and|class|func|import|let|module|not|or)\\b"},{"name":"keyword.statement.motoko","match":"\\b(assert|break|case|continue|debug|debug_show|else|if|ignore|in|for|label|null|return|switch|while|loop|try|throw|catch|finally|do|to_candid|from_candid|with)\\b"},{"name":"keyword.other.motoko","match":"\\b(query|composite|stable|flexible|persistent|transient)\\b"}]},"literal":{"patterns":[{"include":"#integer-literal"},{"include":"#floating-point-literal"},{"include":"#nil-literal"},{"include":"#string-literal"},{"include":"#char-literal"}]},"logical-operator":{"name":"keyword.operator.logical.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(!|\u0026\u0026|\\|\\|)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"loop-statement-keyword":{"name":"keyword.control.loop.motoko","match":"\\b(while|for|in|loop)\\b"},"null-literal":{"name":"constant.null.motoko","match":"\\bnull\\b"},"operator":{"patterns":[{"include":"#comparative-operator"},{"include":"#assignment-operator"},{"include":"#logical-operator"},{"include":"#remainder-operator"},{"include":"#increment-decrement-operator"},{"include":"#overflow-operator"},{"include":"#range-operator"},{"include":"#bitwise-operator"},{"include":"#arithmetic-operator"},{"include":"#ternary-operator"},{"include":"#type-casting-operator"},{"include":"#custom-operator"}]},"optional-type":{"name":"meta.optional.motoko","match":"\\b(Optional)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.optional.motoko"},"2":{"name":"punctuation.optional.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.optional.end.motoko"}}},"overflow-operator":{"name":"keyword.operator.overflow.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\\u0026(\\+|\\-|\\*|\\/|%)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"parameter-clause":{"name":"meta.parameter-clause.motoko","begin":"(\\()","end":"(\\))","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.function-arguments.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.definition.function-arguments.end.motoko"}}},"primitive-type":{"name":"support.type.motoko","match":"\\b(Blob|Bool|Char|Float|(Int|Nat)(8|16|32|64)?|Principal|Text|Error)\\b"},"protocol-composition-type":{"name":"meta.protocol.motoko","match":"\\b(protocol)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.protocol.motoko"},"2":{"name":"punctuation.protocol.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.protocol.end.motoko"}}},"range-operator":{"name":"keyword.operator.range.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\.\\.(?:\\.)?(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"remainder-operator":{"name":"keyword.operator.remainder.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\%(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"resolved-type":{"name":"support.type.motoko","match":"\\b[A-Z].*?\\b"},"shebang-line":{"name":"comment.line.shebang.motoko","match":"^(#!).*$","captures":{"1":{"name":"punctuation.definition.comment.line.shebang.motoko"}}},"storage-type":{"name":"storage.type.motoko","match":"\\b(var|func|let|class|module|actor)\\b"},"string-literal":{"name":"meta.literal.string.motoko","begin":"\\\"","end":"\\\"","patterns":[{"name":"constant.character.escape.motoko","match":"\\\\([0tnr\\\"\\'\\\\]|x[[:xdigit:]]{2}|u[[:xdigit:]]{4}|U[[:xdigit:]]{8})"},{"name":"invalid.illegal.motoko","match":"(\\\"|\\\\)"},{"name":"string.quoted.double.motoko","match":"(.)"}],"beginCaptures":{"0":{"name":"string.quoted.double.motoko"}},"endCaptures":{"0":{"name":"string.quoted.double.motoko"}}},"switch-statement-keyword":{"name":"keyword.control.switch.motoko","match":"\\b(switch|case)\\b"},"type":{"patterns":[{"include":"#primitive-type"},{"include":"#resolved-type"},{"include":"#optional-type"},{"include":"#protocol-composition-type"}]}}}
1
+ {"name":"Motoko","scopeName":"source.mo","patterns":[{"include":"#shebang-line"},{"include":"#comment"},{"include":"#attribute"},{"include":"#literal"},{"include":"#operator"},{"include":"#declaration"},{"include":"#storage-type"},{"include":"#keyword"},{"include":"#type"},{"include":"#boolean"}],"repository":{"access-level-modifier":{"name":"keyword.other.access-level-modifier.motoko","match":"\\b(public|system|private)\\b"},"arithmetic-operator":{"name":"keyword.operator.arithmetic.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\+|\\-|\\*|\\/)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"array-type":{"name":"meta.array.motoko","begin":"\\b(Array)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.array.motoko"},"2":{"name":"punctuation.array.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.array.end.motoko"}}},"assignment-operator":{"name":"keyword.operator.assignment.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\+|\\-|\\*|\\/|%|\u003c\u003c\u003e?|\u003c?\u003e\u003e|\u0026|\\^|\\||\u0026\u0026|\\|\\|)?=(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"async-await-keyword":{"name":"keyword.async-await.motoko","match":"\\b(async|await)\\b"},"attribute":{"name":"meta.attribute.motoko","patterns":[{"contentName":"meta.attribute.arguments.motoko","begin":"((@)(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B))(\\()","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.modifier.attribute.motoko"},"2":{"name":"punctuation.definition.attribute.motoko"},"3":{"name":"punctuation.definition.attribute-arguments.begin.motoko"}},"endCaptures":{"0":{"name":"punctuation.definition.attribute-arguments.end.motoko"}}},{"match":"((@)(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B))","captures":{"1":{"name":"storage.modifier.attribute.motoko"},"2":{"name":"punctuation.definition.attribute.motoko"}}}]},"bitwise-operator":{"name":"keyword.operator.bitwise.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\u0026|\\||\\^|\u003c\u003c\u003e?|\u003c?\u003e\u003e)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"block-comment":{"name":"comment.block.motoko","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.motoko"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.motoko"}}},"boolean":{"name":"keyword.constant.boolean.motoko","match":"\\b(true|false)\\b"},"branch-statement-keyword":{"name":"keyword.control.branch.motoko","patterns":[{"include":"#if-statement-keyword"},{"include":"#switch-statement-keyword"}]},"char-literal":{"name":"meta.literal.char.motoko","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.motoko","match":"\\\\([0tnr\\\"\\'\\\\]|x[[:xdigit:]]{2}|u[[:xdigit:]]{4}|U[[:xdigit:]]{8})"},{"name":"invalid.illegal.motoko","match":"(\\'|\\\\)"},{"name":"string.quoted.single.motoko","match":"(.)"}],"beginCaptures":{"0":{"name":"string.quoted.double.motoko"}},"endCaptures":{"0":{"name":"string.quoted.single.motoko"}}},"code-block":{"begin":"(\\{)","end":"(\\})","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.code-block.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.definition.code-block.end.motoko"}}},"comment":{"patterns":[{"include":"#documentation-comment"},{"include":"#block-comment"},{"include":"#in-line-comment"}]},"comparative-operator":{"name":"keyword.operator.comparative.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])((=|!)==?|(\u003c|\u003e)=?|~=)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"control-transfer-statement-keyword":{"name":"keyword.control.transfer.motoko","match":"\\b(continue|break|return)\\b"},"custom-operator":{"patterns":[{"name":"keyword.operator.custom.prefix.unary.motoko","match":"(?\u003c=[\\s(\\[{,;:])([/=\\-+!*%\u003c\u003e\u0026|\\^~.]++)(?![\\s)\\]},;:])"},{"name":"keyword.operator.custom.postfix.unary.motoko","match":"(?\u003c![\\s(\\[{,;:])([/=\\-+!*%\u003c\u003e\u0026|\\^~.]++)(?![\\s)\\]},;:\\.])"},{"name":"keyword.operator.custom.binary.motoko","match":"(?\u003c=[\\s(\\[{,;:])([/=\\-+!*%\u003c\u003e\u0026|\\^~.]++)(?=[\\s)\\]},;:])"}]},"declaration":{"name":"meta.declaration.motoko","patterns":[{"include":"#import-declaration"}]},"declaration-modifier":{"name":"keyword.other.declaration-modifier.motoko","match":"\\b(class|object|type|shared)\\b"},"dictionary-type":{"name":"meta.dictionary.motoko","begin":"\\b(Dictionary)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.dictionary.motoko"},"2":{"name":"punctuation.dictionary.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.dictionary.end.motoko"}}},"documentation-comment":{"name":"comment.block.documentation.motoko","begin":"/\\*\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.documentation.begin.motoko"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.documentation.end.motoko"}}},"floating-point-literal":{"name":"constant.numeric.floating-point.motoko","patterns":[{"match":"\\b([0-9][0-9_]*)(\\.([0-9][0-9_]*))?([eE][+\\-]?([0-9][0-9_]*))?\\b"},{"match":"\\b(0x[[:xdigit:]][[[:xdigit:]]_]*)(\\.(0x[[:xdigit:]][[[:xdigit:]]_]*))?([pP][+\\-]?(0x[[:xdigit:]][[[:xdigit:]]_]*))\\b"}]},"function-body":{"name":"meta.function-body.motoko","patterns":[{"include":"#code-block"}]},"function-declaration":{"name":"meta.function-declaration.motoko","begin":"\\b(func)\\s+(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B|[/=\\-+!*%\u003c\u003e\u0026|\\^~.]+)\\s*(?=\\(|\u003c)","end":"(?\u003c=\\})","patterns":[{"include":"#generic-parameter-clause"},{"include":"#parameter-clause"},{"include":"#function-result"},{"include":"#function-body"}],"beginCaptures":{"1":{"name":"storage.type.function.motoko"},"2":{"name":"entity.type.function.motoko"}}},"function-result":{"name":"meta.function-result.motoko","begin":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\-\u003e)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\s*","end":"\\s*(?=\\{)","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.function-result.motoko"}}},"generic-parameter-clause":{"name":"meta.generic-parameter-clause.motoko","begin":"(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.generic-parameter-clause.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.definition.generic-parameter-clause.end.motoko"}}},"identifier":{"name":"meta.identifier.motoko","match":"(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B)"},"if-statement-keyword":{"name":"keyword.control.if.motoko","match":"\\b(if|else)\\b"},"import-declaration":{"name":"meta.import.motoko","match":"\\b(import)\\s+(?:(class|var|func)\\s+)?((?:\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B|[/=\\-+!*%\u003c\u003e\u0026|\\^~.]+)(?:\\.(?:\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B|[/=\\-+!*%\u003c\u003e\u0026|\\^~.]+))*)","captures":{"1":{"name":"keyword.other.import.motoko"},"2":{"name":"storage.modifier.motoko"},"3":{"name":"support.type.module.import.motoko"}}},"in-line-comment":{"name":"comment.line.double-slash.motoko","match":"(//).*","captures":{"1":{"name":"punctuation.definition.comment.line.double-slash.motoko"}}},"increment-decrement-operator":{"name":"keyword.operator.increment-or-decrement.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\+\\+|\\-\\-)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"integer-literal":{"name":"constant.numeric.integer.motoko","patterns":[{"name":"constant.numeric.integer.binary.motoko","match":"(\\B\\-|\\b)(0b[01][01_]*)\\b"},{"name":"constant.numeric.integer.octal.motoko","match":"(\\B\\-|\\b)(0o[0-7][0-7_]*)\\b"},{"name":"constant.numeric.integer.decimal.motoko","match":"(\\B\\-|\\b)([0-9][0-9_]*)\\b"},{"name":"constant.numeric.integer.hexadecimal.motoko","match":"(\\B\\-|\\b)(0x[[:xdigit:]][[[:xdigit:]]_]*)\\b"}]},"keyword":{"patterns":[{"include":"#branch-statement-keyword"},{"include":"#control-transfer-statement-keyword"},{"include":"#loop-statement-keyword"},{"include":"#catch-statement-keyword"},{"include":"#async-await-keyword"},{"include":"#operator-declaration-modifier"},{"include":"#declaration-modifier"},{"include":"#access-level-modifier"},{"name":"keyword.declaration.motoko","match":"\\b(actor|and|class|func|import|let|module|not|or)\\b"},{"name":"keyword.statement.motoko","match":"\\b(assert|break|case|continue|debug|debug_show|else|if|ignore|in|for|label|null|return|switch|while|loop|try|throw|catch|finally|do|to_candid|from_candid|with|include)\\b"},{"name":"keyword.other.motoko","match":"\\b(query|composite|stable|flexible|persistent|transient|implicit|weak|mixin)\\b"}]},"literal":{"patterns":[{"include":"#integer-literal"},{"include":"#floating-point-literal"},{"include":"#nil-literal"},{"include":"#string-literal"},{"include":"#char-literal"}]},"logical-operator":{"name":"keyword.operator.logical.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(!|\u0026\u0026|\\|\\|)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"loop-statement-keyword":{"name":"keyword.control.loop.motoko","match":"\\b(while|for|in|loop)\\b"},"null-literal":{"name":"constant.null.motoko","match":"\\bnull\\b"},"operator":{"patterns":[{"include":"#comparative-operator"},{"include":"#assignment-operator"},{"include":"#logical-operator"},{"include":"#remainder-operator"},{"include":"#increment-decrement-operator"},{"include":"#overflow-operator"},{"include":"#range-operator"},{"include":"#bitwise-operator"},{"include":"#arithmetic-operator"},{"include":"#ternary-operator"},{"include":"#type-casting-operator"},{"include":"#custom-operator"}]},"optional-type":{"name":"meta.optional.motoko","match":"\\b(Optional)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.optional.motoko"},"2":{"name":"punctuation.optional.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.optional.end.motoko"}}},"overflow-operator":{"name":"keyword.operator.overflow.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\\u0026(\\+|\\-|\\*|\\/|%)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"parameter-clause":{"name":"meta.parameter-clause.motoko","begin":"(\\()","end":"(\\))","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.function-arguments.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.definition.function-arguments.end.motoko"}}},"primitive-type":{"name":"support.type.motoko","match":"\\b(Blob|Bool|Char|Float|(Int|Nat)(8|16|32|64)?|Principal|Text|Error)\\b"},"protocol-composition-type":{"name":"meta.protocol.motoko","match":"\\b(protocol)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.protocol.motoko"},"2":{"name":"punctuation.protocol.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.protocol.end.motoko"}}},"range-operator":{"name":"keyword.operator.range.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\.\\.(?:\\.)?(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"remainder-operator":{"name":"keyword.operator.remainder.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\%(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"resolved-type":{"name":"support.type.motoko","match":"\\b[A-Z].*?\\b"},"shebang-line":{"name":"comment.line.shebang.motoko","match":"^(#!).*$","captures":{"1":{"name":"punctuation.definition.comment.line.shebang.motoko"}}},"storage-type":{"name":"storage.type.motoko","match":"\\b(var|func|let|class|module|actor)\\b"},"string-literal":{"name":"meta.literal.string.motoko","begin":"\\\"","end":"\\\"","patterns":[{"name":"constant.character.escape.motoko","match":"\\\\([0tnr\\\"\\'\\\\]|x[[:xdigit:]]{2}|u[[:xdigit:]]{4}|U[[:xdigit:]]{8})"},{"name":"invalid.illegal.motoko","match":"(\\\"|\\\\)"},{"name":"string.quoted.double.motoko","match":"(.)"}],"beginCaptures":{"0":{"name":"string.quoted.double.motoko"}},"endCaptures":{"0":{"name":"string.quoted.double.motoko"}}},"switch-statement-keyword":{"name":"keyword.control.switch.motoko","match":"\\b(switch|case)\\b"},"type":{"patterns":[{"include":"#primitive-type"},{"include":"#resolved-type"},{"include":"#optional-type"},{"include":"#protocol-composition-type"}]}}}