github-linguist 7.19.0 → 7.22.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/ext/linguist/lex.linguist_yy.c +584 -498
  3. data/ext/linguist/lex.linguist_yy.h +2 -3
  4. data/ext/linguist/tokenizer.l +52 -15
  5. data/grammars/liquid.injection.json +1 -1
  6. data/grammars/markdown.cadence.codeblock.json +1 -0
  7. data/grammars/markdown.prisma.codeblock.json +1 -0
  8. data/grammars/source.abap.json +1 -1
  9. data/grammars/source.abl.json +1 -1
  10. data/grammars/source.acucobol.json +1 -1
  11. data/grammars/source.alloy.json +1 -1
  12. data/grammars/source.astro.json +1 -0
  13. data/grammars/source.ats.json +1 -1
  14. data/grammars/source.ballerina.json +1 -1
  15. data/grammars/source.berry.bytecode.json +1 -0
  16. data/grammars/source.berry.json +1 -0
  17. data/grammars/source.bms.json +1 -0
  18. data/grammars/source.bmsmap.json +1 -0
  19. data/grammars/source.brs.json +1 -0
  20. data/grammars/source.cadence.json +1 -0
  21. data/grammars/source.cairo.json +1 -0
  22. data/grammars/source.cds.json +1 -0
  23. data/grammars/source.cl.json +1 -1
  24. data/grammars/source.clarion.json +1 -1
  25. data/grammars/source.cobol.json +1 -1
  26. data/grammars/source.cobol_acu_listfile.json +1 -0
  27. data/grammars/source.cobol_mf_listfile.json +1 -0
  28. data/grammars/source.cobol_mfprep.json +1 -0
  29. data/grammars/source.cobol_pcob_listfile.json +1 -0
  30. data/grammars/source.cobolit.json +1 -0
  31. data/grammars/source.cobsql_dir.json +1 -0
  32. data/grammars/source.css.json +1 -1
  33. data/grammars/source.csswg.json +1 -0
  34. data/grammars/source.curlrc.json +1 -1
  35. data/grammars/source.curry.json +1 -1
  36. data/grammars/source.dart.json +1 -1
  37. data/grammars/source.denizenscript.json +1 -1
  38. data/grammars/source.dir.json +1 -0
  39. data/grammars/source.ditroff.json +1 -1
  40. data/grammars/source.fsharp.json +1 -1
  41. data/grammars/source.gcode.json +1 -1
  42. data/grammars/source.gdresource.json +1 -0
  43. data/grammars/source.gdscript.json +1 -1
  44. data/grammars/source.gdshader.json +1 -0
  45. data/grammars/source.genero-forms.json +1 -0
  46. data/grammars/source.genero.json +1 -0
  47. data/grammars/source.git-revlist.json +1 -0
  48. data/grammars/source.hack.json +1 -1
  49. data/grammars/source.hlasm.json +1 -0
  50. data/grammars/source.hx.json +1 -1
  51. data/grammars/source.icurry.json +1 -1
  52. data/grammars/source.jcl.json +1 -1
  53. data/grammars/source.jsligo.json +1 -0
  54. data/grammars/source.json.json +1 -1
  55. data/grammars/source.julia.json +1 -1
  56. data/grammars/source.kotlin.json +1 -1
  57. data/grammars/source.ligo.json +1 -0
  58. data/grammars/source.livescript.json +1 -1
  59. data/grammars/source.mc.json +1 -0
  60. data/grammars/source.mfu.json +1 -0
  61. data/grammars/source.mfupp_dir.json +1 -0
  62. data/grammars/source.miniyaml.json +1 -1
  63. data/grammars/source.mligo.json +1 -0
  64. data/grammars/source.mlir.json +1 -1
  65. data/grammars/source.mo.json +1 -1
  66. data/grammars/source.move.json +1 -0
  67. data/grammars/source.nix.json +1 -1
  68. data/grammars/source.pli.json +1 -0
  69. data/grammars/source.pony.json +1 -1
  70. data/grammars/source.portugol.json +1 -0
  71. data/grammars/source.q.json +1 -1
  72. data/grammars/source.rascal.json +1 -1
  73. data/grammars/source.rego.json +1 -1
  74. data/grammars/source.religo.json +1 -0
  75. data/grammars/source.renpy.json +1 -1
  76. data/grammars/source.rescript.json +1 -1
  77. data/grammars/source.rpgle.json +1 -1
  78. data/grammars/source.rsc.json +1 -0
  79. data/grammars/source.scala.json +1 -1
  80. data/grammars/source.shell.json +1 -1
  81. data/grammars/source.solidity.json +1 -1
  82. data/grammars/source.sqf.json +1 -1
  83. data/grammars/source.stan.json +1 -1
  84. data/grammars/source.star.json +1 -0
  85. data/grammars/source.stl.json +1 -0
  86. data/grammars/source.svelte.json +1 -1
  87. data/grammars/source.swift.json +1 -1
  88. data/grammars/source.talon.json +1 -0
  89. data/grammars/source.ts.json +1 -1
  90. data/grammars/source.tsx.json +1 -1
  91. data/grammars/source.utreport.json +1 -0
  92. data/grammars/source.v.json +1 -1
  93. data/grammars/source.velocity.html.json +1 -0
  94. data/grammars/source.velocity.json +1 -0
  95. data/grammars/source.vyper.json +1 -1
  96. data/grammars/source.whiley.json +1 -0
  97. data/grammars/source.win32-messages.json +1 -0
  98. data/grammars/source.wren.json +1 -0
  99. data/grammars/source.wsd.json +1 -1
  100. data/grammars/source.yara.json +1 -1
  101. data/grammars/source.yul.json +1 -0
  102. data/grammars/text.hash-commented.json +1 -0
  103. data/grammars/text.html.liquid.json +1 -1
  104. data/grammars/text.html.markdown.astro.json +1 -1
  105. data/grammars/text.html.statamic.json +1 -0
  106. data/grammars/text.savane.json +1 -0
  107. data/grammars/text.srt.json +1 -1
  108. data/grammars/text.vtt.json +1 -0
  109. data/grammars/version +1 -1
  110. data/lib/linguist/VERSION +1 -1
  111. data/lib/linguist/blob_helper.rb +2 -2
  112. data/lib/linguist/generic.yml +2 -0
  113. data/lib/linguist/heuristics.yml +34 -1
  114. data/lib/linguist/language.rb +2 -2
  115. data/lib/linguist/languages.json +1 -1
  116. data/lib/linguist/languages.yml +327 -6
  117. data/lib/linguist/samples.json +1 -1
  118. data/lib/linguist/vendor.yml +4 -1
  119. metadata +60 -16
  120. data/grammars/source.brightauthorproject.json +0 -1
  121. data/grammars/source.brightscript.json +0 -1
  122. data/grammars/source.opencobol.json +0 -1
  123. data/grammars/source.vtt.json +0 -1
  124. data/grammars/text.html.astro.json +0 -1
  125. data/lib/linguist/linguist.so +0 -0
@@ -1 +1 @@
1
- {"name":"Kotlin","scopeName":"source.kotlin","patterns":[{"include":"#comments"},{"include":"#package"},{"include":"#imports"},{"include":"#code"}],"repository":{"annotations":{"patterns":[{"name":"meta.annotation.kotlin","match":"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:\\s*?[a-zA-Z_]\\w*"},{"name":"meta.annotation.kotlin","begin":"@[a-zA-Z_]\\w*\\s*(\\()","end":"\\)","patterns":[{"include":"#code"},{"name":"punctuation.seperator.property.kotlin","match":","}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.end.kotlin"}}},{"name":"meta.annotation.kotlin","match":"@[a-zA-Z_]\\w*"}]},"braces":{"patterns":[{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]},"brackets":{"patterns":[{"name":"meta.brackets.kotlin","begin":"\\[","end":"\\]","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.kotlin"}}}]},"builtin-functions":{"patterns":[{"match":"\\b(apply|also|let|run|takeIf|takeWhile|takeUnless|with|print|println)\\b\\s*(?={|\\()","captures":{"1":{"name":"support.function.kotlin"}}},{"match":"\\b(arrayListOf|mutableListOf|listOf|mutableMapOf|mapOf|mutableSetOf|setOf)\\b\\s*(?={|\\()","captures":{"1":{"name":"support.function.kotlin"}}}]},"class-ident":{"patterns":[{"name":"entity.name.type.class.kotlin","match":"\\b[A-Z_]\\w*\\b"}]},"class-literal":{"patterns":[{"name":"meta.class.kotlin","begin":"(?=\\b(?:(?:(?:data|value)\\s+)?class|(?:(?:fun|value)\\s+)?interface)\\s+\\w+)\\b","end":"(?=\\}|$)","patterns":[{"include":"#keyword"},{"begin":"\\b((?:(?:data|value)\\s+)?class|(?:(?:fun|value)\\s+)?interface)\\b\\s+(\\w+)","end":"(?=\\(|\\{|$)","patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#types"}],"beginCaptures":{"1":{"name":"storage.modifier.kotlin"},"2":{"name":"entity.name.class.kotlin"}}},{"name":"meta.parameters.kotlin","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comments"},{"include":"#class-parameter-list"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"},"1":{"name":"punctuation.definition.parameters.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"},"1":{"name":"punctuation.definition.parameters.end.kotlin"}}},{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]}],"repository":{"class-parameter-list":{"patterns":[{"include":"#generic"},{"include":"#annotations"},{"include":"#keywords"},{"match":"(\\w+)\\s*(:)","captures":{"1":{"name":"variable.parameter.function.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"}}},{"name":"punctuation.seperator.kotlin","match":","},{"include":"#types"}]}}},"code":{"patterns":[{"include":"#comments"},{"include":"#comments-inline"},{"include":"#annotations"},{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"#class-literal"},{"include":"#literal-functions"},{"include":"#literals"},{"include":"#keywords"},{"include":"#types"},{"include":"#operators"},{"include":"#constants"},{"include":"#punctuations"},{"include":"#builtin-functions"}]},"comments":{"patterns":[{"include":"#inline"},{"name":"comment.block.kotlin","begin":"/\\*","end":"\\*/","patterns":[{"include":"#nested"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.kotlin"}}}],"repository":{"inline":{"patterns":[{"match":"(//).*$\\n?","captures":{"0":{"name":"punctuation.definition.comment.kotlin"},"1":{"name":"comment.line.double-slash.kotlin"}}}]},"nested":{"patterns":[{"begin":"/\\*","end":"\\*/","patterns":[{"include":"#nested"}]}]}}},"constants":{"patterns":[{"name":"constant.language.kotlin","match":"\\b(class)\\b"},{"name":"variable.language.kotlin","match":"\\b(this|super)\\b"}]},"generic":{"patterns":[{"begin":"(?=\\\u003c(?:[A-Z_]|\\*|in|out))","end":"(?\u003c=\\\u003e)(?!\\\u003e)","patterns":[{"name":"punctuation.bracket.angle.begin.kotlin","match":"\u003c"},{"name":"punctuation.bracket.angle.end.kotlin","match":"\u003e"},{"name":"entity.name.type.generic.wildcard.kotlin","match":"\\*"},{"include":"#generic-parameter-list"},{"name":"punctuation.seperator.kotlin","match":","}]}],"repository":{"generic-parameter-list":{"patterns":[{"include":"#annotations"},{"name":"storage.modifier.generic.variance.kotlin","match":"\\b(in|out)\\b"},{"include":"#built-in-types"},{"include":"#class-ident"},{"include":"#generic"},{"include":"#operators"}]}}},"imports":{"patterns":[{"name":"meta.import.kotlin","match":"^\\s*(import)\\s+((?:[`][^$`]+[`]|[^` $.]+)(?:\\.(?:[`][^$`]+[`]|[^` $.]+))*)(?:\\s+(as)\\s+([`][^$`]+[`]|[^` $.]+))?$","captures":{"1":{"name":"keyword.other.import.kotlin"},"2":{"name":"storage.modifier.import.kotlin"},"3":{"name":"keyword.other.kotlin"},"4":{"name":"entity.name.type"}}}]},"keywords":{"patterns":[{"name":"keyword.operator.kotlin","match":"(\\!in|\\!is|as\\?)\\b"},{"name":"keyword.operator.kotlin","match":"\\b(in|is|as|assert)\\b"},{"name":"storage.type.kotlin","match":"\\b(val|var)\\b"},{"name":"punctuation.definition.variable.kotlin","match":"\\b(\\_)\\b"},{"name":"storage.type.kotlin","match":"\\b(tailrec|operator|infix|typealias|reified|copy(?=\\s+fun|\\s+var))\\b"},{"name":"storage.modifier.kotlin","match":"\\b(out|in|yield|typealias|override)\\b"},{"name":"storage.modifier.kotlin","match":"\\b(?\u003c![+-/%*=(,]\\s)(inline|external|public|private|protected|internal|abstract|final|sealed|enum|open|annotation|expect|actual|const|lateinit)(?=\\s(?!(?:\\s*)(?:[+-/%*=:).,]|$)))\\b"},{"name":"storage.modifier.kotlin","match":"\\b(vararg(?=\\s+\\w+:))\\b"},{"name":"storage.modifier.kotlin","match":"\\b(suspend(?!\\s*[\\(]?\\s*\\{))\\b"},{"name":"keyword.control.catch-exception.kotlin","match":"\\b(try|catch|finally|throw)\\b"},{"name":"keyword.control.conditional.kotlin","match":"\\b(if|else|when)\\b"},{"name":"keyword.control.kotlin","match":"\\b(while|for|do|return|break|continue)\\b"},{"name":"entity.name.function.constructor","match":"\\b(constructor|init)\\b"},{"name":"storage.type.kotlin","match":"\\b(companion|object)\\b"}]},"literal-functions":{"patterns":[{"name":"meta.function.kotlin","begin":"(?=\\b(?:fun)\\b)","end":"(?\u003c=$|=|\\})","patterns":[{"include":"#keywords"},{"begin":"\\bfun\\b","end":"(?=\\()","patterns":[{"include":"#generic"},{"match":"(`[^`]*`)","captures":{"0":{"name":"entity.name.function.kotlin"},"1":{"name":"string.quoted.backtick.kotlin"}}},{"match":"([\\.\u003c\\?\u003e\\w]+\\.)?(\\w+)","captures":{"2":{"name":"entity.name.function.kotlin"}}},{"include":"#types"}],"beginCaptures":{"0":{"name":"keyword.other.kotlin"}}},{"name":"meta.parameters.kotlin","begin":"(\\()","end":"(\\))","patterns":[{"include":"#function-parameter-list"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"},"1":{"name":"punctuation.definition.parameters.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"},"1":{"name":"punctuation.definition.parameters.end.kotlin"}}},{"name":"keyword.operator.single-expression.kotlin","match":"="},{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}},{"include":"#return-type"}]}],"repository":{"function-parameter-list":{"patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#keywords"},{"match":"(\\w+)\\s*(:)","captures":{"1":{"name":"variable.parameter.function.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"}}},{"name":"punctuation.seperator.kotlin","match":","},{"include":"#types"}]},"return-type":{"patterns":[{"name":"meta.return.type.kotlin","begin":"(?\u003c=\\))\\s*(:)(?=\\s*\\S)","end":"(?\u003c![:|\u0026])(?=$|^|[={};,]|//)","patterns":[{"include":"#types"}]}]}}},"literals":{"patterns":[{"include":"#boolean"},{"include":"#numeric"},{"include":"#string"},{"include":"#null"}],"repository":{"boolean":{"patterns":[{"name":"constant.language.boolean.kotlin","match":"\\b(true|false)\\b"}]},"null":{"patterns":[{"name":"constant.language.null.kotlin","match":"\\b(null)\\b"}]},"numeric":{"patterns":[{"name":"constant.numeric.hex.kotlin","match":"\\b(0(x|X)[0-9A-Fa-f_]*)([LuU]|[uU]L)?\\b"},{"name":"constant.numeric.binary.kotlin","match":"\\b(0(b|B)[0-1_]*)([LuU]|[uU]L)?\\b"},{"name":"constant.numeric.float.kotlin","match":"\\b([0-9][0-9_]*\\.[0-9][0-9_]*[fFL]?)\\b"},{"name":"constant.numeric.integer.kotlin","match":"\\b([0-9][0-9_]*([fFLuU]|[uU]L)?)\\b"}]},"string":{"patterns":[{"name":"string.quoted.triple.kotlin","begin":"\"\"\"","end":"\"\"\"(?!\")","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.kotlin"}}},{"name":"string.quoted.double.kotlin","begin":"(?!')\"","end":"\"","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.kotlin"}}},{"name":"string.quoted.single.kotlin","begin":"'","end":"'","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.kotlin"}}}],"repository":{"string-content":{"patterns":[{"name":"constant.character.escape.kotlin","match":"\\\\[0\\\\tnr\"']"},{"name":"constant.character.escape.unicode.kotlin","match":"\\\\(x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|.)"},{"name":"entity.string.template.element.kotlin","begin":"\\$(\\{)","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"1":{"name":"punctuation.section.block.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.kotlin"}}},{"name":"entity.string.template.element.kotlin","match":"\\$[a-zA-Z_]\\w*"}]}}}}},"object-literal":{"patterns":[{"name":"meta.class.kotlin","begin":"(?=\\b(?:object)\\b((\\s*:\\s*)|\\s+)\\w+)","end":"(?=\\}|$)","patterns":[{"include":"#annotation"},{"begin":"\\b(object)\\b\\s*(:)\\s*(\\w+)","end":"(?=\\(|\\{|$)","patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#types"}],"beginCaptures":{"1":{"name":"storage.modifier.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"},"3":{"name":"entity.name.class.kotlin"}}},{"name":"meta.parameters.kotlin","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comments"},{"include":"#class-parameter-list"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"},"1":{"name":"punctuation.definition.parameters.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"},"1":{"name":"punctuation.definition.parameters.end.kotlin"}}},{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]}],"repository":{"class-parameter-list":{"patterns":[{"include":"#annotations"},{"include":"#keywords"},{"match":"(\\w+)\\s*(:)","captures":{"1":{"name":"variable.parameter.function.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"}}},{"name":"punctuation.seperator.kotlin","match":","},{"include":"#types"}]}}},"operators":{"patterns":[{"name":"keyword.operator.bitwise.kotlin","match":"\\b(and|or|not|inv)\\b"},{"name":"keyword.operator.comparison.kotlin","match":"(==|!=|===|!==|\u003c=|\u003e=|\u003c|\u003e)"},{"name":"keyword.operator.assignment.kotlin","match":"(=)"},{"name":"keyword.operator.declaration.kotlin","match":"(:(?!:))"},{"name":"keyword.operator.elvis.kotlin","match":"(\\?:)"},{"name":"keyword.operator.increment-decrement.kotlin","match":"(\\-\\-|\\+\\+)"},{"name":"keyword.operator.arithmetic.kotlin","match":"(\\-|\\+|\\*|\\/|%)"},{"name":"keyword.operator.arithmetic.assign.kotlin","match":"(\\+\\=|\\-\\=|\\*\\=|\\/\\=)"},{"name":"keyword.operator.logical.kotlin","match":"(\\!|\\\u0026\\\u0026|\\|\\|)"},{"name":"keyword.operator.range.kotlin","match":"(\\.\\.)"}]},"package":{"patterns":[{"match":"^\\s*(package)\\b(?:\\s*([^ ;$]+)\\s*)?","captures":{"1":{"name":"keyword.other.kotlin"},"2":{"name":"entity.name.package.kotlin"}}}]},"parens":{"patterns":[{"name":"meta.group.kotlin","begin":"\\(","end":"\\)","patterns":[{"include":"#keyword-punctuation"},{"include":"#parameters"},{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]},"punctuations":{"patterns":[{"name":"punctuation.accessor.reference.kotlin","match":"::"},{"name":"punctuation.accessor.dot.safe.kotlin","match":"\\?\\."},{"name":"punctuation.accessor.dot.kotlin","match":"(?\u003c!\\?)\\."},{"name":"punctuation.seperator.kotlin","match":"\\,"},{"name":"punctuation.terminator.kotlin","match":"\\;"}]},"types":{"patterns":[{"include":"#built-in-types"},{"include":"#class-ident"},{"include":"#generic"},{"match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(-\u003e)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])","captures":{"1":{"name":"keyword.operator.type.function.kotlin"}}},{"name":"keyword.operator.type.nullable.kotlin","match":"\\?(?!\\.)"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#types"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}],"repository":{"built-in-types":{"patterns":[{"name":"support.class.kotlin","match":"\\b(Nothing|Any|Unit|String|CharSequence|Int|Boolean|Char|Long|Double|Float|Short|Byte|UByte|UShort|UInt|ULong|Array|List|Map|Set|dynamic)\\b(\\?)?"},{"name":"support.class.kotlin","match":"\\b(IntArray|BooleanArray|CharArray|LongArray|DoubleArray|FloatArray|ShortArray|ByteArray|UByteArray|UShortArray|UIntArray|ULongArray)\\b(\\?)?"}]}}}}}
1
+ {"name":"Kotlin","scopeName":"source.kotlin","patterns":[{"include":"#comments"},{"include":"#package"},{"include":"#imports"},{"include":"#code"}],"repository":{"annotations":{"patterns":[{"name":"meta.annotation.kotlin","match":"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:\\s*?[a-zA-Z_]\\w*"},{"name":"meta.annotation.kotlin","begin":"@[a-zA-Z_]\\w*\\s*(\\()","end":"\\)","patterns":[{"include":"#code"},{"name":"punctuation.seperator.property.kotlin","match":","}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.end.kotlin"}}},{"name":"meta.annotation.kotlin","match":"@[a-zA-Z_]\\w*"}]},"braces":{"patterns":[{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]},"brackets":{"patterns":[{"name":"meta.brackets.kotlin","begin":"\\[","end":"\\]","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.kotlin"}}}]},"builtin-functions":{"patterns":[{"match":"\\b(apply|also|let|run|takeIf|takeWhile|takeUnless|with|print|println)\\b\\s*(?={|\\()","captures":{"1":{"name":"support.function.kotlin"}}},{"match":"\\b(arrayListOf|mutableListOf|listOf|mutableMapOf|mapOf|mutableSetOf|setOf)\\b\\s*(?={|\\()","captures":{"1":{"name":"support.function.kotlin"}}}]},"class-ident":{"patterns":[{"name":"entity.name.type.class.kotlin","match":"\\b[A-Z_]\\w*\\b"}]},"class-literal":{"patterns":[{"name":"meta.class.kotlin","begin":"(?=\\b(?:(?:(?:data|value)\\s+)?class|(?:(?:fun|value)\\s+)?interface)\\s+\\w+)\\b","end":"(?=\\}|$)","patterns":[{"include":"#keywords"},{"begin":"\\b((?:(?:data|value)\\s+)?class|(?:(?:fun|value)\\s+)?interface)\\b\\s+(\\w+)","end":"(?=\\(|\\{|$)","patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#types"}],"beginCaptures":{"1":{"name":"storage.modifier.kotlin"},"2":{"name":"entity.name.class.kotlin"}}},{"name":"meta.parameters.kotlin","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comments"},{"include":"#class-parameter-list"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"},"1":{"name":"punctuation.definition.parameters.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"},"1":{"name":"punctuation.definition.parameters.end.kotlin"}}},{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]}],"repository":{"class-parameter-list":{"patterns":[{"include":"#generic"},{"include":"#annotations"},{"include":"#keywords"},{"match":"(\\w+)\\s*(:)","captures":{"1":{"name":"variable.parameter.function.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"}}},{"name":"punctuation.seperator.kotlin","match":","},{"include":"#types"}]}}},"code":{"patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"#class-literal"},{"include":"#literal-functions"},{"include":"#literals"},{"include":"#keywords"},{"include":"#types"},{"include":"#operators"},{"include":"#constants"},{"include":"#punctuations"},{"include":"#builtin-functions"}]},"comments":{"patterns":[{"include":"#inline"},{"name":"comment.block.kotlin","begin":"/\\*","end":"\\*/","patterns":[{"include":"#nested"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.kotlin"}}}],"repository":{"inline":{"patterns":[{"match":"(//).*$\\n?","captures":{"0":{"name":"punctuation.definition.comment.kotlin"},"1":{"name":"comment.line.double-slash.kotlin"}}}]},"nested":{"patterns":[{"begin":"/\\*","end":"\\*/","patterns":[{"include":"#nested"}]}]}}},"constants":{"patterns":[{"name":"constant.language.kotlin","match":"\\b(class)\\b"},{"name":"variable.language.kotlin","match":"\\b(this|super)\\b"}]},"generic":{"patterns":[{"begin":"(?=\\\u003c(?:[A-Z_]|\\*|in|out))","end":"(?\u003c=\\\u003e)(?!\\\u003e)","patterns":[{"name":"punctuation.bracket.angle.begin.kotlin","match":"\u003c"},{"name":"punctuation.bracket.angle.end.kotlin","match":"\u003e"},{"name":"entity.name.type.generic.wildcard.kotlin","match":"\\*"},{"include":"#generic-parameter-list"},{"name":"punctuation.seperator.kotlin","match":","}]}],"repository":{"generic-parameter-list":{"patterns":[{"include":"#annotations"},{"name":"storage.modifier.generic.variance.kotlin","match":"\\b(in|out)\\b"},{"include":"#built-in-types"},{"include":"#class-ident"},{"include":"#generic"},{"include":"#operators"}]}}},"imports":{"patterns":[{"name":"meta.import.kotlin","match":"^\\s*(import)\\s+((?:[`][^$`]+[`]|[^` $.]+)(?:\\.(?:[`][^$`]+[`]|[^` $.]+))*)(?:\\s+(as)\\s+([`][^$`]+[`]|[^` $.]+))?$","captures":{"1":{"name":"keyword.other.import.kotlin"},"2":{"name":"storage.modifier.import.kotlin"},"3":{"name":"keyword.other.kotlin"},"4":{"name":"entity.name.type"}}}]},"keywords":{"patterns":[{"name":"keyword.operator.kotlin","match":"(\\!in|\\!is|as\\?)\\b"},{"name":"keyword.operator.kotlin","match":"\\b(in|is|as|assert)\\b"},{"name":"storage.type.kotlin","match":"\\b(val|var)\\b"},{"name":"punctuation.definition.variable.kotlin","match":"\\b(\\_)\\b"},{"name":"storage.type.kotlin","match":"\\b(tailrec|operator|infix|typealias|reified|copy(?=\\s+fun|\\s+var))\\b"},{"name":"storage.modifier.kotlin","match":"\\b(out|in|yield|typealias|override)\\b"},{"name":"storage.modifier.kotlin","match":"\\b(?\u003c![+-/%*=(,]\\s)(inline|external|public|private|protected|internal|abstract|final|sealed|enum|open|annotation|expect|actual|const|lateinit)(?=\\s(?!(?:\\s*)(?:[+-/%*=:).,]|$)))\\b"},{"name":"storage.modifier.kotlin","match":"\\b(vararg(?=\\s+\\w+:))\\b"},{"name":"storage.modifier.kotlin","match":"\\b(suspend(?!\\s*[\\(]?\\s*\\{))\\b"},{"name":"keyword.control.catch-exception.kotlin","match":"\\b(try|catch|finally|throw)\\b"},{"name":"keyword.control.conditional.kotlin","match":"\\b(if|else|when)\\b"},{"name":"keyword.control.kotlin","match":"\\b(while|for|do|return|break|continue)\\b"},{"name":"entity.name.function.constructor","match":"\\b(constructor|init)\\b"},{"name":"storage.type.kotlin","match":"\\b(companion|object)\\b"}]},"literal-functions":{"patterns":[{"name":"meta.function.kotlin","begin":"(?=\\b(?:fun)\\b)","end":"(?\u003c=$|=|\\})","patterns":[{"include":"#keywords"},{"begin":"\\bfun\\b","end":"(?=\\()","patterns":[{"include":"#generic"},{"match":"(`[^`]*`)","captures":{"0":{"name":"entity.name.function.kotlin"},"1":{"name":"string.quoted.backtick.kotlin"}}},{"match":"([\\.\u003c\\?\u003e\\w]+\\.)?(\\w+)","captures":{"2":{"name":"entity.name.function.kotlin"}}},{"include":"#types"}],"beginCaptures":{"0":{"name":"keyword.other.kotlin"}}},{"name":"meta.parameters.kotlin","begin":"(\\()","end":"(\\))","patterns":[{"include":"#function-parameter-list"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"},"1":{"name":"punctuation.definition.parameters.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"},"1":{"name":"punctuation.definition.parameters.end.kotlin"}}},{"name":"keyword.operator.single-expression.kotlin","match":"="},{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}},{"include":"#return-type"}]}],"repository":{"function-parameter-list":{"patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#keywords"},{"match":"(\\w+)\\s*(:)","captures":{"1":{"name":"variable.parameter.function.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"}}},{"name":"punctuation.seperator.kotlin","match":","},{"include":"#types"}]},"return-type":{"patterns":[{"name":"meta.return.type.kotlin","begin":"(?\u003c=\\))\\s*(:)(?=\\s*\\S)","end":"(?\u003c![:|\u0026])(?=$|^|[={};,]|//)","patterns":[{"include":"#types"}]}]}}},"literals":{"patterns":[{"include":"#boolean"},{"include":"#numeric"},{"include":"#string"},{"include":"#null"}],"repository":{"boolean":{"patterns":[{"name":"constant.language.boolean.kotlin","match":"\\b(true|false)\\b"}]},"null":{"patterns":[{"name":"constant.language.null.kotlin","match":"\\b(null)\\b"}]},"numeric":{"patterns":[{"name":"constant.numeric.hex.kotlin","match":"\\b(0(x|X)[0-9A-Fa-f_]*)([LuU]|[uU]L)?\\b"},{"name":"constant.numeric.binary.kotlin","match":"\\b(0(b|B)[0-1_]*)([LuU]|[uU]L)?\\b"},{"name":"constant.numeric.float.kotlin","match":"\\b([0-9][0-9_]*\\.[0-9][0-9_]*[fFL]?)\\b"},{"name":"constant.numeric.integer.kotlin","match":"\\b([0-9][0-9_]*([fFLuU]|[uU]L)?)\\b"}]},"string":{"patterns":[{"name":"string.quoted.triple.kotlin","begin":"\"\"\"","end":"\"\"\"(?!\")","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.kotlin"}}},{"name":"string.quoted.double.kotlin","begin":"(?!')\"","end":"\"","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.kotlin"}}},{"name":"string.quoted.single.kotlin","begin":"'","end":"'","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.kotlin"}}}],"repository":{"string-content":{"patterns":[{"name":"constant.character.escape.kotlin","match":"\\\\[0\\\\tnr\"']"},{"name":"constant.character.escape.unicode.kotlin","match":"\\\\(x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|.)"},{"name":"entity.string.template.element.kotlin","begin":"\\$(\\{)","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"1":{"name":"punctuation.section.block.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.kotlin"}}},{"name":"entity.string.template.element.kotlin","match":"\\$[a-zA-Z_]\\w*"}]}}}}},"object-literal":{"patterns":[{"name":"meta.class.kotlin","begin":"(?=\\b(?:object)\\b((\\s*:\\s*)|\\s+)\\w+)","end":"(?=\\}|$)","patterns":[{"include":"#annotation"},{"begin":"\\b(object)\\b\\s*(:)\\s*(\\w+)","end":"(?=\\(|\\{|$)","patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#types"}],"beginCaptures":{"1":{"name":"storage.modifier.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"},"3":{"name":"entity.name.class.kotlin"}}},{"name":"meta.parameters.kotlin","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comments"},{"include":"#class-parameter-list"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"},"1":{"name":"punctuation.definition.parameters.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"},"1":{"name":"punctuation.definition.parameters.end.kotlin"}}},{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]}],"repository":{"class-parameter-list":{"patterns":[{"include":"#annotations"},{"include":"#keywords"},{"match":"(\\w+)\\s*(:)","captures":{"1":{"name":"variable.parameter.function.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"}}},{"name":"punctuation.seperator.kotlin","match":","},{"include":"#types"}]}}},"operators":{"patterns":[{"name":"keyword.operator.bitwise.kotlin","match":"\\b(and|or|not|inv)\\b"},{"name":"keyword.operator.comparison.kotlin","match":"(==|!=|===|!==|\u003c=|\u003e=|\u003c|\u003e)"},{"name":"keyword.operator.assignment.kotlin","match":"(=)"},{"name":"keyword.operator.declaration.kotlin","match":"(:(?!:))"},{"name":"keyword.operator.elvis.kotlin","match":"(\\?:)"},{"name":"keyword.operator.increment-decrement.kotlin","match":"(\\-\\-|\\+\\+)"},{"name":"keyword.operator.arithmetic.kotlin","match":"(\\-|\\+|\\*|\\/|%)"},{"name":"keyword.operator.arithmetic.assign.kotlin","match":"(\\+\\=|\\-\\=|\\*\\=|\\/\\=)"},{"name":"keyword.operator.logical.kotlin","match":"(\\!|\\\u0026\\\u0026|\\|\\|)"},{"name":"keyword.operator.range.kotlin","match":"(\\.\\.)"}]},"package":{"patterns":[{"match":"^\\s*(package)\\b(?:\\s*([^ ;$]+)\\s*)?","captures":{"1":{"name":"keyword.other.kotlin"},"2":{"name":"entity.name.package.kotlin"}}}]},"parens":{"patterns":[{"name":"meta.group.kotlin","begin":"\\(","end":"\\)","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]},"punctuations":{"patterns":[{"name":"punctuation.accessor.reference.kotlin","match":"::"},{"name":"punctuation.accessor.dot.safe.kotlin","match":"\\?\\."},{"name":"punctuation.accessor.dot.kotlin","match":"(?\u003c!\\?)\\."},{"name":"punctuation.seperator.kotlin","match":"\\,"},{"name":"punctuation.terminator.kotlin","match":"\\;"}]},"types":{"patterns":[{"include":"#built-in-types"},{"include":"#class-ident"},{"include":"#generic"},{"match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(-\u003e)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])","captures":{"1":{"name":"keyword.operator.type.function.kotlin"}}},{"name":"keyword.operator.type.nullable.kotlin","match":"\\?(?!\\.)"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#types"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}],"repository":{"built-in-types":{"patterns":[{"name":"support.class.kotlin","match":"\\b(Nothing|Any|Unit|String|CharSequence|Int|Boolean|Char|Long|Double|Float|Short|Byte|UByte|UShort|UInt|ULong|Array|List|Map|Set|dynamic)\\b(\\?)?"},{"name":"support.class.kotlin","match":"\\b(IntArray|BooleanArray|CharArray|LongArray|DoubleArray|FloatArray|ShortArray|ByteArray|UByteArray|UShortArray|UIntArray|ULongArray)\\b(\\?)?"}]}}}}}
@@ -0,0 +1 @@
1
+ {"name":"ligo","scopeName":"source.ligo","patterns":[{"include":"#string"},{"include":"#block_comment"},{"include":"#line_comment"},{"include":"#attribute"},{"include":"#macro"},{"include":"#controlkeywords"},{"include":"#function"},{"include":"#operators"},{"include":"#typedefinition"},{"include":"#module"},{"include":"#identifierconstructor"},{"include":"#constorvar"},{"include":"#numericliterals"}],"repository":{"attribute":{"name":"keyword.control.attribute.ligo","match":"\\[@.*\\]"},"block_comment":{"name":"comment.block.ligo","begin":"\\(\\*","end":"\\*\\)"},"constorvar":{"match":"\\b(const|var)\\b","captures":{"1":{"name":"keyword.other.ligo"}}},"controlkeywords":{"name":"keyword.control.ligo","match":"\\b(case|with|if|then|else|assert|failwith|begin|end|in|is|from|skip|block|contains|to|step|of|while|for|remove)\\b"},"function":{"match":"\\b(function)\\b\\s*\\b([a-zA-Z$_][a-zA-Z0-9$_]*)","captures":{"1":{"name":"keyword.other.ligo"},"2":{"name":"entity.name.function.ligo"}}},"identifierconstructor":{"match":"\\b([A-Z][a-zA-Z0-9_$]*)\\s+","captures":{"1":{"name":"variable.other.enummember.ligo"}}},"line_comment":{"name":"comment.block.ligo","match":"\\/\\/.*$"},"macro":{"name":"meta.preprocessor.ligo","match":"^\\#[a-zA-Z]+"},"module":{"match":"\\b([A-Z][a-zA-Z0-9_$]*)\\.([a-z][a-zA-Z0-9_$]*)","captures":{"1":{"name":"storage.class.ligo"},"2":{"name":"storage.var.ligo"}}},"numericliterals":{"name":"constant.numeric.ligo","match":"(\\+|\\-)?[0-9]+(n|tz|tez|mutez|)\\b"},"operators":{"name":"keyword.operator.ligo","match":"\\s+(\\-|\\+|mod|land|lor|lxor|lsl|lsr|\u0026\u0026|\\|\\||\u003e|=/=|\u003c=|=\u003e|\u003c|\u003e)\\s+"},"string":{"name":"string.quoted.double.ligo","begin":"\\\"","end":"\\\""},"typedefinition":{"name":"entity.name.type.ligo","match":"\\b(type)\\b"}}}
@@ -1 +1 @@
1
- {"name":"LiveScript","scopeName":"source.livescript","patterns":[{"name":"storage.type.function.livescript","match":"(?x)\n\t\t\t\t!?[~-]{1,2}\u003e\\*?\n\t\t\t\t|\u003c[~-]{1,2}!?\n\t\t\t\t|\\(\\s* (?= instanceof[\\s)]|and[\\s)]|or[\\s)]|is[\\s)]|isnt[\\s)]|in[\\s)]|import[\\s)]|import\\ all[\\s)] |\\.|[-+/*%^\u0026\u003c\u003e=|][\\b\\s)\\w$]|\\*\\*|\\%\\%)\n\t\t\t\t| (?\u003c=[\\s(]instanceof|[\\s(]and|[\\s(]or|[\\s(]is|[\\s(]isnt|[\\s(]in|[\\s(]import|[\\s(]import\\ all|[\\s(]do|\\.|\\*\\*|\\%\\%|[\\b\\s(\\w$][-+/*%^\u0026\u003c\u003e=|]) \\s*\\)\n\t\t\t"},{"name":"comment.block.livescript","begin":"\\/\\*","end":"\\*\\/","patterns":[{"name":"storage.type.annotation.livescriptscript","match":"@\\w*"}],"captures":{"0":{"name":"punctuation.definition.comment.livescript"}}},{"name":"comment.line.number-sign.livescript","match":"(#)(?!\\{).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.livescript"}}},{"match":"((?:!|~|!~|~!)?function\\*?)\\s+([$\\w\\-]*[$\\w]+)","captures":{"1":{"name":"storage.type.function.livescript"},"2":{"name":"entity.name.function.livescript"}}},{"match":"(new)\\s+(\\w+(?:\\.\\w*)*)","captures":{"1":{"name":"keyword.operator.new.livescript"},"2":{"name":"entity.name.type.instance.livescript"}}},{"name":"keyword.illegal.livescript","match":"\\b(package|private|protected|public|interface|enum|static)(?!-)\\b"},{"name":"string.quoted.heredoc.livescript","begin":"'''","end":"'''","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}},{"name":"string.quoted.double.heredoc.livescript","begin":"\"\"\"","end":"\"\"\"","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\."},{"include":"#interpolated_livescript"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}},{"name":"string.quoted.script.livescript","begin":"``","end":"``","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}},{"name":"string.array-literal.livescript","begin":"\u003c\\[","end":"\\]\u003e"},{"name":"string.regexp.livescript","match":"/{2}(?![\\s=/*+{}?]).*?[^\\\\]/[igmy]{0,4}(?![a-zA-Z0-9])/{2}"},{"name":"string.regexp.livescript","begin":"/{2}\\n","end":"/{2}[imgy]{0,4}","patterns":[{"include":"#embedded_spaced_comment"},{"include":"#interpolated_livescript"}]},{"name":"string.regexp.livescript","begin":"/{2}","end":"/{2}[imgy]{0,4}","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"},{"include":"#interpolated_livescript"}]},{"name":"string.regexp.livescript","match":"/(?![\\s=/*+{}?]).*?[^\\\\]/[igmy]{0,4}(?![a-zA-Z0-9])"},{"name":"keyword.operator.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(\n\t\t\t\t\tinstanceof|new|delete|typeof|and|or|is|isnt|not\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"name":"keyword.operator.livescript","match":"\u003c\\||\\|\u003e"},{"name":"keyword.control.livescript","match":"=\u003e"},{"name":"keyword.control.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(?:\n\t\t\t\treturn|break|continue|throw\n\t\t\t\t|try|if|while|for|for\\s+own|switch|unless|until\n\t\t\t\t|catch|finally|else|nobreak|case|default|fallthrough|when|otherwise|then\n\t\t\t\t|yield\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"name":"keyword.operator.livescript","match":"(?x)\n\t\t\t\tand=|or=|%|\u0026|\\^|\\*|\\/|(?\u003c![a-zA-Z$_])(\\-)?\\-(?!\\-?\u003e)|\\+\\+|\\+|\n\t\t\t\t~(?!~?\u003e)|==|=|!=|\u003c=|\u003e=|\u003c\u003c=|\u003e\u003e=|\n\t\t\t\t\u003e\u003e\u003e=|\u003c\u003e|\u003c(?!\\[)|(?\u003c!\\])\u003e|(?\u003c!\\w)!(?!([~\\-]+)?\u003e)|\u0026\u0026|\\.\\.(\\.)?|\\s\\.\\s|\\?|\\|\\||\\:|\\*=|(?\u003c!\\()/=|%=|\\+=|\\-=|\\.=|\u0026=\n\t\t\t\t|\\^=\n\t\t\t"},{"name":"storage.type.function.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(?:\n\t\t\t\tfunction\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"name":"keyword.other.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(?:\n\t\t\t\tthis|throw|then|try|typeof!?|til|to\n\t\t\t\t|continue|const|case|catch|class\n\t\t\t\t|in|instanceof|import|import\\s+all|implements|if|is\n\t\t\t\t|default|delete|debugger|do\n\t\t\t\t|for|for\\s+own|finally|function|from|fallthrough\n\t\t\t\t|super|switch\n\t\t\t\t|else|nobreak|extends|export|eval\n\t\t\t\t|and|arguments\n\t\t\t\t|new|not\n\t\t\t\t|unless|until\n\t\t\t\t|while|with|when\n\t\t\t\t|of|or|otherwise\n\t\t\t\t|let|var|loop\n\t\t\t\t|match\n\t\t\t\t|by|yield\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"match":"([a-zA-Z\\$_](?:[\\w$.-])*)\\s*(?!\\::)((:)|(=(?!\u003e)))\\s*(?!(\\s*!?\\s*\\(.*\\))?\\s*(!?[~-]{1,2}\u003e\\*?))","captures":{"1":{"name":"variable.assignment.livescript"},"3":{"name":"punctuation.separator.key-value, keyword.operator.livescript"},"4":{"name":"keyword.operator.livescript"}}},{"name":"meta.variable.assignment.destructured.livescript","begin":"(?\u003c=\\s|^)([\\[\\{])(?=.*?[\\]\\}]\\s+[:=])","end":"([\\]\\}]\\s*[:=])","patterns":[{"include":"#variable_name"},{"include":"#instance_variable"},{"include":"#single_quoted_string"},{"include":"#double_quoted_string"},{"include":"#numeric"}],"beginCaptures":{"0":{"name":"keyword.operator.livescript"}},"endCaptures":{"0":{"name":"keyword.operator.livescript"}}},{"name":"meta.function.livescript","match":"(?x)\n\t\t\t\t(\\s*)\n\t\t\t\t(?=[a-zA-Z\\$_])\n\t\t\t\t([a-zA-Z\\$_]([\\w$.:-])*)\\s*\n\t\t\t\t(?=[:=](\\s*!?\\s*\\(.*\\))?\\s*(!?[~-]{1,2}\u003e\\*?))\n\t\t\t","captures":{"2":{"name":"entity.name.function.livescript"},"3":{"name":"entity.name.function.livescript"},"4":{"name":"variable.parameter.function.livescript"},"5":{"name":"storage.type.function.livescript"}}},{"name":"constant.language.boolean.true.livescript","match":"\\b(?\u003c!\\.)(true|on|yes)(?!\\s*:)\\b"},{"name":"constant.language.boolean.false.livescript","match":"\\b(?\u003c!\\.)(false|off|no)(?!\\s*:)\\b"},{"name":"constant.language.null.livescript","match":"\\b(?\u003c!\\.)(null|void)(?!\\s*:)\\b"},{"name":"variable.language.livescript","match":"\\b(?\u003c!\\.)(super|this|extends)(?!\\s*:)\\b"},{"name":"meta.class.livescript","match":"(class\\b)\\s+(@?[a-zA-Z$_][\\w$.-]*)?(?:\\s+(extends)\\s+(@?[a-zA-Z$_][\\w$.-]*))?","captures":{"1":{"name":"storage.type.class.livescript"},"2":{"name":"entity.name.type.class.livescript"},"3":{"name":"keyword.control.inheritance.livescript"},"4":{"name":"entity.other.inherited-class.livescript"}}},{"name":"keyword.other.livescript","match":"\\b(debugger|\\\\)\\b"},{"name":"support.class.livescript","match":"(?x)\\b(\n\t\t\t\tArray|ArrayBuffer|Blob|Boolean|Date|document|event|Function|\n\t\t\t\tInt(8|16|32|64)Array|Math|Map|Number|\n\t\t\t\tObject|Proxy|RegExp|Set|String|WeakMap|\n\t\t\t\twindow|Uint(8|16|32|64)Array|XMLHttpRequest\n\t\t\t)\\b"},{"name":"entity.name.type.object.livescript","match":"\\b(console)\\b"},{"name":"constant.language.livescript","match":"\\b(Infinity|NaN|undefined)\\b"},{"name":"punctuation.terminator.statement.livescript","match":"\\;"},{"name":"meta.delimiter.object.comma.livescript","match":",[ |\\t]*"},{"name":"meta.delimiter.method.period.livescript","match":"\\."},{"name":"meta.brace.curly.livescript","match":"\\{|\\}"},{"name":"meta.brace.round.livescript","match":"\\(|\\)"},{"name":"meta.brace.square.livescript","match":"\\[|\\]\\s*"},{"include":"#instance_variable"},{"include":"#backslash_string"},{"include":"#single_quoted_string"},{"include":"#double_quoted_string"},{"include":"#numeric"},{"match":"()(@|@@|[$\\w\\-]*[$\\w]+)\\s*(`)","captures":{"1":{"name":"keyword.operator.livescript"},"2":{"name":"meta.function-call.livescript"},"3":{"name":"keyword.operator.livescript"}}},{"name":"keyword.operator.livescript","match":"`"},{"match":"()(@|@@|[$\\w\\-]*[$\\w]+)(?:(\\??\\!)|[(])","captures":{"1":{"name":"keyword.operator.livescript"},"2":{"name":"meta.function-call.livescript"},"3":{"name":"keyword.operator.livescript"}}},{"match":"(@|@@|[$\\w\\-]*[$\\w]+)(\\?)? (?!\\s*(((by|of|and|or|with|when|unless|if|is|isnt|else|nobreak|for|from|not in|in|catch|til|to|then|import|extends|implements|instanceof)\\b)|[=:.*\\/+\\-%\\^\u003c\u003e][ =)]|[`}%*)]|/(?!.*?/)|\u0026\u0026|[.][^.]|=\u003e|\\/ +|\\||\\|\\||\\-\\-|\\+\\+|\\|\u003e|\u003c|\\||$|\\n|\\#|/\\*))","captures":{"1":{"name":"meta.function-call.livescript"},"2":{"name":"keyword.operator.livescript"}}},{"name":"keyword.control.livescript","match":"\\| _"},{"name":"keyword.control.livescript","match":"\\|(?![.])"},{"name":"keyword.operator.livescript","match":"\\|"},{"name":"support.function.console.livescript","match":"((?\u003c=console\\.)(debug|warn|info|log|error|time(End|-end)|assert))\\b"},{"name":"support.function.livescript","match":"(?x)\\b(\n\t\t\t\tdecodeURI(Component)?|encodeURI(Component)?|eval|parse(Float|Int)|require\n\t\t\t)\\b"},{"name":"support.function.prelude.livescript","match":"(?x)(?\u003c![.-])\\b(\n\t\t\t\tmap|filter|reject|partition|find|each|head|tail|last|initial|empty|\n\t\t\t\tvalues|keys|length|cons|append|join|reverse|fold(l|r)?1?|unfoldr|\n\t\t\t\tand(List|-list)|or(List|-list)|any|all|unique|sum|product|mean|compact|\n\t\t\t\tconcat(Map|-map)?|maximum|minimum|scan(l|r)?1?|replicate|slice|apply|\n\t\t\t\tsplit(At|-at)?|take(While|-while)?|drop(While|-while)?|span|first|\n\t\t\t\tbreak(It|-it)|list(ToObj|-to-obj)|obj(ToFunc|-to-func)|\n\t\t\t\tpairs(ToObj|-to-obj)|obj(ToPairs|-to-pairs|ToLists|-to-lists)|\n\t\t\t\tzip(All|-all)?(With|-with)?|compose|curry|partial|flip|fix|\n\t\t\t\tsort(With|-with|By|-by)?|group(By|-by)|break(List|-list|Str|-str)|\n\t\t\t\tdifference|intersection|union|average|flatten|chars|unchars|repeat|\n\t\t\t\tlines|unlines|words|unwords|max|min|negate|abs|signum|quot|rem|div|mod|\n\t\t\t\trecip|pi|tau|exp|sqrt|ln|pow|sin|cos|tan|asin|acos|atan|atan2|truncate|\n\t\t\t\tround|ceiling|floor|is(It|-it)NaN|even|odd|gcd|lcm|disabled__id\n\t\t\t)\\b(?![.-])"},{"name":"support.function.semireserved.livescript","match":"(?x)(?\u003c![.-])\\b(that|it|e|_)\\b"},{"name":"support.function.method.array.livescript","match":"(?x)((?\u003c=(\\.|\\]|\\)))(\n\t\t\t\tapply|call|concat|every|filter|for(Each|-each)|\n\t\t\t\tfrom|has(Own|-own)(Property|-property)|index(Of|-of)|\n\t\t\t\tis(Prototype|-prototype)(Of|-of)|join|last(Index|-index)(Of|-of)|\n\t\t\t\tmap|of|pop|property(Is|-is)(Enumerable|-enumerable)|push|\n\t\t\t\treduce(Right|-right)?|reverse|shift|slice|some|sort|\n\t\t\t\tsplice|to(Locale|-locale)?(String|-string)|unshift|valueOf\n\t\t\t))\\b(?!-) "},{"name":"support.function.static.array.livescript","match":"(?x)((?\u003c=Array\\.)(\n\t\t\t\tisArray\n\t\t\t))\\b"},{"name":"support.function.static.object.livescript","match":"(?x)((?\u003c=Object\\.)(\n\t\t\t\tcreate|define(Propert|-propert)(ies|y)|freeze|\n\t\t\t\tget(Own|-own)(Property|-property)(Descriptors?|Names)|\n\t\t\t\tget(Property|-property)(Descriptor|Names)|getPrototypeOf|\n\t\t\t\tis((Extensible|-extensible)|(Frozen|-frozen)|(Sealed|-sealed))?|\n\t\t\t\tkeys|prevent(Extensions|-extensions)|seal\n\t\t\t))\\b"},{"name":"support.function.static.math.livescript","match":"(?x)((?\u003c=Math\\.)(\n\t\t\t\tabs|acos|acosh|asin|asinh|atan|atan2|atanh|ceil|cos|cosh|exp|expm1|floor|\n\t\t\t\thypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|\n\t\t\t\ttan|tanh|trunc\n\t\t\t))\\b"},{"name":"support.function.static.number.livescript","match":"(?x)((?\u003c=Number\\.)(\n\t\t\t\tis(Finite|Integer|NaN)|to(Integer|-integer)\n\t\t\t))\\b"},{"name":"variable.other.livescript","match":"[\\$\\w][\\w-]*"}],"repository":{"backslash_string":{"patterns":[{"contentName":"string.quoted.single.livescript","begin":"\\\\([\\\\)\\s,\\};\\]])?","end":"([\\\\)\\s,\\};\\]])","beginCaptures":{"0":{"name":"string.quoted.single.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}}]},"constructor_variable":{"patterns":[{"name":"variable.other.readwrite.constructor.livescript","match":"([a-zA-Z$_][\\w$-]*)(@{2})([a-zA-Z$_][\\w$-]*)?"}]},"double_quoted_string":{"patterns":[{"name":"string.quoted.double.livescript","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"},{"include":"#interpolated_livescript"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}}]},"embedded_comment":{"patterns":[{"name":"comment.line.number-sign.livescript","match":"(?\u003c!\\\\)(#).*$\\n","captures":{"1":{"name":"punctuation.definition.comment.livescript"}}}]},"embedded_spaced_comment":{"patterns":[{"name":"comment.line.number-sign.livescript","match":"(?\u003c!\\\\)(#\\s).*$\\n","captures":{"1":{"name":"punctuation.definition.comment.livescript"}}}]},"instance_variable":{"patterns":[{"name":"variable.other.readwrite.instance.livescript","match":"(?\u003c![$\\w\\-])(@)"}]},"interpolated_livescript":{"patterns":[{"name":"source.livescript.embedded.source","begin":"\\#\\{","end":"\\}","patterns":[{"include":"$self"}],"captures":{"0":{"name":"punctuation.section.embedded.livescript"}}},{"name":"source.livescript.embedded.source.simple","match":"#([a-zA-Z$_-]+|@)","begin":"\\#","patterns":[{"include":"$self"}]}]},"numeric":{"patterns":[{"name":"constant.numeric.livescript","match":"(?\u003c![\\$@a-zA-Z_])(([0-9]+r[0-9_]+)|((16r|0[xX])[0-9a-fA-F_]+)|([0-9]+(\\.[0-9]+[0-9_]*)?(e[+\\-]?[0-9_]+)?)[_a-zA-Z0-9]*)"}]},"single_quoted_string":{"patterns":[{"name":"string.quoted.single.livescript","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}}]},"variable_name":{"patterns":[{"name":"variable.assignment.livescript","match":"([a-zA-Z\\$_][\\w$-]*(\\.\\w+)*)(?!\\-)","captures":{"1":{"name":"variable.assignment.livescript"}}}]}}}
1
+ {"name":"LiveScript","scopeName":"source.livescript","patterns":[{"name":"storage.type.function.livescript","match":"(?x)\n\t\t\t\t!?[~-]{1,2}\u003e\\*?\n\t\t\t\t|\u003c[~-]{1,2}!?\n\t\t\t\t|\\(\\s* (?= instanceof[\\s)]|and[\\s)]|or[\\s)]|is[\\s)]|isnt[\\s)]|in[\\s)]|import[\\s)]|import\\ all[\\s)] |\\.|[-+/*%^\u0026\u003c\u003e=|][\\b\\s)\\w$]|\\*\\*|\\%\\%)\n\t\t\t\t| (?\u003c=[\\s(]instanceof|[\\s(]and|[\\s(]or|[\\s(]is|[\\s(]isnt|[\\s(]in|[\\s(]import|[\\s(]import\\ all|[\\s(]do|\\.|\\*\\*|\\%\\%|[\\b\\s(\\w$][-+/*%^\u0026\u003c\u003e=|]) \\s*\\)\n\t\t\t"},{"name":"comment.block.livescript","begin":"\\/\\*","end":"\\*\\/","patterns":[{"name":"storage.type.annotation.livescriptscript","match":"@\\w*"}],"captures":{"0":{"name":"punctuation.definition.comment.livescript"}}},{"name":"comment.line.number-sign.livescript","match":"(#)(?!\\{).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.livescript"}}},{"match":"((?:!|~|!~|~!)?function\\*?)\\s+([$\\w\\-]*[$\\w]+)","captures":{"1":{"name":"storage.type.function.livescript"},"2":{"name":"entity.name.function.livescript"}}},{"match":"(new)\\s+(\\w+(?:\\.\\w*)*)","captures":{"1":{"name":"keyword.operator.new.livescript"},"2":{"name":"entity.name.type.instance.livescript"}}},{"name":"keyword.illegal.livescript","match":"\\b(package|private|protected|public|interface|enum|static)(?!-)\\b"},{"name":"string.quoted.heredoc.livescript","begin":"'''","end":"'''","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}},{"name":"string.quoted.double.heredoc.livescript","begin":"\"\"\"","end":"\"\"\"","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\."},{"include":"#interpolated_livescript"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}},{"name":"string.quoted.script.livescript","begin":"``","end":"``","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}},{"name":"string.array-literal.livescript","begin":"\u003c\\[","end":"\\]\u003e"},{"name":"string.regexp.livescript","match":"/{2}(?![\\s=/*+{}?]).*?[^\\\\]/[igmy]{0,4}(?![a-zA-Z0-9])/{2}"},{"name":"string.regexp.livescript","begin":"/{2}\\n","end":"/{2}[imgy]{0,4}","patterns":[{"include":"#embedded_spaced_comment"},{"include":"#interpolated_livescript"}]},{"name":"string.regexp.livescript","begin":"/{2}","end":"/{2}[imgy]{0,4}","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"},{"include":"#interpolated_livescript"}]},{"name":"string.regexp.livescript","match":"/(?![\\s=/*+{}?]).*?[^\\\\]/[igmy]{0,4}(?![a-zA-Z0-9])"},{"name":"keyword.operator.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(\n\t\t\t\t\tinstanceof|new|delete|typeof|and|or|is|isnt|not\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"name":"keyword.operator.livescript","match":"\u003c\\||\\|\u003e"},{"name":"keyword.control.livescript","match":"=\u003e"},{"name":"keyword.control.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(?:\n\t\t\t\treturn|break|continue|throw\n\t\t\t\t|try|if|while|for|for\\s+own|switch|unless|until\n\t\t\t\t|catch|finally|else|nobreak|case|default|fallthrough|when|otherwise|then\n\t\t\t\t|yield\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"name":"keyword.operator.livescript","match":"(?x)\n\t\t\t\tand=|or=|%|\u0026|\\^|\\*|\\/|(?\u003c![a-zA-Z$_])(\\-)?\\-(?!\\-?\u003e)|\\+\\+|\\+|\n\t\t\t\t~(?!~?\u003e)|==|=|!=|\u003c=|\u003e=|\u003c\u003c=|\u003e\u003e=|\n\t\t\t\t\u003e\u003e\u003e=|\u003c\u003e|\u003c(?!\\[)|(?\u003c!\\])\u003e|(?\u003c!\\w)!(?!([~\\-]+)?\u003e)|\u0026\u0026|\\.\\.(\\.)?|\\s\\.\\s|\\?|\\|\\||\\:|\\*=|(?\u003c!\\()/=|%=|\\+=|\\-=|\\.=|\u0026=\n\t\t\t\t|\\^=\n\t\t\t"},{"name":"storage.type.function.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(?:\n\t\t\t\tfunction\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"name":"keyword.other.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(?:\n\t\t\t\tthis|throw|then|try|typeof!?|til|to\n\t\t\t\t|continue|const|case|catch|class\n\t\t\t\t|in|instanceof|import|import\\s+all|implements|if|is\n\t\t\t\t|default|delete|debugger|do\n\t\t\t\t|for|for\\s+own|finally|function|from|fallthrough\n\t\t\t\t|super|switch\n\t\t\t\t|else|nobreak|extends|export|eval\n\t\t\t\t|and|arguments\n\t\t\t\t|new|not\n\t\t\t\t|unless|until\n\t\t\t\t|while|with|when\n\t\t\t\t|of|or|otherwise\n\t\t\t\t|let|var|loop\n\t\t\t\t|match\n\t\t\t\t|by|yield\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"match":"([a-zA-Z\\$_](?:[\\w$.-])*)\\s*(?!\\::)((:)|(=(?!\u003e)))\\s*(?!(\\s*!?\\s*\\(.*\\))?\\s*(!?[~-]{1,2}\u003e\\*?))","captures":{"1":{"name":"variable.assignment.livescript"},"3":{"name":"punctuation.separator.key-value, keyword.operator.livescript"},"4":{"name":"keyword.operator.livescript"}}},{"name":"meta.variable.assignment.destructured.livescript","begin":"(?\u003c=\\s|^)([\\[\\{])(?=.*?[\\]\\}]\\s+[:=])","end":"([\\]\\}]\\s*[:=])","patterns":[{"include":"#variable_name"},{"include":"#instance_variable"},{"include":"#single_quoted_string"},{"include":"#double_quoted_string"},{"include":"#numeric"}],"beginCaptures":{"0":{"name":"keyword.operator.livescript"}},"endCaptures":{"0":{"name":"keyword.operator.livescript"}}},{"name":"meta.function.livescript","match":"(?x)\n\t\t\t\t(\\s*)\n\t\t\t\t(?=[a-zA-Z\\$_])\n\t\t\t\t([a-zA-Z\\$_]([\\w$.:-])*)\\s*\n\t\t\t\t(?=[:=](\\s*!?\\s*\\(.*\\))?\\s*(!?[~-]{1,2}\u003e\\*?))\n\t\t\t","captures":{"2":{"name":"entity.name.function.livescript"},"3":{"name":"entity.name.function.livescript"},"4":{"name":"variable.parameter.function.livescript"},"5":{"name":"storage.type.function.livescript"}}},{"name":"constant.language.boolean.true.livescript","match":"\\b(?\u003c!\\.)(true|on|yes)(?!\\s*:)\\b"},{"name":"constant.language.boolean.false.livescript","match":"\\b(?\u003c!\\.)(false|off|no)(?!\\s*:)\\b"},{"name":"constant.language.null.livescript","match":"\\b(?\u003c!\\.)(null|void)(?!\\s*:)\\b"},{"name":"variable.language.livescript","match":"\\b(?\u003c!\\.)(super|this|extends)(?!\\s*:)\\b"},{"name":"meta.class.livescript","match":"(class\\b)\\s+(@?[a-zA-Z$_][\\w$.-]*)?(?:\\s+(extends)\\s+(@?[a-zA-Z$_][\\w$.-]*))?","captures":{"1":{"name":"storage.type.class.livescript"},"2":{"name":"entity.name.type.class.livescript"},"3":{"name":"keyword.control.inheritance.livescript"},"4":{"name":"entity.other.inherited-class.livescript"}}},{"name":"keyword.other.livescript","match":"\\b(debugger|\\\\)\\b"},{"name":"support.class.livescript","match":"(?x)\\b(\n\t\t\t\tArray|ArrayBuffer|Blob|Boolean|Date|document|event|Function|\n\t\t\t\tInt(8|16|32|64)Array|Math|Map|Number|\n\t\t\t\tObject|Proxy|RegExp|Set|String|WeakMap|\n\t\t\t\twindow|Uint(8|16|32|64)Array|XMLHttpRequest\n\t\t\t)\\b"},{"name":"entity.name.type.object.livescript","match":"\\b(console)\\b"},{"name":"constant.language.livescript","match":"\\b(Infinity|NaN|undefined)\\b"},{"name":"punctuation.terminator.statement.livescript","match":"\\;"},{"name":"meta.delimiter.object.comma.livescript","match":",[ |\\t]*"},{"name":"meta.delimiter.method.period.livescript","match":"\\."},{"name":"meta.brace.curly.livescript","match":"\\{|\\}"},{"name":"meta.brace.round.livescript","match":"\\(|\\)"},{"name":"meta.brace.square.livescript","match":"\\[|\\]\\s*"},{"include":"#instance_variable"},{"include":"#backslash_string"},{"include":"#single_quoted_string"},{"include":"#double_quoted_string"},{"include":"#numeric"},{"match":"()(@|@@|[$\\w\\-]*[$\\w]+)\\s*(`)","captures":{"1":{"name":"keyword.operator.livescript"},"2":{"name":"meta.function-call.livescript"},"3":{"name":"keyword.operator.livescript"}}},{"name":"keyword.operator.livescript","match":"`"},{"match":"()(@|@@|[$\\w\\-]*[$\\w]+)(?:(\\??\\!)|[(])","captures":{"1":{"name":"keyword.operator.livescript"},"2":{"name":"meta.function-call.livescript"},"3":{"name":"keyword.operator.livescript"}}},{"match":"(@|@@|[$\\w\\-]*[$\\w]+)(\\?)? (?!\\s*(((by|of|and|or|with|when|unless|if|is|isnt|else|nobreak|for|from|not in|in|catch|til|to|then|import|extends|implements|instanceof)\\b)|[=:.*\\/+\\-%\\^\u003c\u003e][ =)]|[`}%*)]|/(?!.*?/)|\u0026\u0026|[.][^.]|=\u003e|\\/ +|\\||\\|\\||\\-\\-|\\+\\+|\\|\u003e|\u003c|\\||$|\\n|\\#|/\\*))","captures":{"1":{"name":"meta.function-call.livescript"},"2":{"name":"keyword.operator.livescript"}}},{"name":"keyword.control.livescript","match":"\\| _"},{"name":"keyword.control.livescript","match":"\\|(?![.])"},{"name":"keyword.operator.livescript","match":"\\|"},{"name":"support.function.console.livescript","match":"((?\u003c=console\\.)(debug|warn|info|log|error|time(End|-end)|assert))\\b"},{"name":"support.function.livescript","match":"(?x)\\b(\n\t\t\t\tdecodeURI(Component)?|encodeURI(Component)?|eval|parse(Float|Int)|require\n\t\t\t)\\b"},{"name":"support.function.prelude.livescript","match":"(?x)(?\u003c![.-])\\b(\n\t\t\t\tmap|filter|reject|partition|find|each|head|tail|last|initial|empty|\n\t\t\t\tvalues|keys|length|cons|append|join|reverse|fold(l|r)?1?|unfoldr|\n\t\t\t\tand(List|-list)|or(List|-list)|any|all|unique|sum|product|mean|compact|\n\t\t\t\tconcat(Map|-map)?|maximum|minimum|scan(l|r)?1?|replicate|slice|apply|\n\t\t\t\tsplit(At|-at)?|take(While|-while)?|drop(While|-while)?|span|first|\n\t\t\t\tbreak(It|-it)|list(ToObj|-to-obj)|obj(ToFunc|-to-func)|\n\t\t\t\tpairs(ToObj|-to-obj)|obj(ToPairs|-to-pairs|ToLists|-to-lists)|\n\t\t\t\tzip(All|-all)?(With|-with)?|compose|curry|partial|flip|fix|\n\t\t\t\tsort(With|-with|By|-by)?|group(By|-by)|break(List|-list|Str|-str)|\n\t\t\t\tdifference|intersection|union|average|flatten|chars|unchars|repeat|\n\t\t\t\tlines|unlines|words|unwords|max|min|negate|abs|signum|quot|rem|div|mod|\n\t\t\t\trecip|pi|tau|exp|sqrt|ln|pow|sin|cos|tan|asin|acos|atan|atan2|truncate|\n\t\t\t\tround|ceiling|floor|is(It|-it)NaN|even|odd|gcd|lcm|disabled__id\n\t\t\t)\\b(?![.-])"},{"name":"support.function.semireserved.livescript","match":"(?x)(?\u003c![.-])\\b(that|it|e|_)\\b"},{"name":"support.function.method.array.livescript","match":"(?x)((?\u003c=(\\.|\\]|\\)))(\n\t\t\t\tapply|call|concat|every|filter|for(Each|-each)|\n\t\t\t\tfrom|has(Own|-own)(Property|-property)|index(Of|-of)|\n\t\t\t\tis(Prototype|-prototype)(Of|-of)|join|last(Index|-index)(Of|-of)|\n\t\t\t\tmap|of|pop|property(Is|-is)(Enumerable|-enumerable)|push|\n\t\t\t\treduce(Right|-right)?|reverse|shift|slice|some|sort|\n\t\t\t\tsplice|to(Locale|-locale)?(String|-string)|unshift|valueOf\n\t\t\t))\\b(?!-) "},{"name":"support.function.static.array.livescript","match":"(?x)((?\u003c=Array\\.)(\n\t\t\t\tisArray\n\t\t\t))\\b"},{"name":"support.function.static.object.livescript","match":"(?x)((?\u003c=Object\\.)(\n\t\t\t\tcreate|define(Propert|-propert)(ies|y)|freeze|\n\t\t\t\tget(Own|-own)(Property|-property)(Descriptors?|Names)|\n\t\t\t\tget(Property|-property)(Descriptor|Names)|getPrototypeOf|\n\t\t\t\tis((Extensible|-extensible)|(Frozen|-frozen)|(Sealed|-sealed))?|\n\t\t\t\tkeys|prevent(Extensions|-extensions)|seal\n\t\t\t))\\b"},{"name":"support.function.static.math.livescript","match":"(?x)((?\u003c=Math\\.)(\n\t\t\t\tabs|acos|acosh|asin|asinh|atan|atan2|atanh|ceil|cos|cosh|exp|expm1|floor|\n\t\t\t\thypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|\n\t\t\t\ttan|tanh|trunc\n\t\t\t))\\b"},{"name":"support.function.static.number.livescript","match":"(?x)((?\u003c=Number\\.)(\n\t\t\t\tis(Finite|Integer|NaN)|to(Integer|-integer)\n\t\t\t))\\b"},{"name":"variable.other.livescript","match":"[\\$\\w][\\w-]*"}],"repository":{"backslash_string":{"patterns":[{"contentName":"string.quoted.single.livescript","begin":"\\\\([\\\\)\\s,\\};\\]])?","end":"(?=[\\\\)\\s,\\};\\]])","beginCaptures":{"0":{"name":"string.quoted.single.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}}]},"constructor_variable":{"patterns":[{"name":"variable.other.readwrite.constructor.livescript","match":"([a-zA-Z$_][\\w$-]*)(@{2})([a-zA-Z$_][\\w$-]*)?"}]},"double_quoted_string":{"patterns":[{"name":"string.quoted.double.livescript","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"},{"include":"#interpolated_livescript"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}}]},"embedded_comment":{"patterns":[{"name":"comment.line.number-sign.livescript","match":"(?\u003c!\\\\)(#).*$\\n","captures":{"1":{"name":"punctuation.definition.comment.livescript"}}}]},"embedded_spaced_comment":{"patterns":[{"name":"comment.line.number-sign.livescript","match":"(?\u003c!\\\\)(#\\s).*$\\n","captures":{"1":{"name":"punctuation.definition.comment.livescript"}}}]},"instance_variable":{"patterns":[{"name":"variable.other.readwrite.instance.livescript","match":"(?\u003c![$\\w\\-])(@)"}]},"interpolated_livescript":{"patterns":[{"name":"source.livescript.embedded.source","begin":"\\#\\{","end":"\\}","patterns":[{"include":"$self"}],"captures":{"0":{"name":"punctuation.section.embedded.livescript"}}},{"name":"source.livescript.embedded.source.simple","match":"#([a-zA-Z$_-]+|@)","begin":"\\#","patterns":[{"include":"$self"}]}]},"numeric":{"patterns":[{"name":"constant.numeric.livescript","match":"(?\u003c![\\$@a-zA-Z_])(([0-9]+r[0-9_]+)|((16r|0[xX])[0-9a-fA-F_]+)|([0-9]+(\\.[0-9]+[0-9_]*)?(e[+\\-]?[0-9_]+)?)[_a-zA-Z0-9]*)"}]},"single_quoted_string":{"patterns":[{"name":"string.quoted.single.livescript","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}}]},"variable_name":{"patterns":[{"name":"variable.assignment.livescript","match":"([a-zA-Z\\$_][\\w$-]*(\\.\\w+)*)(?!\\-)","captures":{"1":{"name":"variable.assignment.livescript"}}}]}}}
@@ -0,0 +1 @@
1
+ {"name":"Monkey C","scopeName":"source.mc","patterns":[{"include":"#statements"}],"repository":{"access-modifier":{"patterns":[{"name":"storage.modifier.mc","match":"(?\u003c!\\.|\\$)\\b(hidden|static)\\b(?!\\$)"}]},"after-operator-block":{"name":"meta.objectliteral.mc","begin":"(?\u003c=[=(,\\[?+!]|return|throw|in|of|typeof|\u0026\u0026|\\|\\||\\*)\\s*(\\{)","end":"\\}","patterns":[{"include":"#object-member"}],"beginCaptures":{"1":{"name":"punctuation.definition.block.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.block.mc"}}},"array-literal":{"name":"meta.array.literal.mc","begin":"\\[","end":"\\]","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"meta.brace.square.mc"}},"endCaptures":{"0":{"name":"meta.brace.square.mc"}}},"boolean-literal":{"patterns":[{"name":"constant.language.boolean.true.mc","match":"(?\u003c!\\.|\\$)\\btrue\\b(?!\\$)"},{"name":"constant.language.boolean.false.mc","match":"(?\u003c!\\.|\\$)\\bfalse\\b(?!\\$)"}]},"case-clause":{"name":"case-clause.expr.mc","begin":"(?\u003c!\\.|\\$)\\b(case|default(?=:))\\b(?!\\$)","end":":","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.switch.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.section.case-statement.mc"}}},"class-body":{"begin":"\\{","end":"\\}","patterns":[{"include":"#string"},{"include":"#comment"},{"include":"#decorator"},{"include":"#method-declaration"},{"include":"#enum-declaration"},{"include":"#field-declaration"},{"include":"#access-modifier"},{"include":"#after-operator-block"},{"include":"#decl-block"},{"include":"#expression"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.block.mc"}}},"class-declaration":{"name":"meta.class.mc","begin":"(?\u003c!\\.|\\$)\\b(?:(class))\\b","end":"(?\u003c=\\})","patterns":[{"include":"#comment"},{"include":"#class-heritage"},{"match":"[_$[:alpha:]][_$[:alnum:]]*","captures":{"0":{"name":"entity.name.type.class.mc"}}},{"include":"#class-body"}],"beginCaptures":{"1":{"name":"storage.type.class.mc"}},"endCaptures":{"1":{"name":"punctuation.definition.block.mc"}}},"class-heritage":{"begin":"(?\u003c!\\.|\\$)(?:\\b(extends)\\b)(?!\\$)","end":"(?=\\{)","patterns":[{"include":"#comment"},{"include":"#class-heritage"},{"match":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\.)(?=\\s*[_$[:alpha:]][_$[:alnum:]]*(\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)*\\s*([,\u003c{]|extends|//|/\\*))","captures":{"1":{"name":"entity.name.type.module.mc"},"2":{"name":"punctuation.accessor.mc"}}},{"match":"([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*([,\u003c{]|extends|//|/\\*))","captures":{"1":{"name":"entity.other.inherited-class.mc"}}},{"include":"#expression"}],"beginCaptures":{"1":{"name":"storage.modifier.mc"}},"endCaptures":{"1":{"name":"punctuation.definition.block.mc"}}},"comment":{"patterns":[{"name":"comment.block.documentation.mc","begin":"/\\*\\*(?!/)","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.mc"}}},{"name":"comment.block.mc","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.mc"}}},{"begin":"(^[ \\t]+)?(?=//)","end":"(?=$)","patterns":[{"name":"comment.line.double-slash.mc","begin":"//","end":"(?=$)","beginCaptures":{"0":{"name":"punctuation.definition.comment.mc"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.mc"}}}]},"control-statement":{"patterns":[{"name":"keyword.control.trycatch.mc","match":"(?\u003c!\\.|\\$)\\b(catch|finally|throw|try)\\b(?!\\$)"},{"name":"keyword.control.loop.mc","match":"(?\u003c!\\.|\\$)\\b(break|continue|do|while)\\b(?!\\$)"},{"name":"keyword.control.flow.mc","match":"(?\u003c!\\.|\\$)\\b(return)\\b(?!\\$)"},{"name":"keyword.control.switch.mc","match":"(?\u003c!\\.|\\$)\\b(case|default|switch)\\b(?!\\$)"},{"name":"keyword.control.conditional.mc","match":"(?\u003c!\\.|\\$)\\b(else|if)\\b(?!\\$)"}]},"decl-block":{"name":"meta.block.mc","begin":"\\{","end":"\\}","patterns":[{"include":"#statements"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.block.mc"}}},"declaration":{"name":"meta.declaration.mc","patterns":[{"include":"#decorator"},{"include":"#var-expr"},{"include":"#function-declaration"},{"include":"#class-declaration"},{"include":"#enum-declaration"},{"include":"#namespace-declaration"},{"include":"#import-declaration"}]},"decorator":{"name":"meta.decorator.mc","patterns":[{"match":"(?\u003c!\\.|\\$)(\\(:([_$[:alpha:]][_$[:alnum:]]*)\\))","captures":{"0":{"name":"storage.type.decorator.mc"}}}]},"enum-declaration":{"name":"meta.enum.declaration.mc","begin":"(?\u003c!\\.|\\$)\\b(enum)\\b","end":"(?\u003c=\\})","patterns":[{"include":"#comment"},{"begin":"\\{","end":"\\}","patterns":[{"include":"#comment"},{"begin":"([_$[:alpha:]][_$[:alnum:]]*)","end":"(?=,|\\}|$)","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}],"beginCaptures":{"0":{"name":"variable.other.enummember.mc"}}},{"begin":"(?=((\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\])))","end":"(?=,|\\}|$)","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#comment"},{"include":"#variable-initializer"}]},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.block.mc"}}}],"beginCaptures":{"1":{"name":"storage.type.enum.mc"}}},"expression":{"name":"meta.expression.mc","patterns":[{"include":"#string"},{"include":"#comment"},{"include":"#literal"},{"include":"#function-declaration"},{"include":"#class-declaration"},{"include":"#ternary-expression"},{"include":"#new-expr"},{"include":"#object-literal"},{"include":"#expression-operators"},{"include":"#function-call"},{"include":"#support-objects"},{"include":"#identifiers"},{"include":"#paren-expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"}]},"expression-operators":{"patterns":[{"name":"keyword.operator.expression.instanceof.mc","match":"(?\u003c!\\.|\\$)\\binstanceof\\b(?!\\$)"},{"name":"keyword.operator.expression.has.mc","match":"(?\u003c!\\.|\\$)\\bhas\\b(?!\\$)"},{"name":"keyword.operator.new.mc","match":"(?\u003c!\\.|\\$)\\bnew\\b(?!\\$)"},{"name":"keyword.operator.expression.void.mc","match":"(?\u003c!\\.|\\$)\\bvoid\\b(?!\\$)"},{"name":"keyword.operator.assignment.compound.mc","match":"\\*=|(?\u003c!\\()/=|%=|\\+=|\\-="},{"name":"keyword.operator.assignment.compound.bitwise.mc","match":"\\\u0026=|\\^=|\u003c\u003c=|\u003e\u003e=|\\|="},{"name":"keyword.operator.bitwise.shift.mc","match":"\u003c\u003c|\u003e\u003e"},{"name":"keyword.operator.comparison.mc","match":"==|!="},{"name":"keyword.operator.relational.mc","match":"\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e"},{"name":"keyword.operator.logical.mc","match":"\\!|\u0026\u0026|\\|\\|"},{"name":"keyword.operator.expression.logical.mc","match":"(?\u003c!\\.|\\$)\\band|or|not\\b(?!\\$)"},{"name":"keyword.operator.bitwise.mc","match":"\\\u0026|~|\\^|\\|"},{"name":"keyword.operator.assignment.mc","match":"\\="},{"name":"keyword.operator.decrement.mc","match":"--"},{"name":"keyword.operator.increment.mc","match":"\\+\\+"},{"name":"keyword.operator.arithmetic.mc","match":"%|\\*|/|-|\\+"},{"match":"(?\u003c=[_$[:alnum:])])\\s*(/)(?![/*])","captures":{"1":{"name":"keyword.operator.arithmetic.mc"}}}]},"field-declaration":{"name":"meta.field.declaration.mc","begin":"(?\u003c!\\()(?:(?\u003c!\\.|\\$)\\b(const|var)\\s+)(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\?\\s*)?(=)?)","end":"(?=\\}|;|,|$)|(?\u003c=\\})","patterns":[{"include":"#variable-initializer"}],"beginCaptures":{"1":{"name":"storage.type.mc"}}},"for-loop":{"begin":"(?\u003c!\\.|\\$)\\b(for)\\s*(\\()","end":"\\)","patterns":[{"include":"#var-expr"},{"include":"#expression"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"1":{"name":"keyword.control.loop.mc"},"2":{"name":"meta.brace.round.mc"}},"endCaptures":{"0":{"name":"meta.brace.round.mc"}}},"function-call":{"begin":"(?=(\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\()","end":"(?\u003c=\\))(?!(\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\()","patterns":[{"include":"#support-objects"},{"include":"#punctuation-accessor"},{"name":"entity.name.function.mc","match":"([_$[:alpha:]][_$[:alnum:]]*)"},{"include":"#comment"},{"include":"#paren-expression"}]},"function-declaration":{"name":"meta.function.mc","begin":"(?\u003c!\\.|\\$)\\b(function\\b)(?:(?:\\s+|(?\u003c=\\*))([_$[:alpha:]][_$[:alnum:]]*))?\\s*","end":"(?=$|;|\\})|(?\u003c=\\})","patterns":[{"include":"#comment"},{"include":"#function-parameters"},{"include":"#decl-block"}],"beginCaptures":{"1":{"name":"storage.type.function.mc"},"2":{"name":"entity.name.function.mc"}}},"function-parameters":{"name":"meta.parameters.mc","begin":"\\(","end":"\\)","patterns":[{"include":"#comment"},{"include":"#decorator"},{"include":"#parameter-name"},{"include":"#variable-initializer"},{"name":"punctuation.separator.parameter.mc","match":","}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.mc"}}},"identifiers":{"patterns":[{"name":"support.class.mc","match":"([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*\\.\\s*prototype\\b(?!\\$))"},{"match":"(?x)(\\.)\\s*(?:\n ([[:upper:]][_$[:digit:][:upper:]]*) |\n ([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"punctuation.accessor.mc"},"2":{"name":"variable.other.constant.object.property.mc"},"3":{"name":"variable.other.object.property.mc"}}},{"match":"(?x)(?:(\\.)\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*=\\s*(\n (function\\s*[(\u003c])|(function\\s+)|\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=\u003e)|\n ([(]\\s*(([)]\\s*:)|([_$[:alpha:]][_$[:alnum:]]*\\s*:) )) |\n ([\u003c]\\s*[_$[:alpha:]][_$[:alnum:]]*((\\s+extends\\s*[^=\u003e])|(\\s*[,]))) |\n ((\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=\u003e)))","captures":{"1":{"name":"punctuation.accessor.mc"},"2":{"name":"entity.name.function.mc"}}},{"match":"(\\.)\\s*([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])","captures":{"1":{"name":"punctuation.accessor.mc"},"2":{"name":"variable.other.constant.property.mc"}}},{"match":"(\\.)\\s*([_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"punctuation.accessor.mc"},"2":{"name":"variable.other.property.mc"}}},{"match":"(?x)(?:\n ([[:upper:]][_$[:digit:][:upper:]]*) |\n ([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"variable.other.constant.object.mc"},"2":{"name":"variable.other.object.mc"}}},{"name":"variable.other.constant.mc","match":"([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])"},{"name":"variable.other.readwrite.mc","match":"[_$[:alpha:]][_$[:alnum:]]*"}]},"import-declaration":{"name":"meta.import.mc","begin":"(?\u003c!\\.|\\$)\\b(using)(?!(\\s*:)|(\\$))\\b","end":"(?=;|$)","patterns":[{"include":"#import-export-declaration"}],"beginCaptures":{"1":{"name":"keyword.control.import.mc"}}},"import-export-clause":{"patterns":[{"include":"#comment"},{"match":"(?x) ([_$[:alpha:]][_$[:alnum:]]*) \\s+ \n (as) \\s+ ([_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"variable.other.readwrite.mc"},"2":{"name":"keyword.control.as.mc"},"3":{"name":"entity.name.type.alias.mc"}}},{"include":"#punctuation-comma"},{"name":"constant.language.import-export-all.mc","match":"\\*"},{"name":"keyword.control.default.mc","match":"\\b(default)\\b"},{"name":"variable.other.readwrite.alias.mc","match":"([_$[:alpha:]][_$[:alnum:]]*)"}]},"import-export-declaration":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#import-export-clause"}]},"literal":{"name":"literal.mc","patterns":[{"include":"#numeric-literal"},{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#numericConstant-literal"},{"include":"#array-literal"}]},"method-declaration":{"name":"meta.method.declaration.mc","begin":"(?\u003c!\\.|\\$)(?:\\b(hidden)\\s+)?(?:\\b(function)\\s+)(?:(?:\\b(?:(initialize)|(initialize))\\b(?!\\$|:))|(?:(\\*)\\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))?\\s*[\\(\\\u003c]))","end":"(?=\\}|;|,|$)|(?\u003c=\\})","patterns":[{"include":"#method-declaration-name"},{"include":"#comment"},{"include":"#function-parameters"},{"include":"#decl-block"}],"beginCaptures":{"1":{"name":"storage.modifier.mc"},"2":{"name":"storage.type.function.mc"},"3":{"name":"keyword.operator.new.mc"},"4":{"name":"storage.type.mc"},"5":{"name":"keyword.generator.asterisk.mc"}}},"method-declaration-name":{"begin":"(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??)\\s*[\\(\\\u003c])","end":"(?=\\(|\\\u003c)","patterns":[{"include":"#string"},{"include":"#array-literal"},{"name":"entity.name.function.mc","match":"[_$[:alpha:]][_$[:alnum:]]*"}]},"namespace-declaration":{"name":"meta.namespace.declaration.mc","begin":"(?\u003c!\\.|\\$)\\b(module)\\s+(?=[_$[:alpha:]\"'`])","end":"(?=$|\\{)","patterns":[{"include":"#comment"},{"include":"#string"},{"name":"entity.name.type.module.mc","match":"([_$[:alpha:]][_$[:alnum:]]*)"},{"include":"#punctuation-accessor"}],"beginCaptures":{"1":{"name":"storage.type.namespace.mc"}}},"new-expr":{"name":"new.expr.mc","begin":"(?\u003c!\\.|\\$)\\b(new)\\b(?!\\$)","end":"(?\u003c=\\))|(?=[;),}]|$|((?\u003c!\\.|\\$)\\bnew\\b(?!\\$)))","patterns":[{"include":"#paren-expression"},{"include":"#class-declaration"},{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.new.mc"}}},"null-literal":{"patterns":[{"name":"constant.language.null.mc","match":"(?\u003c!\\.|\\$)\\bnull\\b(?!\\$)"}]},"numeric-literal":{"patterns":[{"name":"constant.numeric.hex.mc","match":"\\b(?\u003c!\\$)0(x|X)[0-9a-fA-F]+\\b(?!\\$)"},{"name":"constant.numeric.binary.mc","match":"\\b(?\u003c!\\$)0(b|B)[01]+\\b(?!\\$)"},{"name":"constant.numeric.octal.mc","match":"\\b(?\u003c!\\$)0(o|O)?[0-7]+\\b(?!\\$)"},{"match":"(?x)\n(?\u003c!\\$)(?:\n (?:\\b[0-9]+(\\.)[0-9]+[eE][+-]?[0-9]+[ld]?\\b)| # 1.1E+3\n (?:\\b[0-9]+(\\.)[eE][+-]?[0-9]+[ld]?\\b)| # 1.E+3\n (?:\\B(\\.)[0-9]+[eE][+-]?[0-9]+[ld]?\\b)| # .1E+3\n (?:\\b[0-9]+[eE][+-]?[0-9]+[ld]?\\b)| # 1E+3\n (?:\\b[0-9]+(\\.)[0-9]+[ld]?\\b)| # 1.1\n (?:\\b[0-9]+(\\.)[ld]?\\B)| # 1.\n (?:\\B(\\.)[0-9]+[ld]?\\b)| # .1\n (?:\\b[0-9]+[ld]?\\b(?!\\.)) # 1\n)(?!\\$)","captures":{"0":{"name":"constant.numeric.decimal.mc"},"1":{"name":"meta.delimiter.decimal.period.mc"},"2":{"name":"meta.delimiter.decimal.period.mc"},"3":{"name":"meta.delimiter.decimal.period.mc"},"4":{"name":"meta.delimiter.decimal.period.mc"},"5":{"name":"meta.delimiter.decimal.period.mc"},"6":{"name":"meta.delimiter.decimal.period.mc"}}}]},"numericConstant-literal":{"patterns":[{"name":"constant.language.nan.mc","match":"(?\u003c!\\.|\\$)\\bNaN\\b(?!\\$)"}]},"object-literal":{"name":"meta.objectliteral.mc","begin":"\\{","end":"\\}","patterns":[{"include":"#object-member"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.mc"}},"endCaptures":{"0":{"name":"punctuation.definition.block.mc"}}},"object-member":{"patterns":[{"include":"#comment"},{"name":"meta.object.member.mc","begin":"(?:[:_$[:alpha:]][_$[:alnum:]]*)\\s*(=\u003e)","end":"(?=,|\\})","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"meta.object-literal.key.mc"},"1":{"name":"punctuation.separator.key-value.mc"}}},{"include":"#punctuation-comma"}]},"parameter-name":{"patterns":[{"match":"\\s*\\b(hidden)(?=\\s+(hidden)\\s+)","captures":{"1":{"name":"storage.modifier.mc"}}},{"match":"(?x)(?:\\s*\\b(hidden|static)\\s+)?(\\.\\.\\.)?\\s*(?\u003c!=|:)([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\??)(?=\\s*\n (=\\s*(\n (function\\s*[(\u003c]) |\n (function\\s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=\u003e) |\n ([(]\\s*(([)]\\s*:)|([_$[:alpha:]][_$[:alnum:]]*\\s*:)|(\\.\\.\\.) )) |\n ([\u003c]\\s*[_$[:alpha:]][_$[:alnum:]]*((\\s+extends\\s*[^=\u003e])|(\\s*[,]))) |\n ((\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=\u003e))\n ) |\n (:\\s*(\n (\u003c) |\n ([(]\\s*(\n ([)]) |\n (\\.\\.\\.) |\n ([_$[:alnum:]]+\\s*(\n ([:,?=])|\n ([)]\\s*=\u003e)\n ))\n )))\n )\n)","captures":{"1":{"name":"storage.modifier.mc"},"2":{"name":"keyword.operator.rest.mc"},"3":{"name":"entity.name.function.mc"},"4":{"name":"keyword.operator.optional.mc"}}},{"match":"(?:\\s*\\b(hidden|static)\\s+)?\\s*(?\u003c!=|:)([_$[:alpha:]][_$[:alnum:]]*)\\s*","captures":{"1":{"name":"storage.modifier.mc"},"2":{"name":"keyword.operator.rest.mc"},"3":{"name":"variable.parameter.mc"}}}]},"paren-expression":{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"meta.brace.round.mc"}},"endCaptures":{"0":{"name":"meta.brace.round.mc"}}},"punctuation-accessor":{"name":"punctuation.accessor.mc","match":"\\."},"punctuation-comma":{"name":"punctuation.separator.comma.mc","match":","},"punctuation-semicolon":{"name":"punctuation.terminator.statement.mc","match":";"},"qstring-double":{"name":"string.quoted.double.mc","begin":"\"","end":"(\")|((?:[^\\\\\\n])$)","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mc"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mc"},"2":{"name":"invalid.illegal.newline.mc"}}},"qstring-single":{"name":"string.quoted.single.mc","begin":"'","end":"(\\')|((?:[^\\\\\\n])$)","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mc"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mc"},"2":{"name":"invalid.illegal.newline.mc"}}},"statements":{"patterns":[{"include":"#string"},{"include":"#comment"},{"include":"#literal"},{"include":"#declaration"},{"include":"#switch-statement"},{"include":"#for-loop"},{"include":"#after-operator-block"},{"include":"#decl-block"},{"include":"#control-statement"},{"include":"#expression"},{"include":"#punctuation-semicolon"}]},"string":{"patterns":[{"include":"#qstring-single"},{"include":"#qstring-double"}]},"string-character-escape":{"name":"constant.character.escape.mc","match":"\\\\(x[[:xdigit:]]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"},"support-objects":{"patterns":[{"match":"(?x)(?\u003c!\\.|\\$)\\b(Math)(?:\\s*(\\.)\\s*(?:\n (abs|acos|acosh|asin|asinh|atan|atan2|atanh|cbrt|ceil|clz32|cos|cosh|exp|\n expm1|floor|fround|hypot|imul|log|log10|log1p|log2|max|min|pow|random|\n round|sign|sin|sinh|sqrt|tan|tanh|trunc)\n |\n (E|LN10|LN2|LOG10E|LOG2E|PI|SQRT1_2|SQRT2)))?\\b(?!\\$)","captures":{"1":{"name":"support.constant.math.mc"},"2":{"name":"punctuation.accessor.mc"},"3":{"name":"support.function.math.mc"},"4":{"name":"support.constant.property.math.mc"}}},{"match":"(?x)(?\u003c!\\.|\\$)\\b(System)(?:\\s*(\\.)\\s*(\n print|println|getTimer|getClockTime|getSystemStats|trap|exit|error))?\\b(?!\\$)","captures":{"1":{"name":"support.class.system.mc"},"2":{"name":"punctuation.accessor.mc"},"3":{"name":"support.function.system.mc"}}},{"match":"(?x) (\\.) \\s* \n(?:\n (method)\n)(?=\\s*\\()","captures":{"1":{"name":"punctuation.accessor.js"},"2":{"name":"support.function.js"}}}]},"switch-block":{"name":"switch-block.expr.mc","begin":"\\{","end":"(?=\\})","patterns":[{"include":"#case-clause"},{"include":"#statements"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.mc"}}},"switch-expression":{"name":"switch-expression.expr.mc","begin":"(?\u003c!\\.|\\$)\\b(switch)\\s*(\\()","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.switch.mc"},"2":{"name":"meta.brace.round.mc"}},"endCaptures":{"0":{"name":"meta.brace.round.mc"}}},"switch-statement":{"name":"switch-statement.expr.mc","begin":"(?\u003c!\\.|\\$)(?=\\bswitch\\s*\\()","end":"\\}","patterns":[{"include":"#switch-expression"},{"include":"#switch-block"}],"endCaptures":{"0":{"name":"punctuation.definition.block.mc"}}},"ternary-expression":{"begin":"(\\?)","end":"(:)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.ternary.mc"}},"endCaptures":{"0":{"name":"keyword.operator.ternary.mc"}}},"type":{"name":"meta.type.mc","patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#type-builtin-literals"},{"include":"#type-fn-type-parameters"},{"include":"#type-paren-or-function-parameters"},{"include":"#type-name"}]},"type-builtin-literals":{"name":"support.type.builtin.mc","match":"(?\u003c!\\.|\\$)\\b(this|true|false|null)\\b(?!\\$)"},"type-fn-type-parameters":{"patterns":[{"name":"meta.type.constructor.mc","match":"(?\u003c!\\.|\\$)\\b(new)\\b(?=\\s*\\\u003c)","captures":{"1":{"name":"keyword.control.new.mc"}}},{"name":"meta.type.constructor.mc","begin":"(?\u003c!\\.|\\$)\\b(new)\\b\\s*(?=\\()","end":"(?\u003c=\\))","patterns":[{"include":"#function-parameters"}],"beginCaptures":{"1":{"name":"keyword.control.new.mc"}}},{"name":"meta.type.function.mc","begin":"(?\u003c=\\\u003e)\\s*(?=\\()","end":"(?\u003c=\\))","patterns":[{"include":"#function-parameters"}]},{"name":"meta.type.function.mc","begin":"(?x)(\n (?=\n [(]\\s*(\n ([)]) | \n (\\.\\.\\.) |\n ([_$[:alnum:]]+\\s*(\n ([:,?=])|\n ([)]\\s*=\u003e)\n ))\n )\n )\n)","end":"(?\u003c=\\))","patterns":[{"include":"#function-parameters"}]}]},"type-name":{"patterns":[{"match":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\.)","captures":{"1":{"name":"entity.name.type.module.mc"},"2":{"name":"punctuation.accessor.mc"}}},{"name":"entity.name.type.mc","match":"[_$[:alpha:]][_$[:alnum:]]*"}]},"type-paren-or-function-parameters":{"name":"meta.type.paren.cover.mc","begin":"\\(","end":"\\)","patterns":[{"include":"#type"},{"include":"#function-parameters"}],"beginCaptures":{"0":{"name":"meta.brace.round.mc"}},"endCaptures":{"0":{"name":"meta.brace.round.mc"}}},"var-expr":{"name":"meta.var.expr.mc","begin":"(?\u003c!\\.|\\$)\\b(var|const(?!\\s+enum\\b))\\b(?!\\$)","end":"(?=$|;|})","patterns":[{"include":"#var-single-variable"},{"include":"#variable-initializer"},{"include":"#comment"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"storage.type.mc"}}},"var-single-variable":{"patterns":[{"name":"meta.var-single-variable.expr.mc","begin":"(?x)([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*\n (=\\s*(\n (function\\s*[(\u003c]) |\n (function\\s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=\u003e) |\n ([(]\\s*(([)]\\s*:)|([_$[:alpha:]][_$[:alnum:]]*\\s*:)|(\\.\\.\\.) )) |\n ([\u003c]\\s*[_$[:alpha:]][_$[:alnum:]]*((\\s+extends\\s*[^=\u003e])|(\\s*[,]))) |\n ((\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=\u003e))\n ) |\n (:\\s*(\n (\u003c) |\n ([(]\\s*(\n ([)]) |\n (\\.\\.\\.) |\n ([_$[:alnum:]]+\\s*(\n ([:,?=])|\n ([)]\\s*=\u003e)\n ))\n )))\n )\n)","end":"(?=$|[;,=}]|(\\s+(of|in)\\s+))","patterns":[{"include":"#string"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"entity.name.function.mc"}}},{"name":"meta.var-single-variable.expr.mc","begin":"([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])","end":"(?=$|[;,=}]|(\\s+(of|in)\\s+))","beginCaptures":{"1":{"name":"variable.other.constant.mc"}}},{"name":"meta.var-single-variable.expr.mc","begin":"([_$[:alpha:]][_$[:alnum:]]*)","end":"(?=$|[;,=}]|(\\s+(of|in)\\s+))","patterns":[{"include":"#string"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"variable.other.readwrite.mc"}}}]},"variable-initializer":{"patterns":[{"begin":"(?\u003c!=|!)(=)(?!=)(?=\\s*\\S)","end":"(?=$|[,);}\\]])","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.mc"}}},{"begin":"(?\u003c!=|!)(=)(?!=)","end":"(?=[,);}\\]])|(?=^\\s*$)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.mc"}}}]}}}
@@ -0,0 +1 @@
1
+ {"name":"mfu","scopeName":"source.mfu","patterns":[{"begin":"(^[ \\t]+)?(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.mfu","begin":"#","end":"\\n","beginCaptures":{"1":{"name":"punctuation.definition.comment.mfu"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.mfu"}}},{"begin":"(^[ \\t]+)?(?=;)","end":"(?!\\G)","patterns":[{"name":"comment.line.semicolon.mfu","begin":";","end":"\\n","beginCaptures":{"1":{"name":"punctuation.definition.comment.mfu"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.mfu"}}},{"name":"entity.name.tag.mfu","match":"^(\\[)(MFUT.*?)(\\])$","captures":{"1":{"name":"punctuation.definition.entity.mfu"}}},{"match":"\\b(reportfile|fixture-filename|outdir|testcase|es-syscat|preferred-cwd|jcl-filename|source.filename|source.seqfilename)\\b\\s*(=)(.*)","captures":{"1":{"name":"keyword.other.definition.mfu"},"2":{"name":"punctuation.definition.tag.mfu"},"3":{"name":"storage.mfu"}}},{"match":"\\b(description|traits)\\b\\s*(=)(.*)","captures":{"1":{"name":"keyword.other.definition.mfu"},"2":{"name":"punctuation.definition.tag.mfu"},"3":{"name":"variable.parameter.mfu"}}},{"match":"\\b([a-zA-Z0-9_.-]+)\\b\\s*(=)","captures":{"1":{"name":"keyword.other.definition.mfu"},"2":{"name":"punctuation.definition.tag.mfu"}}},{"name":"entity.name.variable.mfu","match":"^(\\[)(.*?)(\\])","captures":{"1":{"name":"punctuation.definition.entity.mfu"}}},{"name":"string.quoted.single.mfu","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.mfu","match":"\\\\."}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.mfu"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mfu"}}},{"name":"string.quoted.double.mfu","begin":"\"","end":"\"","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.mfu"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mfu"}}},{"name":"constant.numeric.mfu","match":"([0-9])+(s$|ms$|$)"},{"name":"constant.language","match":"(?i:true|false|separate|isolate|printfile|noprintfile|nojunit|junit|markdown|nomarkdown|nunit|nonunit|core|debug|junit-attachments|timings-csv)"}]}
@@ -0,0 +1 @@
1
+ {"name":"mfupp_dir","scopeName":"source.mfupp_dir","patterns":[{"name":"comment.line.mfupp_dir","match":"^(\\s*)\u0026.*$"},{"name":"string.brackets.mfupp_dir","match":"(\\(.*\\))"},{"name":"string.quoted.mfupp_dir","match":"(\".*\")$"},{"name":"keyword.mfupp_dir","match":"^(\\s*)(?i:(NOMOCK|NOCONFIRM|NOPD-PREFIX|NOPDP|NOVERBOSE|NOWS-PREFIX|NOWSP|NOC|NOIPP|NOIL|NOM|NOPDP|NOWSP|NOV))(?=\"|\\(|\\s+|$)"},{"name":"keyword.other.unit.mfupp_dir","match":"^(\\s*)(?i:(CONFIRM|IGNORE-PRG-PREFIX|INSERT-LS|MOCK|PD-PREFIX|WS-PREFIX|C|IPP|IL|M|PDP|WSP|VERBOSE|V))(?=\"|\\(|\\s+|$)"},{"name":"token.warn-token","match":"^(\\s*\\+.*)"},{"name":"invalid.illegal.mfupp_dir","match":"([0-9a-zA-Z\\-]+)"}]}
@@ -1 +1 @@
1
- {"name":"MiniYAML","scopeName":"source.miniyaml","patterns":[{"include":"#comment"},{"contentName":"string.unquoted.block.yaml","begin":"^(\\s*)(?:(-)|(?:(?:(-)(\\s*))?([^!@#%\u0026*\u003e,][^:#]*\\S)\\s*(:)))(?:\\s+((!)[^!\\s]+))?\\s+(?=\\||\u003e)","end":"^((?!$)(?!\\1\\s+)|(?=\\s\\4(-|[^\\s!@#%\u0026*\u003e,].*:\\s+)))","patterns":[{"begin":"\\G","end":"$","patterns":[{"include":"#comment"}]},{"include":"#constants"}],"beginCaptures":{"2":{"name":"punctuation.definition.entry.yaml"},"3":{"name":"punctuation.definition.entry.yaml"},"5":{"name":"entity.name.tag.yaml"},"6":{"name":"punctuation.separator.key-value.yaml"},"7":{"name":"keyword.other.tag.local.yaml"},"8":{"name":"punctuation.definition.tag.local.yaml"}}},{"contentName":"string.unquoted.block.yaml","begin":"^(\\s*)([^!@#%\u0026*\u003e,][^:#]*\\S)\\s*(:)(?:\\s+((!)[^!\\s]+))?\\s+(?=\\||\u003e)","end":"^(?!$)(?!\\1\\s+)","patterns":[{"begin":"\\G","end":"$","patterns":[{"include":"#comment"}]},{"include":"#constants"}],"beginCaptures":{"2":{"name":"entity.name.tag.yaml"},"3":{"name":"punctuation.separator.key-value.yaml"},"4":{"name":"keyword.other.tag.local.yaml"},"5":{"name":"punctuation.definition.tag.local.yaml"}}},{"match":"(\u003c\u003c)\\s*(:)\\s+(.+)$","captures":{"1":{"name":"entity.name.tag.merge.yaml"},"2":{"name":"punctuation.separator.key-value.yaml"},"3":{"patterns":[{"include":"#variables"}]}}},{"begin":"(?\u003e^(\\s*)(-)?\\s*)([^!{@#%\u0026*\u003e,'\"][^#]*?)(:)\\s+((!!)omap)?","end":"^((?!\\1\\s+)|(?=\\1\\s*(-|[^!@#%\u0026*\u003e,].*:\\s+|#)))","patterns":[{"include":"#scalar-content"}],"beginCaptures":{"2":{"name":"punctuation.definition.entry.yaml"},"3":{"name":"entity.name.tag.yaml"},"4":{"name":"punctuation.separator.key-value.yaml"},"5":{"name":"keyword.other.omap.yaml"},"6":{"name":"punctuation.definition.tag.omap.yaml"}}},{"begin":"^(\\s*)(-)?\\s*(?:((')([^']*?)('))|((\")([^\"]*?)(\")))(:)\\s+((!!)omap)?","end":"^((?!\\1\\s+)|(?=\\1\\s*(-|[^!@#%\u0026*\u003e,].*:\\s+|#)))","patterns":[{"include":"#scalar-content"}],"beginCaptures":{"10":{"name":"punctuation.definition.string.end.yaml"},"11":{"name":"punctuation.separator.key-value.yaml"},"12":{"name":"keyword.other.omap.yaml"},"13":{"name":"punctuation.definition.tag.omap.yaml"},"2":{"name":"punctuation.definition.entry.yaml"},"3":{"name":"string.quoted.single.yaml"},"4":{"name":"punctuation.definition.string.begin.yaml"},"5":{"name":"entity.name.tag.yaml"},"6":{"name":"punctuation.definition.string.end.yaml"},"7":{"name":"string.quoted.double.yaml"},"8":{"name":"punctuation.definition.string.begin.yaml"},"9":{"name":"entity.name.tag.yaml"}}},{"begin":"^(\\s*)(-)\\s+(?:((!!)omap)|((!)[^!\\s]+)|(?![!@#%\u0026*\u003e,]))","end":"^((?!\\1\\s+)|(?=\\1\\s*(-|[^!@#%\u0026*\u003e,].*:\\s+|#)))","patterns":[{"include":"#scalar-content"}],"beginCaptures":{"2":{"name":"punctuation.definition.entry.yaml"},"3":{"name":"keyword.other.omap.yaml"},"4":{"name":"punctuation.definition.tag.omap.yaml"},"5":{"name":"keyword.other.tag.local.yaml"},"6":{"name":"punctuation.definition.tag.local.yaml"}}},{"include":"#variables"},{"include":"#strings"}],"repository":{"comment":{"name":"comment.line.number-sign.yaml","begin":"(?\u003c=^|\\s)#(?!{)","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.yaml"}}},"constants":{"name":"constant.language.yaml","match":"(?\u003c=\\s)(true|false|True|False|TRUE|FALSE|yes|no|Yes|No|YES|NO|~)(?=\\s*$)"},"date":{"match":"([0-9]{4}-[0-9]{2}-[0-9]{2})\\s*($|(?=#)(?!#{))","captures":{"1":{"name":"constant.other.date.yaml"}}},"escaped_char":{"patterns":[{"name":"constant.character.escape.yaml","match":"\\\\u[A-Fa-f0-9]{4}"},{"name":"constant.character.escape.yaml","match":"\\\\U[A-Fa-f0-9]{8}"},{"name":"constant.character.escape.yaml","match":"\\\\x[0-9A-Fa-f]{2}"},{"name":"constant.character.escape.yaml","match":"\\\\[0abtnvfre \"/\\\\N_LP]"},{"name":"invalid.illegal.escape.yaml","match":"\\\\(u.{4}|U.{8}|x.{2}|.)"}]},"numeric":{"patterns":[{"name":"constant.numeric.integer.yaml","match":"[-+]?[0-9]+(?=\\s*($|#(?!#{)))"},{"name":"constant.numeric.octal.yaml","match":"0o[0-7]+(?=\\s*($|#(?!#{)))"},{"name":"constant.numeric.hexadecimal.yaml","match":"0x[0-9a-fA-F]+(?=\\s*($|#(?!#{)))"},{"name":"constant.numeric.float.yaml","match":"[-+]?(.[0-9]+|[0-9]+(.[0-9]*)?)([eE][-+]?[0-9]+)?(?=\\s*($|#(?!#{)))"},{"name":"constant.numeric.float.yaml","match":"[-+]?(.inf|.Inf|.INF)(?=\\s*($|#(?!#{)))"},{"name":"constant.numeric.float.yaml","match":"(.nan|.NaN|.NAN)(?=\\s*($|#(?!#{)))"}]},"scalar-content":{"patterns":[{"include":"#comment"},{"name":"punctuation.definition.tag.non-specific.yaml","match":"!(?=\\s)"},{"include":"#constants"},{"include":"#date"},{"include":"#numeric"},{"include":"#strings"}]},"strings":{"patterns":[{"name":"string.quoted.double.yaml","begin":"\"","end":"\"","patterns":[{"include":"#escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}}},{"name":"string.quoted.single.yaml","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.yaml","match":"''"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}},"applyEndPatternLast":true},{"name":"string.interpolated.yaml","begin":"`","end":"`","patterns":[{"include":"#escaped_char"},{"include":"#erb"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}}},{"name":"string.unquoted.yaml","match":"[^\\s\"'\\n](?!\\s*#(?!{))([^#\\n]|((?\u003c!\\s)#))*"}]},"variables":{"name":"variable.other.yaml","match":"(\u0026|\\*)\\w+$","captures":{"1":{"name":"punctuation.definition.variable.yaml"}}}}}
1
+ {"name":"MiniYAML","scopeName":"source.miniyaml","patterns":[{"include":"#comment"},{"include":"#node"}],"repository":{"block-pair":{"name":"entity.name.tag.yaml","match":"^\\t*(\\S+?)(?=@|:)","patterns":[{"include":"#node-identifier"}]},"comment":{"name":"comment.line.number-sign.yaml","begin":"(?\u003c=^|\\s)#(?!{)","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.yaml"}}},"constants":{"name":"constant.language.yaml","match":"(?::\\s)(true|false|True|False|TRUE|FALSE|~)(?=\\s*$)"},"node":{"patterns":[{"include":"#node-removal"},{"include":"#block-pair"},{"include":"#node-identifier"},{"include":"#scalar-content"}]},"node-identifier":{"name":"support.yaml","match":"(?\u003c=\\S)(@\\S+)(?=:\\s)"},"node-removal":{"name":"entity.yaml","match":"^\\t+(-.+?)(?=@|:\\s)"},"numeric":{"patterns":[{"name":"constant.numeric.integer.yaml","match":"(?::\\s)[-+]?[0-9]+(?=\\s*($|#(?!#{)))"},{"name":"constant.numeric.octal.yaml","match":"(?::\\s)0o[0-7]+(?=\\s*($|#(?!#{)))"},{"name":"constant.numeric.hexadecimal.yaml","match":"(?::\\s)0x[0-9a-fA-F]+(?=\\s*($|#(?!#{)))"},{"name":"constant.numeric.float.yaml","match":"(?::\\s)[-+]?(.[0-9]+|[0-9]+(.[0-9]*)?)([eE][-+]?[0-9]+)?(?=\\s*($|#(?!#{)))"},{"name":"constant.numeric.float.yaml","match":"(?::\\s)[-+]?(.inf|.Inf|.INF)(?=\\s*($|#(?!#{)))"},{"name":"constant.numeric.float.yaml","match":"(?::\\s)(.nan|.NaN|.NAN)(?=\\s*($|#(?!#{)))"}]},"scalar-content":{"patterns":[{"include":"#comment"},{"include":"#constants"},{"include":"#numeric"},{"include":"#strings"}]},"strings":{"patterns":[{"name":"string.unquoted.yaml","match":"[^\\s\"'\\n](?!\\s*#(?!{))([^#\\n]|((?\u003c!\\s)#))*"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"mligo","scopeName":"source.mligo","patterns":[{"include":"#string"},{"include":"#block_comment"},{"include":"#line_comment"},{"include":"#attribute"},{"include":"#macro"},{"include":"#letbinding"},{"include":"#lambda"},{"include":"#typedefinition"},{"include":"#controlkeywords"},{"include":"#numericliterals"},{"include":"#operators"},{"include":"#identifierconstructor"},{"include":"#module"}],"repository":{"attribute":{"name":"keyword.control.attribute.mligo","match":"\\[@.*\\]"},"block_comment":{"name":"comment.block.mligo","begin":"\\(\\*","end":"\\*\\)"},"controlkeywords":{"name":"keyword.control.mligo","match":"\\b(match|with|if|then|else|assert|failwith|begin|end|in)\\b"},"identifierconstructor":{"match":"\\b([A-Z][a-zA-Z0-9_$]*)\\s+","captures":{"1":{"name":"variable.other.enummember.mligo"}}},"lambda":{"begin":"\\b(fun)\\b","end":"(-\u003e)","beginCaptures":{"1":{"name":"keyword.other.mligo"}},"endCaptures":{"1":{"name":"keyword.operator.mligo"}}},"letbinding":{"match":"\\b(let)\\b\\s*\\b(rec|)\\s*\\b([a-zA-Z$_][a-zA-Z0-9$_]*)","captures":{"1":{"name":"keyword.other.mligo"},"2":{"name":"storage.modifier.mligo"},"3":{"name":"entity.name.function.mligo"}}},"line_comment":{"name":"comment.block.mligo","match":"\\/\\/.*$"},"macro":{"name":"meta.preprocessor.mligo","match":"^\\#[a-zA-Z]+"},"module":{"match":"\\b([A-Z][a-zA-Z0-9_$]*)\\.([a-z][a-zA-Z0-9_$]*)","captures":{"1":{"name":"storage.class.mligo"},"2":{"name":"storage.var.mligo"}}},"numericliterals":{"name":"constant.numeric.mligo","match":"(\\+|\\-)?[0-9]+(n|tz|tez|mutez|)\\b"},"operators":{"name":"keyword.operator.mligo","match":"\\s+(::|\\-|\\+|mod|land|lor|lxor|lsl|lsr|\u0026\u0026|\\|\\||\u003e|\u003c\u003e|\u003c=|=\u003e|\u003c|\u003e)\\s+"},"string":{"name":"string.quoted.double.mligo","begin":"\\\"","end":"\\\""},"typedefinition":{"name":"entity.name.type.mligo","match":"\\b(type)\\b"}}}
@@ -1 +1 @@
1
- {"name":"MLIR","scopeName":"source.mlir","patterns":[{"include":"#comment"},{"include":"#string"},{"name":"support.function.mlir","match":"\\b(func)\\b\\s*(|private|public)\\s*(@[\\w_][\\w\\d_.$]*)","captures":{"1":{"name":"keyword.function.mlir"},"2":{"name":"keyword.function.mlir"},"3":{"name":"entity.name.function.mlir"}}},{"name":"keyword.module.mlir","match":"\\b(attributes|br|call|constant|loc|return)\\b"},{"include":"#identifier"},{"include":"#branch_target"},{"include":"#attribute"},{"include":"#types"},{"include":"#integer"}],"repository":{"attribute":{"name":"meta.attribute.mlir","match":"\\W[\\w_][\\w\\d_.$]*\\s*="},"branch_target":{"name":"entity.name.label.mlir","match":"\\^bb[\\w\\d_$\\.-]+"},"comment":{"name":"comment.line.double-slash.mlir","match":"//.*$"},"identifier":{"name":"meta.identifier.mlir","match":"[\\%#@][\\w_][\\w\\d_.$]*","captures":{"0":{"name":"variable.mlir"}}},"integer":{"name":"meta.identifier.mlir","match":"[\\Wx]([0-9]+)","captures":{"1":{"name":"constant.numeric.mlir"}}},"string":{"name":"string.quoted.double.mlir","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.mlir","match":"\\\\[nt\"]"},{"name":"invalid.illegal.mlir","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mlir"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mlir"}}},"types":{"name":"meta.types.simple.mlir","match":"[\\Wx](index|i[1-9][0-9]*|f16|bf16|f32|f64|memref|tensor|vector)\\b","captures":{"1":{"name":"storage.type.mlir"}}}}}
1
+ {"name":"MLIR","scopeName":"source.mlir","patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#top_level_entity"}],"repository":{"attribute_alias_def":{"match":"^\\s*(\\#\\w+)\\b\\s+\\=","captures":{"1":{"name":"constant.language.mlir"}}},"attribute_dictionary_body":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#attribute_value"},{"name":"variable.other.mlir","match":"(\\%)?\\b([\\w\\.\\-\\$\\:0-9]+)\\b\\s*(?=\\=|\\,|\\})"}]},"attribute_value":{"patterns":[{"include":"#string"},{"include":"#comment"},{"include":"#number"},{"name":"constant.language.mlir","match":"\\b(false|true|unit)\\b"},{"begin":"\\b(affine_map|affine_set)\\s*\\\u003c","end":"\\)\\\u003e","patterns":[{"name":"entity.name.function.mlir","match":"\\b(ceildiv|floordiv|mod|symbol)\\b"},{"name":"variable.mlir","match":"\\b([\\w\\.\\$\\-]+)\\b"},{"include":"#number"}],"beginCaptures":{"1":{"name":"constant.language.mlir"}}},{"begin":"\\b(dense|opaque|sparse)\\s*\\\u003c","end":"\\\u003e","patterns":[{"include":"#attribute_value"}],"beginCaptures":{"1":{"name":"constant.language.mlir"}}},{"begin":"\\[","end":"\\]","patterns":[{"include":"#attribute_value"},{"include":"#operation_body"}]},{"begin":"\\{","end":"\\}","patterns":[{"include":"#attribute_dictionary_body"}]},{"name":"entity.name.function.mlir","match":"(\\@[\\w+\\$\\-\\.]*)"},{"begin":"(\\#[\\w\\$\\-\\.]+)\\\u003c","end":"\\\u003e","patterns":[{"include":"#attribute_value"},{"match":"\\-\\\u003e|\\\u003e\\="},{"include":"#bare_identifier"}],"beginCaptures":{"1":{"name":"constant.language.mlir"}}},{"name":"constant.language.mlir","match":"\\#[\\w\\$\\-\\.]+\\b"},{"include":"#type_value"},{"begin":"\\\u003c","end":"\\\u003e","patterns":[{"include":"#attribute_value"},{"include":"#bare_identifier"}]}]},"bare_identifier":{"name":"keyword.other.mlir","match":"\\b([\\w\\.\\$\\-]+)\\b"},"block":{"name":"keyword.control.mlir","match":"\\^[\\w\\d_$\\.-]+"},"comment":{"name":"comment.line.double-slash.mlir","match":"//.*$"},"number":{"patterns":[{"name":"constant.numeric.mlir","match":"(\\W)?([0-9]+\\.[0-9]*)([eE][+-]?[0-9]+)?"},{"match":"([\\W])?(0x[0-9a-zA-Z]+)","captures":{"2":{"name":"constant.numeric.mlir"}}},{"match":"([\\Wx])?([0-9]+)","captures":{"2":{"name":"constant.numeric.mlir"}}}]},"operation":{"patterns":[{"match":"^\\s*(\\%[\\%\\w\\:\\,\\s]+)\\s+\\=\\s+([\\w\\.\\$\\-]+)\\b","captures":{"1":{"patterns":[{"include":"#ssa_value"}]},"2":{"name":"variable.other.enummember.mlir"}}},{"name":"variable.other.enummember.mlir","match":"^\\s*([\\w\\.\\$\\-]+)\\b(?=[^\\\u003c\\:])"}]},"operation_body":{"patterns":[{"include":"#operation"},{"include":"#region_body_or_attr_dict"},{"include":"#comment"},{"include":"#ssa_value"},{"include":"#block"},{"include":"#attribute_value"},{"include":"#bare_identifier"}]},"region_body_or_attr_dict":{"patterns":[{"begin":"\\{\\s*(?=\\%|\\/|\\^)","end":"\\}","patterns":[{"include":"#operation_body"}]},{"begin":"\\{\\s*(?=[^\\}]*$)","end":"\\}","patterns":[{"include":"#operation_body"}]},{"begin":"\\{\\s*(?=\\%)","end":"\\}","patterns":[{"include":"#operation_body"}]},{"begin":"\\{\\s*(?=.*$)","end":"\\}","patterns":[{"include":"#attribute_dictionary_body"}]}]},"ssa_value":{"name":"variable.other.mlir","match":"\\%[\\w\\.\\$\\:\\#]+"},"string":{"name":"string.quoted.double.mlir","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.mlir","match":"\\\\[nt\"]"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mlir"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mlir"}}},"top_level_entity":{"patterns":[{"include":"#attribute_alias_def"},{"include":"#type_alias_def"},{"include":"#operation_body"}]},"type_alias_def":{"match":"^\\s*(\\!\\w+)\\b\\s+\\=","captures":{"1":{"name":"entity.name.type.mlir"}}},"type_value":{"patterns":[{"begin":"(\\![\\w\\$\\-\\.]+)\\\u003c","end":"\\\u003e","patterns":[{"include":"#attribute_value"},{"name":"punctuation.other.mlir","match":"\\-\\\u003e|\\\u003e\\="},{"include":"#bare_identifier"}],"beginCaptures":{"1":{"name":"entity.name.type.mlir"}}},{"name":"entity.name.type.mlir","match":"\\![\\w\\$\\-\\.]+\\b"},{"begin":"(complex|memref|tensor|tuple|vector)\\\u003c","end":"\\\u003e","patterns":[{"match":"[\\?x0-9\\[\\]]+","captures":{"0":{"patterns":[{"include":"#number"}]}}},{"include":"#attribute_value"},{"name":"punctuation.other.mlir","match":"\\-\\\u003e|\\\u003e\\="},{"include":"#bare_identifier"}],"beginCaptures":{"1":{"name":"entity.name.type.mlir"}}},{"name":"entity.name.type.mlir","match":"bf16|f16|f32|f64|f80|f128|index|none|(u|s)?i[0-9]+"}]}}}
@@ -1 +1 @@
1
- {"name":"Swift","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.swift","match":"\\b(open|public|internal|fileprivate|private)\\b(?:\\(set\\))?"},"arithmetic-operator":{"name":"keyword.operator.arithmetic.swift","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\+|\\-|\\*|\\/)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"array-type":{"name":"meta.array.swift","begin":"\\b(Array)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.array.swift"},"2":{"name":"punctuation.array.begin.swift"}},"endCaptures":{"1":{"name":"punctuation.array.end.swift"}}},"assignment-operator":{"name":"keyword.operator.assignment.swift","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\+|\\-|\\*|\\/|%|\u003c\u003c|\u003e\u003e|\u0026|\\^|\\||\u0026\u0026|\\|\\|)?=(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"attribute":{"name":"meta.attribute.swift","patterns":[{"contentName":"meta.attribute.arguments.swift","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.swift"},"2":{"name":"punctuation.definition.attribute.swift"},"3":{"name":"punctuation.definition.attribute-arguments.begin.swift"}},"endCaptures":{"0":{"name":"punctuation.definition.attribute-arguments.end.swift"}}},{"match":"((@)(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B))","captures":{"1":{"name":"storage.modifier.attribute.swift"},"2":{"name":"punctuation.definition.attribute.swift"}}}]},"bitwise-operator":{"name":"keyword.operator.bitwise.swift","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\u0026|\\||\\^|\u003c\u003c|\u003e\u003e)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"block-comment":{"name":"comment.block.swift","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.swift"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.swift"}}},"boolean":{"name":"keyword.constant.boolean.swift","match":"\\b(true|false)\\b"},"branch-statement-keyword":{"name":"keyword.control.branch.swift","patterns":[{"include":"#if-statement-keyword"},{"include":"#switch-statement-keyword"}]},"catch-statement-keyword":{"name":"kewyord.control.catch.swift","match":"\\b(catch|do)\\b"},"code-block":{"begin":"(\\{)","end":"(\\})","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.code-block.begin.swift"}},"endCaptures":{"1":{"name":"punctuation.definition.code-block.end.swift"}}},"collection-type":{"patterns":[{"include":"#array-type"},{"include":"#dictionary-type"},{"name":"support.type.swift","match":"\\b(Array|Dictionary)\\b"}]},"comment":{"patterns":[{"include":"#documentation-comment"},{"include":"#block-comment"},{"include":"#in-line-comment"}]},"comparative-operator":{"name":"keyword.operator.comparative.swift","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])((=|!)==?|(\u003c|\u003e)=?|~=)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"control-transfer-statement-keyword":{"name":"keyword.control.transfer.swift","match":"\\b(continue|break|fallthrough|return)\\b"},"custom-operator":{"patterns":[{"name":"keyword.operator.custom.prefix.unary.swift","match":"(?\u003c=[\\s(\\[{,;:])([/=\\-+!*%\u003c\u003e\u0026|\\^~.]++)(?![\\s)\\]},;:])"},{"name":"keyword.operator.custom.postfix.unary.swift","match":"(?\u003c![\\s(\\[{,;:])([/=\\-+!*%\u003c\u003e\u0026|\\^~.]++)(?![\\s)\\]},;:\\.])"},{"name":"keyword.operator.custom.binary.swift","match":"(?\u003c=[\\s(\\[{,;:])([/=\\-+!*%\u003c\u003e\u0026|\\^~.]++)(?=[\\s)\\]},;:])"}]},"declaration":{"name":"meta.declaration.swift","patterns":[{"include":"#import-declaration"},{"include":"#function-declaration"}]},"declaration-modifier":{"name":"keyword.other.declaration-modifier.swift","match":"\\b(class|object|type|shared|convenience|dynamic|final|lazy|(non)?mutating|optional|override|required|static|unowned((un)?safe)?|weak)\\b"},"dictionary-type":{"name":"meta.dictionary.swift","begin":"\\b(Dictionary)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.dictionary.swift"},"2":{"name":"punctuation.dictionary.begin.swift"}},"endCaptures":{"1":{"name":"punctuation.dictionary.end.swift"}}},"documentation-comment":{"name":"comment.block.documentation.swift","begin":"/\\*\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.documentation.begin.swift"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.documentation.end.swift"}}},"floating-point-literal":{"name":"constant.numeric.floating-point.swift","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.swift","patterns":[{"include":"#code-block"}]},"function-declaration":{"name":"meta.function-declaration.swift","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.swift"},"2":{"name":"entity.type.function.swift"}}},"function-result":{"name":"meta.function-result.swift","begin":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\-\u003e)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\s*","end":"\\s*(?=\\{)","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.function-result.swift"}}},"generic-parameter-clause":{"name":"meta.generic-parameter-clause.swift","begin":"(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.generic-parameter-clause.begin.swift"}},"endCaptures":{"1":{"name":"punctuation.definition.generic-parameter-clause.end.swift"}}},"identifier":{"name":"meta.identifier.swift","match":"(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B)"},"if-statement-keyword":{"name":"keyword.control.if.swift","match":"\\b(if|else)\\b"},"import-declaration":{"name":"meta.import.swift","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.swift"},"2":{"name":"storage.modifier.swift"},"3":{"name":"support.type.module.import.swift"}}},"in-line-comment":{"name":"comment.line.double-slash.swift","match":"(//).*","captures":{"1":{"name":"punctuation.definition.comment.line.double-slash.swift"}}},"increment-decrement-operator":{"name":"keyword.operator.increment-or-decrement.swift","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\+\\+|\\-\\-)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"integer-literal":{"name":"constant.numeric.integer.swift","patterns":[{"name":"constant.numeric.integer.binary.swift","match":"(\\B\\-|\\b)(0b[01][01_]*)\\b"},{"name":"constant.numeric.integer.octal.swift","match":"(\\B\\-|\\b)(0o[0-7][0-7_]*)\\b"},{"name":"constant.numeric.integer.decimal.swift","match":"(\\B\\-|\\b)([0-9][0-9_]*)\\b"},{"name":"constant.numeric.integer.hexadecimal.swift","match":"(\\B\\-|\\b)(0x[[:xdigit:]][[[:xdigit:]]_]*)\\b"}]},"integer-type":{"name":"support.type.swift","match":"\\bU?Int(8|16|32|64)?\\b"},"keyword":{"patterns":[{"include":"#branch-statement-keyword"},{"include":"#control-transfer-statement-keyword"},{"include":"#loop-statement-keyword"},{"include":"#catch-statement-keyword"},{"include":"#operator-declaration-modifier"},{"include":"#declaration-modifier"},{"include":"#access-level-modifier"},{"name":"keyword.declaration.swift","match":"\\b(async|actor|and|class|func|import|let|module|not|or)\\b"},{"name":"keyword.statement.swift","match":"\\b(assert|async|await|break|case|continue|default|debug|debug_show|else|if|in|for|return|switch|while|loop|try|throw|query)\\b"},{"name":"keyword.other.swift","match":"\\b(associativity|didSet|get|infix|inout|left|mutating|none|nonmutating|operator|override|postfix|precedence|prefix|right|set|unowned((un)?safe)?|weak|willSet)\\b"}]},"literal":{"patterns":[{"include":"#integer-literal"},{"include":"#floating-point-literal"},{"include":"#nil-literal"},{"include":"#string-literal"},{"include":"#special-literal"}]},"logical-operator":{"name":"keyword.operator.logical.swift","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(!|\u0026\u0026|\\|\\|)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"loop-statement-keyword":{"name":"keyword.control.loop.swift","match":"\\b(while|repeat|for|in|loop)\\b"},"nil-literal":{"name":"constant.nil.swift","match":"\\bnil\\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"}]},"operator-declaration-modifier":{"name":"keyword.other.operator.swift","match":"\\b(operator|prefix|infix|postfix)\\b"},"optional-type":{"name":"meta.optional.swift","match":"\\b(Optional)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.optional.swift"},"2":{"name":"punctuation.optional.begin.swift"}},"endCaptures":{"1":{"name":"punctuation.optional.end.swift"}}},"overflow-operator":{"name":"keyword.operator.overflow.swift","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\\u0026(\\+|\\-|\\*|\\/|%)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"parameter-clause":{"name":"meta.parameter-clause.swift","begin":"(\\()","end":"(\\))","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.function-arguments.begin.swift"}},"endCaptures":{"1":{"name":"punctuation.definition.function-arguments.end.swift"}}},"primitive-type":{"name":"support.type.swift","match":"\\b[A-Z].*?\\b"},"protocol-composition-type":{"name":"meta.protocol.swift","match":"\\b(protocol)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.protocol.swift"},"2":{"name":"punctuation.protocol.begin.swift"}},"endCaptures":{"1":{"name":"punctuation.protocol.end.swift"}}},"range-operator":{"name":"keyword.operator.range.swift","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\.\\.(?:\\.)?(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"remainder-operator":{"name":"keyword.operator.remainder.swift","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\%(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"shebang-line":{"name":"comment.line.shebang.swift","match":"^(#!).*$","captures":{"1":{"name":"punctuation.definition.comment.line.shebang.swift"}}},"special-literal":{"name":"keyword.other.literal.swift","match":"\\b__(FILE|LINE|COLUMN|FUNCTION)__\\b"},"storage-type":{"name":"storage.type.swift","match":"\\b(var|func|let|class|enum)\\b"},"string-literal":{"name":"meta.literal.string.swift","begin":"\\\"","end":"\\\"","patterns":[{"name":"constant.character.escape.swift","match":"\\\\([0tnr\\\"\\'\\\\]|x[[:xdigit:]]{2}|u[[:xdigit:]]{4}|U[[:xdigit:]]{8})"},{"contentName":"meta.expression.swift","begin":"(\\\\\\()","end":"(\\))","patterns":[{"include":"source.swift"}],"beginCaptures":{"1":{"name":"support.punctuation.expression.begin.swift"}},"endCaptures":{"1":{"name":"support.punctuation.expression.end.swift"}}},{"name":"invalid.illegal.swift","match":"(\\\"|\\\\)"},{"name":"string.quoted.double.swift","match":"(.)"}],"beginCaptures":{"0":{"name":"string.quoted.double.swift"}},"endCaptures":{"0":{"name":"string.quoted.double.swift"}}},"switch-statement-keyword":{"name":"keyword.control.switch.swift","match":"\\b(switch|case|default|where)\\b"},"ternary-operator":{"name":"keyword.operator.ternary.swift","match":"(?\u003c=[\\s(\\[{,;:])(\\?|:)(?=[\\s)\\]},;:])"},"type":{"patterns":[{"include":"#primitive-type"},{"include":"#integer-type"},{"include":"#collection-type"},{"include":"#optional-type"},{"include":"#protocol-composition-type"}]},"type-casting-operator":{"name":"keyword.operator.type-casting.swift","match":"\\b(is\\b|as(\\?\\B|\\b))"}}}
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\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\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"}]},"catch-statement-keyword":{"name":"kewyord.control.catch.motoko","match":"\\b(catch|do)\\b"},"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|default|debug|debug_show|else|if|ignore|in|for|label|return|switch|while|loop|try|throw)\\b"},{"name":"keyword.other.motoko","match":"\\b(flexible|query|stable)\\b"}]},"literal":{"patterns":[{"include":"#integer-literal"},{"include":"#floating-point-literal"},{"include":"#nil-literal"},{"include":"#string-literal"},{"include":"#special-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|repeat|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"}]},"operator-declaration-modifier":{"name":"keyword.other.operator.motoko","match":"\\b(operator|prefix|infix|postfix)\\b"},"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"}}},"special-literal":{"name":"keyword.other.literal.motoko","match":"\\b__(FILE|LINE|COLUMN|FUNCTION)__\\b"},"storage-type":{"name":"storage.type.motoko","match":"\\b(var|func|let|class|enum)\\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})"},{"contentName":"meta.expression.motoko","begin":"(\\\\\\()","end":"(\\))","patterns":[{}],"beginCaptures":{"1":{"name":"support.punctuation.expression.begin.motoko"}},"endCaptures":{"1":{"name":"support.punctuation.expression.end.motoko"}}},{"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|default)\\b"},"type":{"patterns":[{"include":"#primitive-type"},{"include":"#resolved-type"},{"include":"#optional-type"},{"include":"#protocol-composition-type"}]}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"source.move","patterns":[{"include":"#comments"},{"include":"#module"},{"include":"#script"},{"include":"#macros"}],"repository":{"address_literal":{"patterns":[{"name":"support.constant.diem.address.move","match":"\\b(0x[A-Fa-f0-9][A-Fa-f0-9]{,31})\\b"},{"name":"support.constant.dfinance.address.move","match":"\\b(wallet1\\w{38})"},{"name":"support.constant.named.address.move","match":"\\s([@]\\w+)\\b"}]},"as":{"name":"keyword.control.move","match":"\\b(as)\\b"},"as-import":{"name":"meta.import_as.move","match":"\\b(as)\\b"},"assert":{"name":"support.function.assert.move","match":"\\b(assert)\\b"},"block":{"name":"meta.block.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#as"},{"include":"#mut"},{"include":"#let"},{"include":"#types"},{"include":"#assert"},{"include":"#literals"},{"include":"#control"},{"include":"#move_copy"},{"include":"#resource_methods"},{"include":"#module_access"},{"include":"#fun_call"},{"include":"#block"}]},"block-comments":{"patterns":[{"name":"comment.block.documentation.move","begin":"/\\*[\\*!](?![\\*/])","end":"\\*/"},{"name":"comment.block.move","begin":"/\\*","end":"\\*/"}]},"comments":{"name":"meta.comments.move","patterns":[{"include":"#line-comments"},{"include":"#block-comments"}]},"const":{"name":"meta.const.move","begin":"\\b(const)\\b","end":";","patterns":[{"include":"#comments"},{"include":"#primitives"},{"include":"#vector"},{"include":"#literals"},{"name":"constant.other.move","match":"\\b([\\w_]+)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.const.move"}}},"control":{"name":"keyword.control.move","match":"\\b(return|while|loop|if|else|break|continue|abort)\\b"},"entry_fun":{"name":"meta.entry_fun.move","begin":"\\b(entry)\\b","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"name":"storage.modifier.native.move","match":"\\b(native)\\b"},{"name":"storage.modifier.public.move","match":"\\b(public)\\b"},{"include":"#fun"}],"beginCaptures":{"1":{"name":"storage.modifier.entry.move"}}},"friend":{"name":"meta.friend.move","begin":"\\b(friend)\\b","end":";","patterns":[{"include":"#comments"},{"include":"#address_literal"},{"name":"entity.name.type.module.move","match":"\\b(\\w+)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.type.move"}}},"fun":{"patterns":[{"include":"#fun_signature"},{"include":"#fun_body"}]},"fun_body":{"name":"meta.fun_body.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#import"},{"include":"#as"},{"include":"#mut"},{"include":"#let"},{"include":"#types"},{"include":"#assert"},{"include":"#literals"},{"include":"#control"},{"include":"#move_copy"},{"include":"#resource_methods"},{"include":"#self_access"},{"include":"#module_access"},{"include":"#fun_call"},{"include":"#block"}]},"fun_call":{"name":"meta.fun_call.move","begin":"\\b(\\w+)\\s*(?:\u003c[\\w\\s,]+\u003e)?\\s*[(]","end":"[)]","patterns":[{"include":"#comments"},{"include":"#resource_methods"},{"include":"#self_access"},{"include":"#module_access"},{"include":"#move_copy"},{"include":"#literals"},{"include":"#fun_call"},{"include":"#block"},{"include":"#mut"},{"include":"#as"}],"beginCaptures":{"1":{"name":"entity.name.function.call.move"}}},"fun_signature":{"name":"meta.fun_signature.move","begin":"\\b(fun)\\b","end":"(?=[;{])","patterns":[{"include":"#comments"},{"include":"#module_access"},{"include":"#types"},{"include":"#mut"},{"name":"meta.function_name.move","begin":"(?\u003c=fun)","end":"(?=[\u003c(])","patterns":[{"include":"#comments"},{"name":"entity.name.function.move","match":"\\b(\\w+)\\b"}]},{"include":"#type_param"},{"name":"meta.parentheses.move","begin":"[(]","end":"[)]","patterns":[{"include":"#comments"},{"include":"#self_access"},{"include":"#module_access"},{"include":"#types"},{"include":"#mut"}]},{"name":"storage.modifier","match":"\\b(acquires)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.fun.move"}}},"import":{"name":"meta.import.move","begin":"\\b(use)\\b","end":";","patterns":[{"include":"#comments"},{"include":"#address_literal"},{"include":"#as-import"},{"begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#as-import"},{"name":"entity.name.type.move","match":"\\b(\\w+)\\b"}]},{"name":"entity.name.type.module.move","match":"\\b(\\w+)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.type.move"}}},"let":{"name":"keyword.control.move","match":"\\b(let)\\b"},"line-comments":{"name":"comment.line.double-slash.move","begin":"//","end":"$"},"literals":{"patterns":[{"name":"constant.numeric.hex.move","match":"0x[_a-fA-F0-9]+(?:[iu](?:8|16|32|64|size))?"},{"name":"constant.numeric.move","match":"(?\u003c!(?:\\w|(?:(?\u003c!\\.)\\.)))[0-9][_0-9]*(?:\\.(?!\\.)(?:[0-9][_0-9]*)?)?(?:[eE][+\\-]?[_0-9]+)?(?:[u](?:8|64|128|))?"},{"match":"\\b(?:h)(\"[a-fA-F0-9]+\")","captures":{"1":{"name":"constant.character.move"}}},{"name":"meta.ascii_literal.move","match":"\\b(\"(.*)\")","captures":{"1":{"name":"string.quoted.double.raw.byte.move"}}},{"name":"meta.hex_literal.move","match":"x\"([A-F0-9a-f]+)\"","captures":{"1":{"name":"constant.numeric.hex.move"}}},{"name":"constant.language.boolean.move","match":"\\b(?:true|false)\\b"},{"include":"#address_literal"}]},"macros":{"name":"support.constant.macro.move","match":"#\\[(?:[\\w0-9=_\\(\\)\\s\"]+)\\]"},"module":{"name":"meta.module.move","begin":"\\b(module)\\b","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"begin":"(?\u003c=module)","end":"(?={)","patterns":[{"include":"#comments"},{"name":"constant.other.move","begin":"(?\u003c=module)","end":"(?=::)"},{"name":"entity.name.type.move","begin":"(?\u003c=::)","end":"(?={)"}]},{"name":"meta.module_scope.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#macros"},{"include":"#import"},{"include":"#friend"},{"include":"#const"},{"include":"#struct"},{"include":"#entry_fun"},{"include":"#native_fun"},{"include":"#public_fun"},{"include":"#fun"},{"include":"#spec"},{"include":"#block"}]}],"beginCaptures":{"1":{"name":"storage.modifier.type.move"}}},"module_access":{"name":"meta.module_access.move","match":"\\b(\\w+)::(\\w+)\\b","captures":{"1":{"name":"entity.name.type.module.move"},"2":{"name":"entity.name.function.call.move"}}},"move_copy":{"name":"variable.language.move","match":"\\b(move|copy)\\b"},"mut":{"name":"storage.modifier.mut.move","match":"(?\u003c=\u0026)(mut)\\b"},"native_fun":{"name":"meta.native_fun.move","begin":"\\b(native)\\b","end":"(?\u003c=[;}])","patterns":[{"include":"#comments"},{"name":"storage.modifier.public.move","match":"\\b(public)\\b"},{"name":"storage.modifier.entry.move","match":"\\b(entry)\\b"},{"include":"#fun_signature"}],"beginCaptures":{"1":{"name":"storage.modifier.native.move"}}},"phantom":{"name":"keyword.control.phantom.move","match":"\\b(phantom)\\b"},"primitives":{"name":"support.type.primitives.move","match":"\\b(u8|u64|u128|address|bool|signer)\\b"},"public_fun":{"name":"meta.public_fun.move","begin":"\\b(public)\\b","end":"(?\u003c=[;}])","patterns":[{"include":"#comments"},{"name":"storage.modifier.native.move","match":"\\b(native)\\b"},{"name":"storage.modifier.entry.move","match":"\\b(entry)\\b"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"name":"storage.modifier.public.script.move","match":"\\b(script|friend)\\b"}]},{"include":"#fun"}],"beginCaptures":{"1":{"name":"storage.modifier.public.move"}}},"resource_methods":{"name":"support.function.typed.move","match":"\\b(borrow_global|borrow_global_mut|exists|move_from|move_to_sender|move_to)\\b"},"script":{"name":"meta.script.move","begin":"\\b(script)\\b","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"name":"meta.script_scope.move","begin":"{","end":"}","patterns":[{"include":"#const"},{"include":"#comments"},{"include":"#import"},{"include":"#fun"}]}],"beginCaptures":{"1":{"name":"storage.modifier.script.move"}}},"self_access":{"name":"meta.self_access.move","match":"\\b(Self)::(\\w+)\\b","captures":{"1":{"name":"variable.language.self.move"},"2":{"name":"entity.name.function.call.move"}}},"spec":{"name":"meta.spec.move","begin":"\\b(spec)\\b","end":"(?\u003c=[;}])","patterns":[{"name":"storage.modifier.spec.target.move","match":"\\b(module|schema|struct|fun)"},{"name":"storage.modifier.spec.define.move","match":"\\b(define)"},{"name":"entity.name.function.move","match":"\\b(\\w+)\\b"},{"begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#spec_block"},{"include":"#spec_types"},{"include":"#spec_define"},{"include":"#spec_keywords"},{"include":"#control"},{"include":"#fun_call"},{"include":"#literals"},{"include":"#types"},{"include":"#let"}]}],"beginCaptures":{"1":{"name":"storage.modifier.spec.move"}}},"spec_block":{"name":"meta.spec_block.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#spec_block"},{"include":"#spec_types"},{"include":"#fun_call"},{"include":"#literals"},{"include":"#control"},{"include":"#types"},{"include":"#let"}]},"spec_define":{"name":"meta.spec_define.move","begin":"\\b(define)\\b","end":"(?=[;{])","patterns":[{"include":"#comments"},{"include":"#spec_types"},{"include":"#types"},{"begin":"(?\u003c=define)","end":"(?=[(])","patterns":[{"include":"#comments"},{"name":"entity.name.function.move","match":"\\b(\\w+)\\b"}]}],"beginCaptures":{"1":{"name":"keyword.control.move.spec"}}},"spec_keywords":{"name":"keyword.control.move.spec","match":"\\b(global|pack|unpack|pragma|native|include|ensures|requires|invariant|apply|aborts_if|modifies)\\b"},"spec_types":{"name":"support.type.vector.move","match":"\\b(range|num|vector|bool|u8|u64|u128|address)\\b"},"struct":{"name":"meta.struct.move","begin":"\\b(struct)\\b","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"name":"meta.struct_def.move","begin":"(?\u003c=struct)","end":"(?={)","patterns":[{"include":"#comments"},{"name":"keyword.control.ability.has.move","match":"\\b(has)\\b"},{"name":"entity.name.type.ability.move","match":"\\b(store|key|drop|copy)\\b"},{"name":"entity.name.type.move","match":"\\b(\\w+)\\b"},{"include":"#type_param"}]},{"name":"meta.struct_body.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#self_access"},{"include":"#module_access"},{"include":"#types"}]}],"beginCaptures":{"1":{"name":"storage.modifier.type.move"}}},"type_param":{"name":"meta.generic_param.move","begin":"\u003c","end":"\u003e","patterns":[{"include":"#comments"},{"include":"#phantom"},{"include":"#module_access"},{"name":"entity.name.type.kind.move","match":"\\b(store|drop|key|copy)\\b"}]},"types":{"name":"meta.types.move","patterns":[{"include":"#primitives"},{"include":"#vector"},{"name":"entity.name.type","match":"\\b([A-Z][A-Za-z_]+)\\b"},{"name":"constant.other.move","match":"\\b([A-Z_]+)\\b"}]},"vector":{"name":"meta.vector.move","begin":"\\b(vector)\u003c","end":"\u003e","patterns":[{"include":"#primitives"},{"include":"#vector"}],"beginCaptures":{"1":{"name":"support.type.vector.move"}}}}}