github-linguist 7.17.0 → 7.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +1 -0
  3. data/grammars/annotation.liquidhaskell.haskell.json +1 -1
  4. data/grammars/hint.haskell.json +1 -1
  5. data/grammars/hint.message.haskell.json +1 -1
  6. data/grammars/hint.type.haskell.json +1 -1
  7. data/grammars/liquid.injection.json +1 -0
  8. data/grammars/markdown.cadence.codeblock.json +1 -0
  9. data/grammars/markdown.curry.codeblock.json +1 -0
  10. data/grammars/markdown.prisma.codeblock.json +1 -0
  11. data/grammars/markdown.textproto.codeblock.json +1 -0
  12. data/grammars/source.2da.json +1 -0
  13. data/grammars/source.abap.json +1 -1
  14. data/grammars/source.acucobol.json +1 -1
  15. data/grammars/source.aidl.json +1 -1
  16. data/grammars/source.alloy.json +1 -1
  17. data/grammars/source.astro.json +1 -0
  18. data/grammars/source.ats.json +1 -1
  19. data/grammars/source.ballerina.json +1 -1
  20. data/grammars/source.berry.bytecode.json +1 -0
  21. data/grammars/source.berry.json +1 -0
  22. data/grammars/source.bms.json +1 -0
  23. data/grammars/source.bmsmap.json +1 -0
  24. data/grammars/source.bnd.json +1 -0
  25. data/grammars/source.cadence.json +1 -0
  26. data/grammars/source.cairo.json +1 -0
  27. data/grammars/source.cl.json +1 -0
  28. data/grammars/source.clar.json +1 -0
  29. data/grammars/source.clojure.json +1 -1
  30. data/grammars/source.cmd.json +1 -0
  31. data/grammars/source.cobol.json +1 -1
  32. data/grammars/source.cobol_acu_listfile.json +1 -0
  33. data/grammars/source.cobol_mf_listfile.json +1 -0
  34. data/grammars/source.cobol_mfprep.json +1 -0
  35. data/grammars/source.cobol_pcob_listfile.json +1 -0
  36. data/grammars/source.cobolit.json +1 -0
  37. data/grammars/source.cobsql_dir.json +1 -0
  38. data/grammars/source.cs.json +1 -1
  39. data/grammars/source.csound.json +1 -1
  40. data/grammars/source.curry.json +1 -0
  41. data/grammars/source.dart.json +1 -1
  42. data/grammars/source.data-weave.json +1 -1
  43. data/grammars/source.dds.dspf.json +1 -0
  44. data/grammars/source.dds.icff.json +1 -0
  45. data/grammars/source.dds.lf.json +1 -0
  46. data/grammars/source.dds.pf.json +1 -0
  47. data/grammars/source.dds.prtf.json +1 -0
  48. data/grammars/source.deb-control.json +1 -0
  49. data/grammars/source.debian.makefile.json +1 -0
  50. data/grammars/source.denizenscript.json +1 -0
  51. data/grammars/source.dir.json +1 -0
  52. data/grammars/source.ditroff.json +1 -1
  53. data/grammars/source.earthfile.json +1 -0
  54. data/grammars/source.elixir.json +1 -1
  55. data/grammars/source.euphoria.json +1 -0
  56. data/grammars/source.fsharp.json +1 -1
  57. data/grammars/source.futhark.json +1 -1
  58. data/grammars/source.gcode.json +1 -1
  59. data/grammars/source.gdscript.json +1 -1
  60. data/grammars/source.genero-forms.json +1 -0
  61. data/grammars/source.genero.json +1 -0
  62. data/grammars/source.gitignore.json +1 -1
  63. data/grammars/source.gleam.json +1 -0
  64. data/grammars/source.goldgrm.json +1 -0
  65. data/grammars/source.gsc.json +1 -0
  66. data/grammars/source.hack.json +1 -1
  67. data/grammars/source.haskell.json +1 -1
  68. data/grammars/source.hlasm.json +1 -0
  69. data/grammars/source.hoon.json +1 -0
  70. data/grammars/source.hsig.json +1 -1
  71. data/grammars/source.icurry.json +1 -0
  72. data/grammars/source.janet.json +1 -0
  73. data/grammars/source.jcl.json +1 -1
  74. data/grammars/source.js.json +1 -1
  75. data/grammars/source.json.json +1 -1
  76. data/grammars/source.julia.json +1 -1
  77. data/grammars/source.kotlin.json +1 -1
  78. data/grammars/source.ligo.json +1 -0
  79. data/grammars/source.m2.json +1 -1
  80. data/grammars/source.matlab.json +1 -1
  81. data/grammars/source.mc.json +1 -0
  82. data/grammars/source.mfu.json +1 -0
  83. data/grammars/source.mfupp_dir.json +1 -0
  84. data/grammars/source.mi.json +1 -0
  85. data/grammars/source.miniyaml.json +1 -0
  86. data/grammars/source.mint.json +1 -0
  87. data/grammars/source.mligo.json +1 -0
  88. data/grammars/source.mlir.json +1 -1
  89. data/grammars/source.mo.json +1 -0
  90. data/grammars/source.opts.json +1 -1
  91. data/grammars/source.p4.json +1 -1
  92. data/grammars/source.pcb.schematic.json +1 -1
  93. data/grammars/source.pcb.sexp.json +1 -1
  94. data/grammars/source.pic.json +1 -1
  95. data/grammars/source.pli.json +1 -0
  96. data/grammars/source.pnlgrp.json +1 -0
  97. data/grammars/source.pony.json +1 -1
  98. data/grammars/source.postscript.json +1 -1
  99. data/grammars/source.procfile.json +1 -0
  100. data/grammars/source.promela.json +1 -0
  101. data/grammars/source.proto.json +1 -1
  102. data/grammars/source.python.kivy.json +1 -0
  103. data/grammars/source.q.json +1 -1
  104. data/grammars/source.q_output.json +1 -1
  105. data/grammars/source.qsharp.json +1 -1
  106. data/grammars/source.rego.json +1 -1
  107. data/grammars/source.religo.json +1 -0
  108. data/grammars/source.rescript.json +1 -1
  109. data/grammars/source.rpg.json +1 -0
  110. data/grammars/source.rpgle.json +1 -0
  111. data/grammars/source.scala.json +1 -1
  112. data/grammars/source.shell.json +1 -1
  113. data/grammars/source.shellcheckrc.json +1 -1
  114. data/grammars/source.smali.json +1 -1
  115. data/grammars/source.solidity.json +1 -1
  116. data/grammars/source.ssh-config.json +1 -1
  117. data/grammars/source.stan.json +1 -1
  118. data/grammars/source.swift.json +1 -1
  119. data/grammars/source.talon.json +1 -0
  120. data/grammars/source.textproto.json +1 -0
  121. data/grammars/source.ts.json +1 -1
  122. data/grammars/source.tsx.json +1 -1
  123. data/grammars/source.utreport.json +1 -0
  124. data/grammars/source.vyper.json +1 -1
  125. data/grammars/source.win32-messages.json +1 -0
  126. data/grammars/source.witcherscript.json +1 -0
  127. data/grammars/source.wsd.json +1 -1
  128. data/grammars/source.yara.json +1 -1
  129. data/grammars/text.html.liquid.json +1 -1
  130. data/grammars/text.html.markdown.astro.json +1 -1
  131. data/grammars/text.html.php.json +1 -1
  132. data/grammars/text.roff.json +1 -1
  133. data/grammars/text.rtf.json +1 -1
  134. data/grammars/text.savane.json +1 -0
  135. data/grammars/text.tex.latex.haskell.json +1 -1
  136. data/grammars/version +1 -1
  137. data/lib/linguist/VERSION +1 -1
  138. data/lib/linguist/generated.rb +32 -14
  139. data/lib/linguist/generic.yml +1 -0
  140. data/lib/linguist/heuristics.yml +63 -1
  141. data/lib/linguist/languages.json +1 -1
  142. data/lib/linguist/languages.yml +333 -3
  143. data/lib/linguist/samples.json +1 -1
  144. data/lib/linguist/vendor.yml +1 -1
  145. metadata +106 -43
  146. data/grammars/source.opencobol.json +0 -1
  147. data/grammars/text.html.astro.json +0 -1
  148. data/lib/linguist/linguist.bundle +0 -0
  149. 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":"\\}","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":"Macaulay2","scopeName":"source.m2","patterns":[{"include":"#keywords"},{"include":"#comment"},{"include":"#strings"},{"include":"#fields"},{"include":"#math"},{"include":"#autogen"}],"repository":{"autogen":{"patterns":[{"name":"entity.name.type.m2","match":"(?x)(\\b|^)(Adjacent|AffineVariety|Analyzer|ANCHOR|AngleBarList|Array|AssociativeExpression|Bag|BasicList|BettiTally|BinaryOperation|BLOCKQUOTE|BODY|BOLD|Boolean|BR|CacheFunction|CacheTable|CC|CDATA|ChainComplex|ChainComplexMap|CODE|CoherentSheaf|Command|COMMENT|CompiledFunction|CompiledFunctionBody|CompiledFunctionClosure|ComplexField|Constant|Database|DD|Descent|Describe|Dictionary|DIV|Divide|DL|DocumentTag|DT|Eliminate|EM|EngineRing|Equation|ExampleItem|Expression|File|FilePosition|FractionField|Function|FunctionApplication|FunctionBody|FunctionClosure|GaloisField|GeneralOrderedMonoid|GlobalDictionary|GradedModule|GradedModuleMap|GroebnerBasis|GroebnerBasisOptions|HashTable|HEAD|HEADER1|HEADER2|HEADER3|HEADER4|HEADER5|HEADER6|HeaderType|Holder|HR|HREF|HTML|Hybrid|Hypertext|HypertextContainer|HypertextParagraph|Ideal|IMG|ImmutableType|IndeterminateNumber|IndexedVariable|IndexedVariableTable|InexactField|InexactFieldFamily|InexactNumber|InfiniteNumber|IntermediateMarkUpType|ITALIC|Keyword|LABEL|LATER|LI|LINK|List|LITERAL|LocalDictionary|LowerBound|Manipulator|MapExpression|MarkUpType|Matrix|MatrixExpression|MENU|META|MethodFunction|MethodFunctionBinary|MethodFunctionSingle|MethodFunctionWithOptions|Minus|Module|Monoid|MonoidElement|MonomialIdeal|MultigradedBettiTally|MutableHashTable|MutableList|MutableMatrix|Net|NetFile|NonAssociativeProduct|Nothing|Number|NumberedVerticalList|OL|OneExpression|Option|OptionTable|OrderedMonoid|Package|PARA|Parenthesize|Parser|Partition|PolynomialRing|Power|PRE|Product|ProductOrder|Program|ProgramRun|ProjectiveHilbertPolynomial|ProjectiveVariety|Pseudocode|PushforwardComputation|QQ|QuotientRing|RealField|Resolution|Ring|RingElement|RingFamily|RingMap|RowExpression|RR|RRi|ScriptedFunctor|SelfInitializingType|Sequence|Set|SheafExpression|SheafOfRings|SMALL|SPAN|SparseMonomialVectorExpression|SparseVectorExpression|String|STRONG|STYLE|SUB|Subscript|SUBSECTION|Sum|SumOfTwists|SUP|Superscript|Symbol|SymbolBody|TABLE|Table|Tally|Task|TD|TestInput|TEX|TH|Thing|Time|TITLE|TO|TO2|TOH|TR|TT|Type|UL|URL|Variety|Vector|VectorExpression|VerticalList|VirtualTally|VisibleList|WrapperType|ZeroExpression|ZZ)\\b"},{"name":"entity.name.function.m2","match":"(?x)(\\b|^)(about|abs|accumulate|acos|acosh|acot|addCancelTask|addDependencyTask|addEndFunction|addHook|addStartFunction|addStartTask|adjoint|agm|alarm|all|ambient|analyticSpread|ancestor|ancestors|andP|ann|annihilator|antipode|any|append|applicationDirectory|apply|applyKeys|applyPairs|applyTable|applyValues|apropos|arXiv|ascii|asin|asinh|ass|assert|associatedGradedRing|associatedPrimes|atan|atan2|atEndOfFile|autoload|baseFilename|baseName|baseRing|basis|beginDocumentation|benchmark|BesselJ|BesselY|betti|between|binomial|borel|cacheValue|cancelTask|capture|ceiling|centerString|chainComplex|char|characters|charAnalyzer|check|chi|class|clean|clearEcho|code|codim|coefficient|coefficientRing|coefficients|cohomology|coimage|coker|cokernel|collectGarbage|columnAdd|columnate|columnMult|columnPermute|columnRankProfile|columnSwap|combine|commandInterpreter|commonest|commonRing|comodule|complement|complete|components|compose|compositions|compress|concatenate|conductor|cone|conjugate|connectionCount|constParser|content|contract|conwayPolynomial|copy|copyDirectory|copyFile|cos|cosh|cot|cotangentSheaf|coth|cover|coverMap|cpuTime|createTask|csc|csch|currentDirectory|currentLineNumber|currentTime|deadParser|debug|debugError|decompose|deepSplice|default|degree|degreeLength|degrees|degreesMonoid|degreesRing|delete|demark|denominator|depth|describe|det|determinant|diagonalMatrix|diameter|dictionary|diff|difference|dim|directSum|disassemble|discriminant|dismiss|distinguished|divideByVariable|doc|document|drop|dual|eagonNorthcott|echoOff|echoOn|eigenvalues|eigenvectors|eint|elements|eliminate|End|endPackage|entries|erase|erf|erfc|error|euler|eulers|even|EXAMPLE|examples|exec|exp|expectedReesIdeal|expm1|exponents|export|exportFrom|exportMutable|expression|extend|exteriorPower|factor|Fano|fileExecutable|fileExists|fileLength|fileMode|fileReadable|fileTime|fileWritable|fillMatrix|findFiles|findHeft|findProgram|findSynonyms|first|firstkey|fittingIdeal|flagLookup|flatten|flattenRing|flip|floor|fold|forceGB|fork|format|formation|frac|fraction|frames|fromDividedPowers|fromDual|functionBody|futureParser|Gamma|gb|gbRemove|gbSnapshot|gcd|gcdCoefficients|gcdLLL|GCstats|genera|generateAssertions|generator|generators|genericMatrix|genericSkewMatrix|genericSymmetricMatrix|gens|genus|get|getc|getChangeMatrix|getenv|getGlobalSymbol|getNetFile|getNonUnit|getPrimeWithRootOfUnity|getSymbol|getWWW|GF|globalAssign|globalAssignFunction|globalAssignment|globalReleaseFunction|gradedModule|gradedModuleMap|gramm|graphIdeal|graphRing|Grassmannian|groebnerBasis|groupID|hash|hashTable|heft|height|hermite|hilbertFunction|hilbertPolynomial|hilbertSeries|hold|Hom|homogenize|homology|homomorphism|hooks|horizontalJoin|html|httpHeaders|hypertext|icFracP|icFractions|icMap|icPIdeal|ideal|idealizer|identity|image|imaginaryPart|importFrom|independentSets|index|indices|inducedMap|inducesWellDefinedMap|info|input|insert|installAssignmentMethod|installedPackages|installHilbertFunction|installMethod|installMinprimes|installPackage|instance|instances|integralClosure|integrate|intersect|intersectInP|intersection|interval|inverse|inversePermutation|inverseSystem|irreducibleCharacteristicSeries|irreducibleDecomposition|isAffineRing|isANumber|isBorel|isCanceled|isCommutative|isConstant|isDirectory|isDirectSum|isEmpty|isField|isFinite|isFinitePrimeField|isFreeModule|isGlobalSymbol|isHomogeneous|isIdeal|isInfinite|isInjective|isInputFile|isIsomorphism|isLinearType|isListener|isLLL|isMember|isModule|isMonomialIdeal|isNormal|isOpen|isOutputFile|isPolynomialRing|isPrimary|isPrime|isPrimitive|isPseudoprime|isQuotientModule|isQuotientOf|isQuotientRing|isReady|isReal|isReduction|isRegularFile|isRing|isSkewCommutative|isSorted|isSquareFree|isStandardGradedPolynomialRing|isSubmodule|isSubquotient|isSubset|isSupportedInZeroLocus|isSurjective|isTable|isUnit|isWellDefined|isWeylAlgebra|jacobian|jacobianDual|join|ker|kernel|kernelLLL|kernelOfLocalization|keys|kill|koszul|last|lcm|leadCoefficient|leadComponent|leadMonomial|leadTerm|left|length|letterParser|lift|liftable|limitFiles|limitProcesses|lines|linkFile|listForm|listSymbols|LLL|lngamma|load|loadPackage|localDictionaries|localize|locate|log|log1p|lookup|lookupCount|LUdecomposition|makeDirectory|makeDocumentTag|makePackageIndex|makeS2|map|markedGB|match|mathML|matrix|max|maxPosition|member|memoize|merge|mergePairs|method|methodOptions|methods|midpoint|min|mingens|mingle|minimalBetti|minimalPresentation|minimalPrimes|minimalReduction|minimizeFilename|minors|minPosition|minPres|minprimes|minus|mkdir|mod|module|modulo|monoid|monomialCurveIdeal|monomialIdeal|monomials|monomialSubideal|moveFile|multidegree|multidoc|multigraded|multiplicity|mutable|mutableIdentity|mutableMatrix|nanosleep|needs|needsPackage|net|netList|newClass|newCoordinateSystem|newNetFile|newPackage|newRing|nextkey|nextPrime|NNParser|nonspaceAnalyzer|norm|normalCone|notImplemented|nullhomotopy|nullParser|nullSpace|number|numcols|numColumns|numerator|numeric|numericInterval|numgens|numRows|numrows|odd|ofClass|on|openDatabase|openDatabaseOut|openFiles|openIn|openInOut|openListener|openOut|openOutAppend|optionalSignParser|options|optP|orP|override|pack|package|packageTemplate|pad|pager|pairs|parent|part|partition|partitions|parts|pdim|peek|permanents|permutations|pfaffians|pivots|plus|poincare|poincareN|polarize|poly|position|positions|power|powermod|precision|preimage|prepend|presentation|pretty|primaryComponent|primaryDecomposition|print|printString|processID|product|profile|Proj|projectiveHilbertPolynomial|promote|protect|prune|pseudocode|pseudoRemainder|pushForward|QQParser|QRDecomposition|quotient|quotientRemainder|radical|radicalContainment|random|randomKRationalPoint|randomMutableMatrix|rank|read|readDirectory|readlink|readPackage|realPart|realpath|recursionDepth|reducedRowEchelonForm|reduceHilbert|reductionNumber|reesAlgebra|reesAlgebraIdeal|reesIdeal|regex|regexQuote|registerFinalizer|regSeqInIdeal|regularity|relations|relativizeFilename|remainder|remove|removeDirectory|removeFile|removeLowestDimension|reorganize|replace|res|reshape|resolution|resultant|reverse|right|ring|ringFromFractions|roots|rotate|round|rowAdd|rowMult|rowPermute|rowRankProfile|rowSwap|rsort|run|runHooks|runLengthEncode|runProgram|same|saturate|scan|scanKeys|scanLines|scanPairs|scanValues|schedule|schreyerOrder|Schubert|searchPath|sec|sech|seeParsing|select|selectInSubring|selectVariables|separate|separateRegexp|sequence|serialNumber|set|setEcho|setGroupID|setIOExclusive|setIOSynchronized|setIOUnSynchronized|setRandomSeed|setup|setupEmacs|sheaf|sheafHom|show|showHtml|showTex|simpleDocFrob|sin|singularLocus|sinh|size|size2|sleep|smithNormalForm|solve|someTerms|sort|sortColumns|source|span|Spec|specialFiber|specialFiberIdeal|splice|splitWWW|sqrt|stack|stacksProject|standardForm|standardPairs|stashValue|status|style|sub|sublists|submatrix|submatrixByDegrees|subquotient|subsets|substitute|substring|subtable|sum|super|support|SVD|switch|sylvesterMatrix|symbolBody|symlinkDirectory|symlinkFile|symmetricAlgebra|symmetricAlgebraIdeal|symmetricKernel|symmetricPower|synonym|SYNOPSIS|syz|syzygyScheme|table|take|tally|tan|tangentCone|tangentSheaf|tanh|target|taskResult|temporaryFileName|tensor|tensorAssociativity|terminalParser|terms|TEST|testHunekeQuestion|tests|tex|texMath|times|toAbsolutePath|toCC|toDividedPowers|toDual|toExternalString|toField|toList|toLower|top|topCoefficients|topComponents|toRR|toRRi|toSequence|toString|toUpper|trace|transpose|trim|truncate|truncateOutput|tutorial|ultimate|unbag|uncurry|undocumented|uniform|uninstallAllPackages|uninstallPackage|unique|unsequence|unstack|use|userSymbols|utf8|utf8check|validate|value|values|variety|vars|vector|versalEmbedding|wait|wedgeProduct|weightRange|whichGm|width|wikipedia|wrap|xor|youngest|zero|zeta|ZZParser)\\b"},{"name":"constant.other.m2","match":"(?x)(\\b|^)(AbstractToricVarieties|Acknowledgement|AdditionalPaths|AdjointIdeal|AfterEval|AfterNoPrint|AfterPrint|AInfinity|AlgebraicSplines|Algorithm|Alignment|AllCodimensions|allowableThreads|AnalyzeSheafOnP1|applicationDirectorySuffix|argument|Ascending|AssociativeAlgebras|Authors|AuxiliaryFiles|backtrace|Bareiss|BaseFunction|baseRings|BaseRow|BasisElementLimit|Bayer|BeforePrint|BeginningMacaulay2|Benchmark|Bertini|BGG|BIBasis|Binary|Binomial|BinomialEdgeIdeals|Binomials|BKZ|BlockMatrix|Body|BoijSoederberg|Book3264Examples|BooleanGB|Boxes|Browse|Bruns|cache|CacheExampleOutput|CallLimit|CannedExample|Caveat|Center|Certification|ChainComplexExtras|ChainComplexOperations|ChangeMatrix|CharacteristicClasses|CheckDocumentation|Chordal|Classic|clearAll|clearOutput|close|closeIn|closeOut|ClosestFit|Code|CodimensionLimit|CoefficientRing|Cofactor|CohenEngine|CohenTopLevel|CohomCalg|CoincidentRootLoci|commandLine|CompactMatrix|compactMatrixForm|Complement|CompleteIntersection|CompleteIntersectionResolutions|Complexes|ConductorElement|Configuration|ConformalBlocks|Consequences|Constants|Contributors|ConvexInterface|ConwayPolynomials|copyright|Core|CorrespondenceScrolls|Cremona|currentFileDirectory|currentFileName|currentLayout|currentPackage|Cyclotomic|Date|dd|DebuggingMode|debuggingMode|debugLevel|DecomposableSparseSystems|Decompose|Default|defaultPrecision|Degree|DegreeLift|DegreeLimit|DegreeMap|DegreeOrder|DegreeRank|Degrees|Dense|Density|Depth|Descending|Description|DeterminantalRepresentations|DGAlgebras|dictionaryPath|DiffAlg|Dispatch|DivideConquer|DividedPowers|Divisor|Dmodules|docExample|docTemplate|Down|EagonResolution|EdgeIdeals|edit|EigenSolver|EisenbudHunekeVasconcelos|Elimination|EliminationMatrices|EllipticCurves|EllipticIntegrals|Email|end|endl|Engine|engineDebugLevel|EngineTests|EnumerationCurves|environment|EquivariantGB|errorDepth|EulerConstant|Example|ExampleFiles|ExampleSystems|Exclude|exit|Ext|ExteriorIdeals|false|FastLinAlg|FastNonminimal|FGLM|fileDictionaries|fileExitHooks|FileName|FindOne|FiniteFittingIdeals|First|FirstPackage|FlatMonoid|Flexible|flush|FollowLinks|FormalGroupLaws|Format|FourierMotzkin|FourTiTwo|fpLLL|FrobeniusThresholds|GBDegrees|gbTrace|GenerateAssertions|Generic|GenericInitialIdeal|gfanInterface|Givens|GKMVarieties|GLex|Global|GlobalAssignHook|globalAssignmentHooks|GlobalHookStore|GlobalReleaseHook|Gorenstein|GradedLieAlgebras|GraphicalModels|GraphicalModelsMLE|Graphics|Graphs|GRevLex|GroebnerWalk|GroupLex|GroupRevLex|GTZ|Hadamard|handleInterrupts|HardDegreeLimit|Heading|Headline|Heft|Height|help|Hermite|Hermitian|HH|hh|HigherCIOperators|HighestWeights|Hilbert|HodgeIntegrals|homeDirectory|HomePage|Homogeneous|Homogeneous2|HorizontalSpace|HyperplaneArrangements|id|IgnoreExampleErrors|ii|incomparable|Increment|indeterminate|Index|indexComponents|infinity|InfoDirSection|infoHelp|Inhomogeneous|Inputs|InstallPrefix|IntegralClosure|interpreterDepth|Intersection|InvariantRing|InverseMethod|Inverses|InverseSystems|Invertible|InvolutiveBases|Item|Iterate|Jacobian|Join|Jupyter|K3Carpets|Keep|KeepFiles|KeepZeroes|Key|Keywords|Kronecker|KustinMiller|lastMatch|LatticePolytopes|Layout|Left|LengthLimit|Lex|LexIdeals|Licenses|LieTypes|Limit|Linear|LinearAlgebra|LinearTruncations|lineNumber|listLocalSymbols|listUserSymbols|LLLBases|loadDepth|LoadDocumentation|loadedFiles|loadedPackages|Local|LocalRings|LongPolynomial|M0nbar|Macaulay2Doc|MakeDocumentation|MakeHTML|MakeInfo|MakeLinks|MakePDF|MapleInterface|Markov|Matroids|maxAllowableThreads|maxExponent|MaximalRank|MaxReductionCount|MCMApproximations|minExponent|MinimalGenerators|MinimalMatrix|minimalPresentationMap|minimalPresentationMapInv|MinimalPrimes|Minimize|MinimumVersion|Miura|MixedMultiplicity|ModuleDeformations|MonodromySolver|Monomial|MonomialAlgebras|MonomialOrbits|MonomialOrder|Monomials|MonomialSize|MultiGradedRationalMap|MultiplicitySequence|MultiplierIdeals|MultiplierIdealsDim2|MultiprojectiveVarieties|NAGtypes|Name|Nauty|NautyGraphs|NCAlgebra|NCLex|NewFromMethod|newline|NewMethod|NewOfFromMethod|NewOfMethod|nil|Node|NoetherianOperators|NoetherNormalization|NonminimalComplexes|NoPrint|Normaliz|NormalToricVarieties|notify|NTL|null|nullaryMethods|NumericalAlgebraicGeometry|NumericalCertification|NumericalImplicitization|NumericalLinearAlgebra|NumericalSchubertCalculus|NumericSolutions|OldPolyhedra|OldToricVectorBundles|OO|oo|ooo|oooo|OpenMath|operatorAttributes|OptionalComponentsPresent|Options|Order|order|OutputDictionary|Outputs|PackageCitations|PackageDictionary|PackageExports|PackageImports|PackageTemplate|PairLimit|PairsRemaining|Parametrization|Parsing|path|PencilsOfQuadrics|Permanents|PHCpack|PhylogeneticTrees|pi|PieriMaps|PlaneCurveSingularities|Points|Polyhedra|Polymake|Posets|Position|PositivityToricBundles|POSIX|Postfix|Pre|Precision|Prefix|prefixDirectory|prefixPath|PrimaryDecomposition|PrimaryTag|PrimitiveElement|Print|printingAccuracy|printingLeadLimit|printingPrecision|printingSeparator|printingTimeLimit|printingTrailLimit|printWidth|profileSummary|programPaths|Projective|Prune|PruneComplex|pruningMap|Pullback|PushForward|QthPower|Quasidegrees|QuillenSuslin|quit|Quotient|Radical|RadicalCodim1|RaiseError|RandomCanonicalCurves|RandomComplexes|RandomCurves|RandomCurvesOverVerySmallFiniteFields|RandomGenus14Curves|RandomIdeals|RandomMonomialIdeals|RandomObjects|RandomPlaneCurves|RandomRationalPoints|RandomSpaceCurves|Range|RationalMaps|RationalPoints|RationalPoints2|ReactionNetworks|RealFP|RealQP|RealQP1|RealRR|RealXD|recursionLimit|Reduce|ReesAlgebra|References|ReflexivePolytopesDB|Regularity|RelativeCanonicalResolution|Reload|RemakeAllDocumentation|RerunExamples|ResidualIntersections|ResLengthThree|ResolutionsOfStanleyReisnerRings|restart|Result|Resultants|returnCode|Reverse|RevLex|Right|rootPath|rootURI|RunDirectory|RunExamples|RunExternalM2|Saturation|Schubert2|SchurComplexes|SchurFunctors|SchurRings|scriptCommandLine|SCSCP|SectionRing|SeeAlso|SegreClasses|SemidefiniteProgramming|Seminormalization|SeparateExec|Serialization|sheafExt|ShimoyamaYokoyama|showClassStructure|showStructure|showUserStructure|SimpleDoc|SimplicialComplexes|SimplicialDecomposability|SimplicialPosets|SimplifyFractions|SizeLimit|SkewCommutative|SlackIdeals|SLnEquivariantMatrices|SLPexpressions|Sort|SortStrategy|SourceCode|SourceRing|SpaceCurves|SparseResultants|SpechtModule|SpecialFanoFourfolds|SpectralSequences|SRdeformations|Standard|StartWithOneMinor|StatePolytope|StatGraphs|stderr|stdio|StopBeforeComputation|stopIfError|StopWithMinimalGenerators|Strategy|StronglyStableIdeals|Style|SubalgebraBases|Subnodes|SubringLimit|subscript|Sugarless|SumsOfSquares|SuperLinearAlgebra|superscript|SVDComplexes|SwitchingFields|SymbolicPowers|SymmetricPolynomials|Synopsis|Syzygies|SyzygyLimit|SyzygyMatrix|SyzygyRows|TangentCone|TateOnProducts|TensorComplexes|Test|testExample|TestIdeals|TeXmacs|Text|ThreadedGB|Threshold|Topcom|topLevelMode|Tor|TorAlgebra|Toric|ToricInvariants|ToricTopology|ToricVectorBundles|TotalPairs|Tree|TriangularSets|Tries|Trim|Triplets|Tropical|true|Truncate|Truncations|TypicalValue|typicalValues|Undo|Unique|Units|Unmixed|Up|UpdateOnly|UpperTriangular|Usage|UseCachedExampleOutput|UseHilbertFunction|UserMode|UseSyzygies|Variable|VariableBaseName|Variables|Vasconcelos|VectorFields|VectorGraphics|Verbose|Verbosity|Verify|VersalDeformations|Version|version|VerticalSpace|viewHelp|VirtualResolutions|Visualize|WebApp|Weights|WeylAlgebra|WeylGroups|Wrap|XML)\\b"}]},"comment":{"patterns":[{"name":"comment.line.double-dash.m2","match":"(--).*$","captures":{"1":{"name":"punctuation.definition.comment.m2"}}},{"contentName":"comment.block.m2","begin":"-\\*","end":"\\*-","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.m2"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.m2"}}}]},"fields":{"patterns":[{"name":"entity.name.type.m2","match":"(ZZ|QQ)(\\/\\d+)?"}]},"keywords":{"patterns":[{"name":"keyword.control.m2","match":"(?x)(\\b|^)(and|break|catch|continue|do|elapsedTime|elapsedTiming|else|for|from|global|if|in|list|local|new|not|of|or|return|shield|SPACE|step|symbol|then|threadVariable|throw|time|timing|to|try|when|while)\\b"},{"name":"keyword.operator.m2","match":"(?x)(\\b|^)(and|not|or)\\b"}]},"math":{"patterns":[{"name":"keyword.operator.arithmetic.m2","match":"(\\+|\\*)"},{"name":"constant.numeric.integer.m2","match":"(?\u003c=\\s)\\d+"}]},"strings":{"patterns":[{"name":"string.quoted.double.m2","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.m2"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.m2"}}},{"name":"string.unquoted.m2","match":"\"///\\(/?/?[^/]\\|\\(//\\)*////[^/]\\)*\\(//\\)*///\""}]}}}
1
+ {"name":"Macaulay2","scopeName":"source.m2","patterns":[{"include":"#keywords"},{"include":"#comment"},{"include":"#strings"},{"include":"#fields"},{"include":"#math"},{"include":"#autogen"}],"repository":{"autogen":{"patterns":[{"name":"entity.name.type.m2","match":"(?x)(\\b|^)(Adjacent|AffineVariety|Analyzer|ANCHOR|AngleBarList|Array|AssociativeExpression|Bag|BasicList|BettiTally|BinaryOperation|BLOCKQUOTE|BODY|BOLD|Boolean|BR|CacheFunction|CacheTable|CC|CDATA|ChainComplex|ChainComplexMap|CODE|CoherentSheaf|Command|COMMENT|CompiledFunction|CompiledFunctionBody|CompiledFunctionClosure|ComplexField|Constant|Database|DD|Descent|Describe|Dictionary|DIV|Divide|DL|DocumentTag|DT|Eliminate|EM|EngineRing|Equation|ExampleItem|Expression|File|FilePosition|FractionField|Function|FunctionApplication|FunctionBody|FunctionClosure|GaloisField|GeneralOrderedMonoid|GlobalDictionary|GradedModule|GradedModuleMap|GroebnerBasis|GroebnerBasisOptions|HashTable|HEAD|HEADER1|HEADER2|HEADER3|HEADER4|HEADER5|HEADER6|HeaderType|Holder|HR|HREF|HTML|Hybrid|Hypertext|HypertextContainer|HypertextParagraph|Ideal|IMG|ImmutableType|IndeterminateNumber|IndexedVariable|IndexedVariableTable|InexactField|InexactFieldFamily|InexactNumber|InfiniteNumber|IntermediateMarkUpType|ITALIC|Keyword|LABEL|LATER|LI|LINK|List|LITERAL|LocalDictionary|LowerBound|Manipulator|MapExpression|MarkUpType|Matrix|MatrixExpression|MENU|META|MethodFunction|MethodFunctionBinary|MethodFunctionSingle|MethodFunctionWithOptions|Minus|Module|Monoid|MonoidElement|MonomialIdeal|MultigradedBettiTally|MutableHashTable|MutableList|MutableMatrix|Net|NetFile|NonAssociativeProduct|Nothing|Number|NumberedVerticalList|OL|OneExpression|Option|OptionTable|OrderedMonoid|Package|PARA|Parenthesize|Parser|Partition|PolynomialRing|Power|PRE|Product|ProductOrder|Program|ProgramRun|ProjectiveHilbertPolynomial|ProjectiveVariety|Pseudocode|QQ|QuotientRing|RealField|Resolution|Ring|RingElement|RingFamily|RingMap|RowExpression|RR|RRi|ScriptedFunctor|SelfInitializingType|Sequence|Set|SheafExpression|SheafOfRings|SMALL|SPAN|SparseMonomialVectorExpression|SparseVectorExpression|String|STRONG|STYLE|SUB|Subscript|SUBSECTION|Sum|SumOfTwists|SUP|Superscript|Symbol|SymbolBody|TABLE|Table|Tally|Task|TD|TestInput|TEX|TH|Thing|Time|TITLE|TO|TO2|TOH|TR|TT|Type|UL|URL|Variety|Vector|VectorExpression|VerticalList|VirtualTally|VisibleList|WrapperType|ZeroExpression|ZZ)\\b"},{"name":"entity.name.function.m2","match":"(?x)(\\b|^)(about|abs|accumulate|acos|acosh|acot|addCancelTask|addDependencyTask|addEndFunction|addHook|addStartFunction|addStartTask|adjoint|agm|alarm|all|ambient|analyticSpread|ancestor|ancestors|andP|ann|annihilator|antipode|any|append|applicationDirectory|apply|applyKeys|applyPairs|applyTable|applyValues|apropos|arXiv|ascii|asin|asinh|ass|assert|associatedGradedRing|associatedPrimes|atan|atan2|atEndOfFile|autoload|baseFilename|baseName|baseRing|basis|beginDocumentation|benchmark|BesselJ|BesselY|betti|between|binomial|borel|cacheValue|cancelTask|capture|ceiling|centerString|chainComplex|char|characters|charAnalyzer|check|chi|class|clean|clearEcho|code|codim|coefficient|coefficientRing|coefficients|cohomology|coimage|coker|cokernel|collectGarbage|columnAdd|columnate|columnMult|columnPermute|columnRankProfile|columnSwap|combine|commandInterpreter|commonest|commonRing|comodule|complement|complete|components|compose|compositions|compress|concatenate|conductor|cone|conjugate|connectionCount|constParser|content|contract|conwayPolynomial|copy|copyDirectory|copyFile|cos|cosh|cot|cotangentSheaf|coth|cover|coverMap|cpuTime|createTask|csc|csch|currentDirectory|currentLineNumber|currentTime|deadParser|debug|debugError|decompose|deepSplice|default|degree|degreeLength|degrees|degreesMonoid|degreesRing|delete|demark|denominator|depth|describe|det|determinant|diagonalMatrix|diameter|dictionary|diff|difference|dim|directSum|disassemble|discriminant|dismiss|distinguished|divideByVariable|doc|document|drop|dual|eagonNorthcott|echoOff|echoOn|eigenvalues|eigenvectors|eint|elements|eliminate|End|endPackage|entries|erase|erf|erfc|error|euler|eulers|even|EXAMPLE|examples|exec|exp|expectedReesIdeal|expm1|exponents|export|exportFrom|exportMutable|expression|extend|exteriorPower|factor|Fano|fileExecutable|fileExists|fileLength|fileMode|fileReadable|fileTime|fileWritable|fillMatrix|findFiles|findHeft|findProgram|findSynonyms|first|firstkey|fittingIdeal|flagLookup|flatten|flattenRing|flip|floor|fold|forceGB|fork|format|formation|frac|fraction|frames|fromDividedPowers|fromDual|functionBody|futureParser|Gamma|gb|gbRemove|gbSnapshot|gcd|gcdCoefficients|gcdLLL|GCstats|genera|generateAssertions|generator|generators|genericMatrix|genericSkewMatrix|genericSymmetricMatrix|gens|genus|get|getc|getChangeMatrix|getenv|getGlobalSymbol|getNetFile|getNonUnit|getPrimeWithRootOfUnity|getSymbol|getWWW|GF|globalAssign|globalAssignFunction|globalAssignment|globalReleaseFunction|gradedModule|gradedModuleMap|gramm|graphIdeal|graphRing|Grassmannian|groebnerBasis|groupID|hash|hashTable|heft|height|hermite|hilbertFunction|hilbertPolynomial|hilbertSeries|hold|Hom|homogenize|homology|homomorphism|hooks|horizontalJoin|html|httpHeaders|hypertext|icFracP|icFractions|icMap|icPIdeal|ideal|idealizer|identity|image|imaginaryPart|importFrom|independentSets|index|indices|inducedMap|inducesWellDefinedMap|info|input|insert|installAssignmentMethod|installedPackages|installHilbertFunction|installMethod|installMinprimes|installPackage|instance|instances|integralClosure|integrate|intersect|intersectInP|intersection|interval|inverse|inversePermutation|inverseSystem|irreducibleCharacteristicSeries|irreducibleDecomposition|isAffineRing|isANumber|isBorel|isCanceled|isCommutative|isConstant|isDirectory|isDirectSum|isEmpty|isField|isFinite|isFinitePrimeField|isFreeModule|isGlobalSymbol|isHomogeneous|isIdeal|isInfinite|isInjective|isInputFile|isIsomorphism|isLinearType|isListener|isLLL|isMember|isModule|isMonomialIdeal|isNormal|isOpen|isOutputFile|isPolynomialRing|isPrimary|isPrime|isPrimitive|isPseudoprime|isQuotientModule|isQuotientOf|isQuotientRing|isReady|isReal|isReduction|isRegularFile|isRing|isSkewCommutative|isSorted|isSquareFree|isStandardGradedPolynomialRing|isSubmodule|isSubquotient|isSubset|isSupportedInZeroLocus|isSurjective|isTable|isUnit|isWellDefined|isWeylAlgebra|jacobian|jacobianDual|join|ker|kernel|kernelLLL|kernelOfLocalization|keys|kill|koszul|last|lcm|leadCoefficient|leadComponent|leadMonomial|leadTerm|left|length|letterParser|lift|liftable|limitFiles|limitProcesses|lines|linkFile|listForm|listSymbols|LLL|lngamma|load|loadPackage|localDictionaries|localize|locate|log|log1p|lookup|lookupCount|LUdecomposition|makeDirectory|makeDocumentTag|makePackageIndex|makeS2|map|markedGB|match|mathML|matrix|max|maxPosition|member|memoize|merge|mergePairs|method|methodOptions|methods|midpoint|min|mingens|mingle|minimalBetti|minimalPresentation|minimalPrimes|minimalReduction|minimizeFilename|minors|minPosition|minPres|minprimes|minus|mkdir|mod|module|modulo|monoid|monomialCurveIdeal|monomialIdeal|monomials|monomialSubideal|moveFile|multidegree|multidoc|multigraded|multiplicity|mutable|mutableIdentity|mutableMatrix|nanosleep|needs|needsPackage|net|netList|newClass|newCoordinateSystem|newNetFile|newPackage|newRing|nextkey|nextPrime|NNParser|nonspaceAnalyzer|norm|normalCone|notImplemented|nullhomotopy|nullParser|nullSpace|number|numcols|numColumns|numerator|numeric|numericInterval|numgens|numRows|numrows|odd|ofClass|on|openDatabase|openDatabaseOut|openFiles|openIn|openInOut|openListener|openOut|openOutAppend|optionalSignParser|options|optP|orP|override|pack|package|packageTemplate|pad|pager|pairs|parent|part|partition|partitions|parts|pdim|peek|permanents|permutations|pfaffians|pivots|plus|poincare|poincareN|polarize|poly|position|positions|power|powermod|precision|preimage|prepend|presentation|pretty|primaryComponent|primaryDecomposition|print|printerr|printString|processID|product|profile|Proj|projectiveHilbertPolynomial|promote|protect|prune|pseudocode|pseudoRemainder|pushForward|QQParser|QRDecomposition|quotient|quotientRemainder|radical|radicalContainment|random|randomKRationalPoint|randomMutableMatrix|rank|read|readDirectory|readlink|readPackage|realPart|realpath|recursionDepth|reducedRowEchelonForm|reduceHilbert|reductionNumber|reesAlgebra|reesAlgebraIdeal|reesIdeal|regex|regexQuote|registerFinalizer|regSeqInIdeal|regularity|relations|relativizeFilename|remainder|remove|removeDirectory|removeFile|removeLowestDimension|reorganize|replace|res|reshape|resolution|resultant|reverse|right|ring|ringFromFractions|roots|rotate|round|rowAdd|rowMult|rowPermute|rowRankProfile|rowSwap|rsort|run|runHooks|runLengthEncode|runProgram|same|saturate|scan|scanKeys|scanLines|scanPairs|scanValues|schedule|schreyerOrder|Schubert|searchPath|sec|sech|seeParsing|select|selectInSubring|selectVariables|separate|separateRegexp|sequence|serialNumber|set|setEcho|setGroupID|setIOExclusive|setIOSynchronized|setIOUnSynchronized|setRandomSeed|setup|setupEmacs|sheaf|sheafHom|show|showHtml|showTex|simpleDocFrob|sin|singularLocus|sinh|size|size2|sleep|smithNormalForm|solve|someTerms|sort|sortColumns|source|span|Spec|specialFiber|specialFiberIdeal|splice|splitWWW|sqrt|stack|stacksProject|standardForm|standardPairs|stashValue|status|style|sub|sublists|submatrix|submatrixByDegrees|subquotient|subsets|substitute|substring|subtable|sum|super|support|SVD|switch|sylvesterMatrix|symbolBody|symlinkDirectory|symlinkFile|symmetricAlgebra|symmetricAlgebraIdeal|symmetricKernel|symmetricPower|synonym|SYNOPSIS|syz|syzygyScheme|table|take|tally|tan|tangentCone|tangentSheaf|tanh|target|taskResult|temporaryFileName|tensor|tensorAssociativity|terminalParser|terms|TEST|testHunekeQuestion|tests|tex|texMath|times|toAbsolutePath|toCC|toDividedPowers|toDual|toExternalString|toField|toList|toLower|top|topCoefficients|topComponents|toRR|toRRi|toSequence|toString|toUpper|trace|transpose|trim|truncate|truncateOutput|tutorial|ultimate|unbag|uncurry|undocumented|uniform|uninstallAllPackages|uninstallPackage|unique|unsequence|unstack|use|userSymbols|utf8|utf8check|validate|value|values|variety|vars|vector|versalEmbedding|wait|wedgeProduct|weightRange|whichGm|width|wikipedia|wrap|youngest|zero|zeta|ZZParser)\\b"},{"name":"constant.other.m2","match":"(?x)(\\b|^)(AbstractToricVarieties|Acknowledgement|AdditionalPaths|AdjointIdeal|AfterEval|AfterNoPrint|AfterPrint|AInfinity|AlgebraicSplines|Algorithm|Alignment|AllCodimensions|allowableThreads|AnalyzeSheafOnP1|applicationDirectorySuffix|argument|Ascending|AssociativeAlgebras|Authors|AuxiliaryFiles|backtrace|Bareiss|BaseFunction|baseRings|BaseRow|BasisElementLimit|Bayer|BeforePrint|BeginningMacaulay2|Benchmark|Bertini|BettiCharacters|BGG|BIBasis|Binary|Binomial|BinomialEdgeIdeals|Binomials|BKZ|BlockMatrix|Body|BoijSoederberg|Book3264Examples|BooleanGB|Boxes|Browse|Bruns|cache|CacheExampleOutput|CallLimit|CannedExample|Caveat|Center|Certification|ChainComplexExtras|ChainComplexOperations|ChangeMatrix|CharacteristicClasses|CheckDocumentation|Chordal|Classic|clearAll|clearOutput|close|closeIn|closeOut|ClosestFit|Code|CodimensionLimit|CoefficientRing|Cofactor|CohenEngine|CohenTopLevel|CohomCalg|CoincidentRootLoci|commandLine|CompactMatrix|compactMatrixForm|Complement|CompleteIntersection|CompleteIntersectionResolutions|Complexes|ConductorElement|Configuration|ConformalBlocks|Consequences|Constants|Contributors|ConvexInterface|ConwayPolynomials|copyright|Core|CorrespondenceScrolls|Cremona|currentFileDirectory|currentFileName|currentLayout|currentPackage|Cyclotomic|Date|dd|DebuggingMode|debuggingMode|debugLevel|DecomposableSparseSystems|Decompose|Default|defaultPrecision|Degree|DegreeLift|DegreeLimit|DegreeMap|DegreeOrder|DegreeRank|Degrees|Dense|Density|Depth|Descending|Description|DeterminantalRepresentations|DGAlgebras|dictionaryPath|DiffAlg|Dispatch|DivideConquer|DividedPowers|Divisor|Dmodules|docExample|docTemplate|Down|EagonResolution|EdgeIdeals|edit|EigenSolver|EisenbudHunekeVasconcelos|Elimination|EliminationMatrices|EllipticCurves|EllipticIntegrals|Email|end|endl|Engine|engineDebugLevel|EngineTests|EnumerationCurves|environment|EquivariantGB|errorDepth|EulerConstant|Example|ExampleFiles|ExampleSystems|Exclude|exit|Ext|ExteriorIdeals|ExteriorModules|false|FastMinors|FastNonminimal|FGLM|fileDictionaries|fileExitHooks|FileName|FindOne|FiniteFittingIdeals|First|FirstPackage|FlatMonoid|Flexible|flush|FollowLinks|FormalGroupLaws|Format|FourierMotzkin|FourTiTwo|fpLLL|FrobeniusThresholds|FunctionFieldDesingularization|GBDegrees|gbTrace|GenerateAssertions|Generic|GenericInitialIdeal|gfanInterface|Givens|GKMVarieties|GLex|Global|GlobalAssignHook|globalAssignmentHooks|GlobalHookStore|GlobalReleaseHook|Gorenstein|GradedLieAlgebras|GraphicalModels|GraphicalModelsMLE|Graphics|Graphs|GRevLex|GroebnerStrata|GroebnerWalk|GroupLex|GroupRevLex|GTZ|Hadamard|handleInterrupts|HardDegreeLimit|Heading|Headline|Heft|Height|help|Hermite|Hermitian|HH|hh|HigherCIOperators|HighestWeights|Hilbert|HodgeIntegrals|homeDirectory|HomePage|Homogeneous|Homogeneous2|HomotopyLieAlgebra|HorizontalSpace|HyperplaneArrangements|id|IgnoreExampleErrors|ii|incomparable|Increment|indeterminate|Index|indexComponents|infinity|InfoDirSection|infoHelp|Inhomogeneous|Inputs|InstallPrefix|IntegralClosure|interpreterDepth|Intersection|InvariantRing|InverseMethod|Inverses|InverseSystems|Invertible|InvolutiveBases|Item|Iterate|Jacobian|Jets|Join|Jupyter|K3Carpets|K3Surfaces|Keep|KeepFiles|KeepZeroes|Key|Keywords|Kronecker|KustinMiller|lastMatch|LatticePolytopes|Layout|Left|LengthLimit|Lex|LexIdeals|Licenses|LieTypes|Limit|Linear|LinearAlgebra|LinearTruncations|lineNumber|listLocalSymbols|listUserSymbols|LLLBases|loadDepth|LoadDocumentation|loadedFiles|loadedPackages|Local|LocalRings|LongPolynomial|M0nbar|Macaulay2Doc|MakeDocumentation|MakeHTML|MakeInfo|MakeLinks|MakePDF|MapleInterface|Markov|Matroids|maxAllowableThreads|maxExponent|MaximalRank|MaxReductionCount|MCMApproximations|minExponent|MinimalGenerators|MinimalMatrix|minimalPresentationMap|minimalPresentationMapInv|MinimalPrimes|Minimize|MinimumVersion|Miura|MixedMultiplicity|ModuleDeformations|MonodromySolver|Monomial|MonomialAlgebras|MonomialIntegerPrograms|MonomialOrbits|MonomialOrder|Monomials|MonomialSize|MultiGradedRationalMap|MultiplicitySequence|MultiplierIdeals|MultiplierIdealsDim2|MultiprojectiveVarieties|NAGtypes|Name|Nauty|NautyGraphs|NCAlgebra|NCLex|NewFromMethod|newline|NewMethod|NewOfFromMethod|NewOfMethod|nil|Node|NoetherianOperators|NoetherNormalization|NonminimalComplexes|NoPrint|Normaliz|NormalToricVarieties|notify|NTL|null|nullaryMethods|NumericalAlgebraicGeometry|NumericalCertification|NumericalImplicitization|NumericalLinearAlgebra|NumericalSchubertCalculus|NumericSolutions|OldPolyhedra|OldToricVectorBundles|OO|oo|ooo|oooo|OpenMath|operatorAttributes|OptionalComponentsPresent|Options|Order|order|OutputDictionary|Outputs|PackageCitations|PackageDictionary|PackageExports|PackageImports|PackageTemplate|PairLimit|PairsRemaining|Parametrization|Parsing|path|PencilsOfQuadrics|Permanents|PHCpack|PhylogeneticTrees|pi|PieriMaps|PlaneCurveSingularities|Points|Polyhedra|Polymake|Posets|Position|PositivityToricBundles|POSIX|Postfix|Pre|Precision|Prefix|prefixDirectory|prefixPath|PrimaryDecomposition|PrimaryTag|PrimitiveElement|Print|printingAccuracy|printingLeadLimit|printingPrecision|printingSeparator|printingTimeLimit|printingTrailLimit|printWidth|profileSummary|programPaths|Projective|Prune|PruneComplex|pruningMap|Pullback|PushForward|Python|QthPower|Quasidegrees|QuaternaryQuartics|QuillenSuslin|quit|Quotient|Radical|RadicalCodim1|RaiseError|RandomCanonicalCurves|RandomComplexes|RandomCurves|RandomCurvesOverVerySmallFiniteFields|RandomGenus14Curves|RandomIdeals|RandomMonomialIdeals|RandomObjects|RandomPlaneCurves|RandomPoints|RandomSpaceCurves|Range|RationalMaps|RationalPoints|RationalPoints2|ReactionNetworks|RealFP|RealQP|RealQP1|RealRoots|RealRR|RealXD|recursionLimit|Reduce|ReesAlgebra|References|ReflexivePolytopesDB|Regularity|RelativeCanonicalResolution|Reload|RemakeAllDocumentation|RerunExamples|ResidualIntersections|ResLengthThree|ResolutionsOfStanleyReisnerRings|restart|Result|Resultants|returnCode|Reverse|RevLex|Right|rootPath|rootURI|RunDirectory|RunExamples|RunExternalM2|Saturation|Schubert2|SchurComplexes|SchurFunctors|SchurRings|scriptCommandLine|SCSCP|SectionRing|SeeAlso|SegreClasses|SemidefiniteProgramming|Seminormalization|SeparateExec|Serialization|sheafExt|ShimoyamaYokoyama|showClassStructure|showStructure|showUserStructure|SimpleDoc|SimplicialComplexes|SimplicialDecomposability|SimplicialPosets|SimplifyFractions|SizeLimit|SkewCommutative|SlackIdeals|SLnEquivariantMatrices|SLPexpressions|Sort|SortStrategy|SourceCode|SourceRing|SpaceCurves|SparseResultants|SpechtModule|SpecialFanoFourfolds|SpectralSequences|SRdeformations|Standard|StartWithOneMinor|StatePolytope|StatGraphs|stderr|stdio|StopBeforeComputation|stopIfError|StopWithMinimalGenerators|Strategy|StronglyStableIdeals|Style|SubalgebraBases|Subnodes|SubringLimit|subscript|Sugarless|SumsOfSquares|SuperLinearAlgebra|superscript|SVDComplexes|SwitchingFields|SymbolicPowers|SymmetricPolynomials|Synopsis|Syzygies|SyzygyLimit|SyzygyMatrix|SyzygyRows|TangentCone|TateOnProducts|TensorComplexes|Test|testExample|TestIdeals|TeXmacs|Text|ThinSincereQuivers|ThreadedGB|Threshold|Topcom|topLevelMode|Tor|TorAlgebra|Toric|ToricInvariants|ToricTopology|ToricVectorBundles|TotalPairs|Tree|TriangularSets|Tries|Trim|Triplets|Tropical|true|Truncate|Truncations|TSpreadIdeals|TypicalValue|typicalValues|Undo|Unique|Units|Unmixed|Up|UpdateOnly|UpperTriangular|Usage|UseCachedExampleOutput|UseHilbertFunction|UserMode|UseSyzygies|Variable|VariableBaseName|Variables|Vasconcelos|VectorFields|VectorGraphics|Verbose|Verbosity|Verify|VersalDeformations|Version|version|VerticalSpace|viewHelp|VirtualResolutions|Visualize|WebApp|Weights|WeylAlgebra|WeylGroups|Wrap|XML)\\b"}]},"comment":{"patterns":[{"name":"comment.line.double-dash.m2","match":"(--).*$","captures":{"1":{"name":"punctuation.definition.comment.m2"}}},{"contentName":"comment.block.m2","begin":"-\\*","end":"\\*-","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.m2"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.m2"}}}]},"fields":{"patterns":[{"name":"entity.name.type.m2","match":"(ZZ|QQ)(\\/\\d+)?"}]},"keywords":{"patterns":[{"name":"keyword.control.m2","match":"(?x)(\\b|^)(and|break|catch|continue|do|elapsedTime|elapsedTiming|else|for|from|global|if|in|list|local|new|not|of|or|return|shield|SPACE|step|symbol|then|threadVariable|throw|time|timing|to|try|when|while|xor)\\b"},{"name":"keyword.operator.m2","match":"(?x)(\\b|^)(and|not|or)\\b"}]},"math":{"patterns":[{"name":"keyword.operator.arithmetic.m2","match":"(\\+|\\*)"},{"name":"constant.numeric.integer.m2","match":"(?\u003c=\\s)\\d+"}]},"strings":{"patterns":[{"name":"string.quoted.double.m2","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.m2"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.m2"}}},{"name":"string.unquoted.m2","match":"\"///\\(/?/?[^/]\\|\\(//\\)*////[^/]\\)*\\(//\\)*///\""}]}}}
@@ -1 +1 @@
1
- {"name":"MATLAB","scopeName":"source.matlab","patterns":[{"include":"#rules_before_command_dual"},{"include":"#command_dual"},{"include":"#rules_after_command_dual"}],"repository":{"anonymous_function":{"name":"meta.function.anonymous.matlab","begin":"(@)[^\\S\\n]*(?=\\()","end":"(?=;|(?\u003c=[^.])\\n|%)","patterns":[{"name":"meta.parameters.matlab","begin":"\\G(\\()","end":"\\)","patterns":[{"name":"variable.parameter.input.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.separator.parameter.comma.matlab","match":","}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.matlab"}}},{"name":"meta.parameters.matlab","begin":"(?\u003c=\\))[^\\S\\n]*(\\()?","end":"(\\))?[^\\S\\n]*(?=;|(?\u003c=[^.])\\n|%)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.section.group.begin.matlab"}},"endCaptures":{"1":{"name":"punctuation.section.group.end.matlab"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.function.anonymous.matlab"}}},"blocks":{"patterns":[{"name":"meta.for.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(for)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.for.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.for.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.for.matlab"}}},{"name":"meta.if.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(if)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.if.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]},{"name":"meta.elseif.matlab","match":"(?:\\s*)(?\u003c=^|[\\s,;])(elseif)\\b","patterns":[{"name":"meta.elseif.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]}],"captures":{"1":{"name":"keyword.control.elseif.matlab"}}},{"name":"meta.else.matlab","match":"(?:\\s*)(?\u003c=^|[\\s,;])(else)\\b","end":"^","captures":{"1":{"name":"keyword.control.else.matlab"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.if.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.if.matlab"},"2":{"patterns":[{"include":"$self"}]}}},{"name":"meta.for.parallel.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(parfor)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.for.parallel.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.for.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.for.matlab"}}},{"name":"meta.repeat.parallel.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(spmd)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.repeat.parallel.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.repeat.parallel.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.repeat.parallel.matlab"}}},{"name":"meta.switch.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(switch)\\s+([a-zA-Z0-9][a-zA-Z0-9_]*)","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.case.matlab","match":"(\\s*)(?\u003c=^|[\\s,;])(case)\\b(.*?)(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","captures":{"2":{"name":"keyword.control.switch.case.matlab"},"3":{"name":"meta.case.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]}}},{"name":"meta.otherwise.matlab","match":"(\\s*)(?\u003c=^|[\\s,;])(otherwise)\\b","captures":{"2":{"name":"keyword.control.switch.otherwise.matlab"},"3":{"patterns":[{"include":"$self"}]}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.switch.matlab"},"2":{"name":"variable.other.constant.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.switch.matlab"}}},{"name":"meta.try.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(try)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.catch.matlab","match":"(\\s*)(?\u003c=^|[\\s,;])(catch)\\b\\s*(\\w+)?","captures":{"2":{"name":"keyword.control.catch.matlab"},"3":{"name":"variable.other.constant.matlab"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.try.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.try.matlab"}}},{"name":"meta.while.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(while)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.while.declaration.matlab","begin":"\\G","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","endCaptures":{"1":{"include":"$self"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.while.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.while.matlab"}}}]},"braced_validator_list":{"contentName":"meta.block.validation.matlab","begin":"\\s*({)\\s*","end":"}","patterns":[{"include":"#braced_validator_list"},{"include":"#validator_strings"},{"include":"#line_continuation"},{"name":"punctuation.accessor.dot.matlab","match":"\\."}],"beginCaptures":{"1":{"name":"punctuation.section.block.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.matlab"}}},"classdef":{"patterns":[{"name":"meta.class.matlab","begin":"(?x)\n\t\t\t\t\t\t\t^\\s* \t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t(classdef)\n\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.class.declaration.matlab","begin":"\\G","end":"(?\u003c!\\.\\.\\.)(?=\\n)","patterns":[{"begin":"\\G(\\([^)]*\\))?\\s*","end":"(?\u003c!\\.\\.\\.)(?=\\s*%|\\n)","patterns":[{"begin":"\\G\\s*([a-zA-Z][a-zA-Z0-9_]*)","end":"(?\u003c!\\.\\.\\.)(?=\\n)","patterns":[{"name":"punctuation.separator.lt.inheritance.matlab","match":"\u003c"},{"name":"meta.inherited-class.matlab","begin":"(?\u003c!\\.)\\b(?=[a-zA-Z])","end":"(?\u003c=[a-zA-Z0-9_])(?!\\.)","patterns":[{"name":"entity.other.inherited-class.matlab","match":"(?\u003c=[\\s.\u003c])[a-zA-Z][a-zA-Z0-9_]*(?=\\s|$)"},{"name":"entity.name.namespace.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.accessor.dot.matlab","match":"\\."}]},{"name":"keyword.operator.type.matlab","match":"\u0026"},{"include":"#comments"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"entity.name.type.class.matlab"}}},{"include":"#comments"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"patterns":[{"name":"punctuation.section.parens.begin.matlab","match":"(?\u003c=\\s)\\("},{"name":"punctuation.section.parens.end.matlab","match":"\\)\\z"},{"name":"punctuation.separator.modifier.comma.matlab","match":","},{"name":"storage.modifier.class.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"(=)\\s*","end":"(?=\\)|,)","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"include":"#string"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.matlab"}}},{"include":"#comments"},{"include":"#line_continuation"}]}}}]},{"name":"meta.properties.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(properties)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"include":"#validators"},{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.properties.matlab"},"3":{"patterns":[{"name":"storage.modifier.properties.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"(=)\\s*","end":",|(?=\\))","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"storage.modifier.access.matlab","match":"public|protected|private"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.matlab"}}}]}},"endCaptures":{"1":{"name":"keyword.control.end.properties.matlab"}}},{"name":"meta.methods.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(methods)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.methods.matlab"},"3":{"patterns":[{"name":"storage.modifier.methods.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"=\\s*","end":",|(?=\\))","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"storage.modifier.access.matlab","match":"public|protected|private"}]}]}},"endCaptures":{"1":{"name":"keyword.control.end.methods.matlab"}}},{"name":"meta.events.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(events)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.assignment.definition.event.matlab","match":"(?:^\\s*|,\\s*)([a-zA-Z0-9_]+)","captures":{"1":{"name":"entity.name.type.event.matlab"}}},{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.events.matlab"},"3":{"patterns":[{"name":"variable.parameter.events.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"=\\s*","end":",|(?=\\))","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"storage.modifier.access.matlab","match":"public|protected|private"}]}]}},"endCaptures":{"1":{"name":"keyword.control.end.events.matlab"}}},{"name":"meta.enum.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(enumeration)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.assignment.definition.enummember.matlab","match":"(?:^\\s*|,\\s*)([a-zA-Z0-9_]+)","captures":{"1":{"name":"variable.other.enummember.matlab"}}},{"name":"punctuation.separator.comma.matlab","match":","},{"include":"#parentheses"},{"include":"#comments"}],"beginCaptures":{"2":{"name":"keyword.control.enum.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.enum.matlab"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"storage.type.class.matlab"}},"endCaptures":{"1":{"name":"storage.type.class.end.matlab"}}}]},"command_dual":{"name":"meta.function-call.command.matlab","match":"(?\u003c=^|[^.]\\n|;|,|=)([^\\S\\n]*)(?# A\u003e )(\\b\\w+\\b)([^\\S\\n]+)(?# B\u003e )((?!(\\+|-|\\*|\\.\\*|\\/|\\.\\/|\\\\|\\.\\\\|\\^|\\.\\^|==|~=|\u0026|\u0026\u0026|\\||\\|\\||=|:|\u003e|\u003e=|\u003c|\u003c=|\\.\\.\\.)[^\\S\\n])[^\\s({=;%][^\\n;%]*)","captures":{"2":{"name":"entity.name.function.command.matlab","patterns":[{"include":"$self"}]},"4":{"name":"string.unquoted.matlab","patterns":[{"include":"#string_quoted_single"}]}}},"comment_block":{"name":"comment.block.percentage.matlab","begin":"(^[\\s]*)(%\\{)[^\\S\\n]*+\\n","end":"(^[\\s]*)(%\\})[^\\S\\n]*+(?:\\n|$)","patterns":[{"include":"#comment_block"},{"match":"^[^\\n]*\\n"}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"},"2":{"name":"punctuation.definition.comment.begin.matlab"}},"endCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"},"2":{"name":"punctuation.definition.comment.end.matlab"}}},"comments":{"patterns":[{"begin":"(^[ \\t]+)?(?=%%\\s)","end":"\\Z","patterns":[{"name":"comment.line.double-percentage.matlab","begin":"%%","end":"\\n","patterns":[{"contentName":"entity.name.section.matlab","begin":"\\G[^\\S\\n]*(?![\\n\\s])","end":"(?=\\n)","beginCaptures":{"0":{"name":"punctuation.whitespace.comment.leading.matlab"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.matlab"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"}}},{"include":"#comment_block"},{"begin":"(^[ \\t]+)?(?=%)","end":"\\Z","patterns":[{"name":"comment.line.percentage.matlab","begin":"%","end":"\\Z","beginCaptures":{"0":{"name":"punctuation.definition.comment.matlab"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"}}}]},"conjugate_transpose":{"name":"keyword.operator.transpose.matlab","match":"((?\u003c=[^\\s])|(?\u003c=\\])|(?\u003c=\\))|(?\u003c=\\}))'"},"constants":{"patterns":[{"name":"constant.numeric.matlab","match":"(?\u003c!\\.)\\b(eps|Inf|inf|intmax|intmin|namelengthmax|realmax|realmin|pi)\\b"},{"name":"constant.language.nan.matlab","match":"(?\u003c!\\.)\\b(NaN|nan|NaT|nat)\\b"},{"name":"constant.language.boolean.matlab","match":"(?\u003c!\\.)\\b(on|off|false|true)\\b"}]},"control_statements":{"name":"meta.control.matlab","match":"\\s*(?\u003c=^|[\\s,;])(break|continue|return)\\b","captures":{"1":{"name":"keyword.control.flow.matlab"}}},"curly_brackets":{"contentName":"meta.cell.literal.matlab","begin":"\\{","end":"\\}","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.matlab"}}},"end_in_parentheses":{"name":"keyword.operator.word.matlab","match":"\\bend\\b"},"function":{"patterns":[{"name":"meta.function.matlab","begin":"(?x)\n\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t(function)\n\t\t\t\t\t\t\t\\s+\n\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b(\\s*\\n)?","patterns":[{"name":"meta.function.declaration.matlab","begin":"\\G","end":"(?\u003c=\\))","patterns":[{"contentName":"meta.assignment.variable.output.matlab","begin":"\\G(?=.*?=)","end":"\\s*(=)\\s*","patterns":[{"name":"punctuation.section.assignment.group.begin.matlab","match":"\\G\\["},{"match":"(\\])\\s*\\z","captures":{"1":{"name":"punctuation.section.assignment.group.end.matlab"}}},{"name":"variable.parameter.output.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.separator.parameter.comma.matlab","match":","},{"include":"#comments"},{"include":"#line_continuation"}],"endCaptures":{"1":{"name":"keyword.operator.assignment.matlab"}}},{"name":"entity.name.function.matlab","match":"[a-zA-Z][a-zA-Z0-9_.]*(?=\\s*\\()","patterns":[{"name":"punctuation.accessor.dot.matlab","match":"\\."},{"include":"#line_continuation"}]},{"name":"meta.parameters.matlab","begin":"(?\u003c=[a-zA-Z0-9_])\\s*\\(","end":"\\)","patterns":[{"name":"variable.parameter.input.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"variable.language.anonymous.matlab","match":"~"},{"name":"punctuation.separator.parameter.comma.matlab","match":","},{"include":"#comments"},{"include":"#line_continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.matlab"}}},{"include":"#comments"}]},{"name":"meta.arguments.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(arguments)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"keyword.operator.other.matlab","match":"(?\u003c=\\w)\\.\\?(?=\\w)"},{"include":"#validators"},{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.arguments.matlab"},"3":{"name":"meta.arguments.declaration.matlab","patterns":[{"name":"punctuation.section.parens.begin.matlab","match":"\\("},{"name":"storage.modifier.arguments.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.section.parens.end.matlab","match":"\\)"}]}},"endCaptures":{"1":{"name":"keyword.control.end.arguments.matlab"}}},{"include":"$self"}],"beginCaptures":{"2":{"name":"storage.type.function.matlab"}},"endCaptures":{"1":{"name":"storage.type.function.end.matlab"}}}]},"function_call":{"name":"meta.function-call.parens.matlab","begin":"([a-zA-Z][a-zA-Z0-9_]*)\\s*(\\()","end":"(\\)|(?\u003c!\\.\\.\\.)\\n)","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"name":"entity.name.function.matlab","patterns":[{"include":"$self"}]},"2":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"global_persistent":{"match":"^\\s*(global|persistent)\\b","captures":{"1":{"name":"storage.modifier.matlab"}}},"import":{"name":"meta.import.matlab","match":"\\b(import)\\b[^\\S\\n]+([a-zA-Z0-9.]*)(?=;|%|$)","captures":{"1":{"name":"keyword.other.import.matlab"},"2":{"name":"entity.name.namespace.matlab","patterns":[{"name":"entity.name.module.matlab","match":"\\w+"},{"name":"punctuation.separator.matlab","match":"\\."},{"name":"variable.language.wildcard.matlab","match":"\\*"}]}}},"indexing_by_expression":{"contentName":"meta.parens.matlab","begin":"([a-zA-Z][a-zA-Z0-9_]*)\\s*(\\.)(\\()","end":"(\\)|(?\u003c!\\.\\.\\.)\\n)","patterns":[{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"name":"variable.other.readwrite.matlab"},"2":{"name":"punctuation.accessor.dot.matlab"},"3":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"indexing_curly_brackets":{"begin":"([a-zA-Z][a-zA-Z0-9_\\.]*\\s*)\\{","end":"(\\}|(?\u003c!\\.\\.\\.)\\n)","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"patterns":[{"name":"variable.other.readwrite.matlab","match":"([a-zA-Z][a-zA-Z0-9_]*)(?=\\s*\\{)"},{"include":"$self"}]}}},"line_continuation":{"name":"meta.continuation.line.matlab","match":"(\\.\\.\\.)(.*)$","captures":{"1":{"name":"punctuation.separator.continuation.line.matlab"},"2":{"name":"comment.continuation.line.matlab"}}},"multiple_assignment":{"contentName":"meta.assignment.variable.group.matlab","begin":"\\[(?=[^\\]]+\\]\\s*=[a-zA-Z0-9_\\s(])","end":"\\]","patterns":[{"name":"variable.language.anonymous.matlab","match":"(?\u003c=[\\[,])\\s{0,4}~\\s{0,4}(?=[\\],])"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.assignment.group.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.assignment.group.end.matlab"}}},"numbers":{"patterns":[{"name":"constant.numeric.decimal.matlab","match":"(?\u003c=[\\s\\+\\-\\*\\/\\\\=:\\[\\(\\{,^]|^)\\d*\\.?\\d+([eE][+-]?\\d)?([0-9\u0026\u0026[^\\.]])*(i|j)?\\b","captures":{"3":{"name":"storage.type.number.imaginary.matlab"}}},{"name":"constant.numeric.hex.matlab","match":"(?\u003c=[\\s\\+\\-\\*\\/\\\\=:\\[\\(\\{,^]|^)0[xX][[:xdigit:]]+([su](?:8|16|32|64))?\\b","captures":{"1":{"name":"storage.type.number.hex.matlab"}}},{"name":"constant.numeric.binary.matlab","match":"(?\u003c=[\\s\\+\\-\\*\\/\\\\=:\\[\\(\\{,^]|^)0[bB][10]+([su](?:8|16|32|64))?\\b","captures":{"1":{"name":"storage.type.number.binary.matlab"}}}]},"operators":{"patterns":[{"name":"keyword.operator.storage.at.matlab","match":"(?\u003c!\\w)@(?=\\s{,4}\\w)"},{"name":"keyword.operator.other.question.matlab","match":"(?\u003c!\\w)\\?(?=\\w)"},{"name":"keyword.operator.arithmetic.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(\\+|-|\\*|\\.\\*|/|\\./|\\\\|\\.\\\\|\\^|\\.\\^)(?=[a-zA-Z0-9\\s])"},{"name":"keyword.operator.logical.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(==|~=|\u0026|\u0026\u0026|\\||\\|\\|)(?=[a-zA-Z0-9\\s])"},{"name":"keyword.operator.assignment.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(=)(?!=)"},{"name":"keyword.operator.vector.colon.matlab","match":"(?\u003c=[a-zA-Z0-9_\\s(){,]|^):(?=[a-zA-Z0-9_\\s()},]|$)"},{"name":"keyword.operator.relational.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(\u003e|\u003e=|\u003c|\u003c=)(?=\\s)"}]},"parentheses":{"contentName":"meta.parens.matlab","begin":"\\(","end":"(\\)|(?\u003c!\\.\\.\\.)\\n)","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"property":{"name":"variable.other.property.matlab","match":"(?\u003c=\\.)[a-zA-Z][a-zA-Z0-9_]*(?![a-zA-Z0-9_]|(?:\\(|\\{|\\.\\())"},"property_access":{"name":"punctuation.accessor.dot.matlab","match":"\\."},"punctuation":{"patterns":[{"name":"punctuation.accessor.dot.matlab","match":"(?\u003c=\\w)\\.(?!\\()"},{"name":"punctuation.separator.comma.matlab","match":","},{"name":"punctuation.terminator.semicolon.matlab","match":";(?=\\s|$)"}]},"readwrite_operations":{"match":"(?\u003c![a-zA-Z0-9_]|\\.)[a-zA-Z][a-zA-Z0-9_]*(?:\\.[a-zA-Z][a-zA-Z0-9_]*)*(?![a-zA-Z0-9_]|(?:\\(|\\{|\\.\\())","captures":{"0":{"patterns":[{"include":"#property"},{"include":"#readwrite_variable"},{"include":"#property_access"}]}}},"readwrite_variable":{"name":"variable.other.readwrite.matlab","match":"(?\u003c![a-zA-Z0-9_]|\\.)[a-zA-Z][a-zA-Z0-9_]*(?![a-zA-Z0-9_]|(?:\\(|\\{|\\.\\())"},"rules_after_command_dual":{"patterns":[{"include":"#string"},{"include":"#line_continuation"},{"include":"#comments"},{"include":"#conjugate_transpose"},{"include":"#transpose"},{"include":"#constants"},{"include":"#variables"},{"include":"#numbers"},{"include":"#operators"},{"include":"#punctuation"}]},"rules_before_command_dual":{"patterns":[{"include":"#classdef"},{"include":"#function"},{"include":"#blocks"},{"include":"#control_statements"},{"include":"#global_persistent"},{"include":"#import"},{"include":"#anonymous_function"},{"include":"#function_call"},{"include":"#parentheses"},{"include":"#indexing_curly_brackets"},{"include":"#indexing_by_expression"},{"include":"#multiple_assignment"},{"include":"#single_assignment"},{"include":"#square_brackets"},{"include":"#curly_brackets"}]},"shell_string":{"match":"^\\s*((!)(.*)$\\n?)","captures":{"1":{"name":"meta.interpolation.shell.matlab"},"2":{"name":"punctuation.section.interpolation.begin.matlab"},"3":{"name":"source.shell.embedded.matlab","patterns":[{"include":"source.shell"}]}}},"single_assignment":{"match":"(?\u003c=^|,|;|for)\\s*([a-zA-Z][a-zA-Z0-9_.(){}]*)(?=\\s*=)","captures":{"1":{"name":"meta.assignment.variable.single.matlab","patterns":[{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}]}}},"square_brackets":{"contentName":"meta.brackets.matlab","begin":"\\[(?![^\\]]+\\]\\s{,4}=)","end":"\\]","patterns":[{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.matlab"}}},"string":{"patterns":[{"include":"#shell_string"},{"include":"#string_quoted_single"},{"include":"#string_quoted_double"}]},"string_quoted_double":{"name":"string.quoted.double.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^))|^)\"","end":"\"(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^|\\||\\s|;|:|,)|$)","patterns":[{"name":"constant.character.escape.matlab","match":"\"\""},{"name":"invalid.illegal.unescaped-quote.matlab","match":"\"(?=.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}},"string_quoted_single":{"name":"string.quoted.single.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|/|\\\\|\\.|\\^))|^)'","end":"'(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|/|\\\\|\\.|\\^|\\s|;|:|,)|$)","patterns":[{"name":"constant.character.escape.matlab","match":"''"},{"name":"invalid.illegal.unescaped-quote.matlab","match":"'(?=.)"},{"name":"constant.character.escape.matlab","match":"((\\%([\\+\\-0]?\\d{0,3}(\\.\\d{1,3})?)(c|d|e|E|f|g|i|G|s|((b|t)?(o|u|x|X))))|\\%\\%|\\\\(b|f|n|r|t|\\\\))"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}},"transpose":{"name":"keyword.operator.transpose.matlab","match":"\\.'"},"validator_strings":{"patterns":[{"patterns":[{"name":"string.quoted.single.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^))|^)'","end":"'(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^|\\s|;|:|,)|$)","patterns":[{"match":"''"},{"match":"'(?=.)"},{"match":"([^']+)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}},{"name":"string.quoted.double.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^))|^)\"","end":"\"(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^|\\||\\s|;|:|,)|$|\\z)","patterns":[{"match":"\"\""},{"match":"\"(?=.)"},{"match":"[^\"]+"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}}]}]},"validators":{"name":"meta.assignment.definition.property.matlab","begin":"\\s*[;]?\\s*([a-zA-Z][a-zA-Z0-9_\\.\\?]*)","end":"([;\\n%=].*)","patterns":[{"include":"#line_continuation"},{"match":"\\s*(\\()([^\\)]*)(\\))","captures":{"1":{"name":"punctuation.section.parens.begin.matlab"},"2":{"name":"meta.parens.size.matlab","patterns":[{"include":"#numbers"},{"include":"#operators"},{"include":"#punctuation"}]},"3":{"name":"punctuation.section.parens.end.matlab"}}},{"name":"storage.type.matlab","match":"[a-zA-Z][a-zA-Z0-9_\\.]*"},{"include":"#braced_validator_list"}],"beginCaptures":{"1":{"name":"variable.object.property.matlab"}},"endCaptures":{"1":{"patterns":[{"match":"([%].*)","captures":{"1":{"patterns":[{"include":"$self"}]}}},{"match":"(=[^;]*)","captures":{"1":{"patterns":[{"include":"$self"}]}}},{"match":"([\\n;]\\s*[a-zA-Z].*)","captures":{"1":{"patterns":[{"include":"#validators"}]}}},{"include":"$self"}]}}},"variables":{"name":"variable.language.function.matlab","match":"(?\u003c!\\.)\\b(nargin|nargout|varargin|varargout)\\b"}},"injections":{"source.matlab -comment -entity -support -string -variable -interpolation -source.shell":{"patterns":[{"include":"#readwrite_operations"}]}}}
1
+ {"name":"MATLAB","scopeName":"source.matlab","patterns":[{"include":"#rules_before_command_dual"},{"include":"#command_dual"},{"include":"#rules_after_command_dual"}],"repository":{"anonymous_function":{"name":"meta.function.anonymous.matlab","begin":"(@)[^\\S\\n]*(?=\\()","end":"(?=;|(?\u003c=[^.])\\n|%)","patterns":[{"name":"meta.parameters.matlab","begin":"\\G(\\()","end":"\\)","patterns":[{"name":"variable.parameter.input.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.separator.parameter.comma.matlab","match":","}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.matlab"}}},{"name":"meta.parameters.matlab","begin":"(?\u003c=\\))[^\\S\\n]*(\\()?","end":"(\\))?[^\\S\\n]*(?=;|(?\u003c=[^.])\\n|%)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.section.group.begin.matlab"}},"endCaptures":{"1":{"name":"punctuation.section.group.end.matlab"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.function.anonymous.matlab"}}},"blocks":{"patterns":[{"name":"meta.for.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(for)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.for.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.for.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.for.matlab"}}},{"name":"meta.if.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(if)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.if.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]},{"name":"meta.elseif.matlab","match":"(?:\\s*)(?\u003c=^|[\\s,;])(elseif)\\b","patterns":[{"name":"meta.elseif.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]}],"captures":{"1":{"name":"keyword.control.elseif.matlab"}}},{"name":"meta.else.matlab","match":"(?:\\s*)(?\u003c=^|[\\s,;])(else)\\b","end":"^","captures":{"1":{"name":"keyword.control.else.matlab"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.if.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.if.matlab"},"2":{"patterns":[{"include":"$self"}]}}},{"name":"meta.for.parallel.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(parfor)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.for.parallel.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.for.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.for.matlab"}}},{"name":"meta.repeat.parallel.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(spmd)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.repeat.parallel.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.repeat.parallel.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.repeat.parallel.matlab"}}},{"name":"meta.switch.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(switch)\\s+([a-zA-Z0-9][a-zA-Z0-9_]*)","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.case.matlab","match":"(\\s*)(?\u003c=^|[\\s,;])(case)\\b(.*?)(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","captures":{"2":{"name":"keyword.control.switch.case.matlab"},"3":{"name":"meta.case.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]}}},{"name":"meta.otherwise.matlab","match":"(\\s*)(?\u003c=^|[\\s,;])(otherwise)\\b","captures":{"2":{"name":"keyword.control.switch.otherwise.matlab"},"3":{"patterns":[{"include":"$self"}]}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.switch.matlab"},"2":{"name":"variable.other.constant.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.switch.matlab"}}},{"name":"meta.try.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(try)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.catch.matlab","match":"(\\s*)(?\u003c=^|[\\s,;])(catch)\\b\\s*(\\w+)?","captures":{"2":{"name":"keyword.control.catch.matlab"},"3":{"name":"variable.other.constant.matlab"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.try.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.try.matlab"}}},{"name":"meta.while.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(while)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.while.declaration.matlab","begin":"\\G","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","endCaptures":{"1":{"include":"$self"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.while.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.while.matlab"}}}]},"braced_validator_list":{"contentName":"meta.block.validation.matlab","begin":"\\s*({)\\s*","end":"}","patterns":[{"include":"#braced_validator_list"},{"include":"#validator_strings"},{"include":"#line_continuation"},{"name":"punctuation.accessor.dot.matlab","match":"\\."}],"beginCaptures":{"1":{"name":"punctuation.section.block.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.matlab"}}},"classdef":{"patterns":[{"name":"meta.class.matlab","begin":"(?x)\n\t\t\t\t\t\t\t^\\s* \t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t(classdef)\n\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.class.declaration.matlab","begin":"\\G","end":"(?\u003c!\\.\\.\\.)(?=\\n)","patterns":[{"begin":"\\G(\\([^)]*\\))?\\s*","end":"(?\u003c!\\.\\.\\.)(?=\\s*%|\\n)","patterns":[{"begin":"\\G\\s*([a-zA-Z][a-zA-Z0-9_]*)","end":"(?\u003c!\\.\\.\\.)(?=\\n)","patterns":[{"name":"punctuation.separator.lt.inheritance.matlab","match":"\u003c"},{"name":"meta.inherited-class.matlab","begin":"(?\u003c!\\.)\\b(?=[a-zA-Z])","end":"(?\u003c=[a-zA-Z0-9_])(?!\\.)","patterns":[{"name":"entity.other.inherited-class.matlab","match":"(?\u003c=[\\s.\u003c])[a-zA-Z][a-zA-Z0-9_]*(?=\\s|$)"},{"name":"entity.name.namespace.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.accessor.dot.matlab","match":"\\."}]},{"name":"keyword.operator.type.matlab","match":"\u0026"},{"include":"#comments"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"entity.name.type.class.matlab"}}},{"include":"#comments"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"patterns":[{"name":"punctuation.section.parens.begin.matlab","match":"(?\u003c=\\s)\\("},{"name":"punctuation.section.parens.end.matlab","match":"\\)\\z"},{"name":"punctuation.separator.modifier.comma.matlab","match":","},{"name":"storage.modifier.class.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"(=)\\s*","end":"(?=\\)|,)","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"include":"#string"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.matlab"}}},{"include":"#comments"},{"include":"#line_continuation"}]}}}]},{"name":"meta.properties.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(properties)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"include":"#validators"},{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.properties.matlab"},"3":{"patterns":[{"name":"storage.modifier.properties.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"(=)\\s*","end":",|(?=\\))","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"storage.modifier.access.matlab","match":"public|protected|private"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.matlab"}}}]}},"endCaptures":{"1":{"name":"keyword.control.end.properties.matlab"}}},{"name":"meta.methods.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(methods)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.methods.matlab"},"3":{"patterns":[{"name":"storage.modifier.methods.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"=\\s*","end":",|(?=\\))","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"storage.modifier.access.matlab","match":"public|protected|private"}]}]}},"endCaptures":{"1":{"name":"keyword.control.end.methods.matlab"}}},{"name":"meta.events.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(events)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.assignment.definition.event.matlab","match":"(?:^\\s*|,\\s*)([a-zA-Z0-9_]+)","captures":{"1":{"name":"entity.name.type.event.matlab"}}},{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.events.matlab"},"3":{"patterns":[{"name":"variable.parameter.events.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"=\\s*","end":",|(?=\\))","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"storage.modifier.access.matlab","match":"public|protected|private"}]}]}},"endCaptures":{"1":{"name":"keyword.control.end.events.matlab"}}},{"name":"meta.enum.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(enumeration)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.assignment.definition.enummember.matlab","match":"(?:^\\s*|,\\s*)([a-zA-Z0-9_]+)","captures":{"1":{"name":"variable.other.enummember.matlab"}}},{"name":"punctuation.separator.comma.matlab","match":","},{"include":"#parentheses"},{"include":"#comments"}],"beginCaptures":{"2":{"name":"keyword.control.enum.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.enum.matlab"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"storage.type.class.matlab"}},"endCaptures":{"1":{"name":"storage.type.class.end.matlab"}}}]},"command_dual":{"name":"meta.function-call.command.matlab","match":"(?\u003c=^|[^.]\\n|;|,|=)([^\\S\\n]*)(?# A\u003e )(\\b\\w+\\b)([^\\S\\n]+)(?# B\u003e )((?!(\\+|-|\\*|\\.\\*|\\/|\\.\\/|\\\\|\\.\\\\|\\^|\\.\\^|==|~=|\u0026|\u0026\u0026|\\||\\|\\||=|:|\u003e|\u003e=|\u003c|\u003c=|\\.\\.\\.)[^\\S\\n])[^\\s({=;%][^\\n;%]*)","captures":{"2":{"name":"entity.name.function.command.matlab","patterns":[{"include":"$self"}]},"4":{"name":"string.unquoted.matlab","patterns":[{"include":"#string_quoted_single"}]}}},"comment_block":{"name":"comment.block.percentage.matlab","begin":"(^[\\s]*)(%\\{)[^\\S\\n]*+\\n","end":"(^[\\s]*)(%\\})[^\\S\\n]*+(?:\\n|$)","patterns":[{"include":"#comment_block"},{"match":"^[^\\n]*\\n"}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"},"2":{"name":"punctuation.definition.comment.begin.matlab"}},"endCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"},"2":{"name":"punctuation.definition.comment.end.matlab"}}},"comments":{"patterns":[{"begin":"(^[ \\t]+)?(?=%%\\s)","end":"\\Z","patterns":[{"name":"comment.line.double-percentage.matlab","begin":"%%","end":"\\n","patterns":[{"contentName":"entity.name.section.matlab","begin":"\\G[^\\S\\n]*(?![\\n\\s])","end":"(?=\\n)","beginCaptures":{"0":{"name":"punctuation.whitespace.comment.leading.matlab"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.matlab"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"}}},{"include":"#comment_block"},{"begin":"(^[ \\t]+)?(?=%)","end":"\\Z","patterns":[{"name":"comment.line.percentage.matlab","begin":"%","end":"\\Z","beginCaptures":{"0":{"name":"punctuation.definition.comment.matlab"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"}}}]},"conjugate_transpose":{"name":"keyword.operator.transpose.matlab","match":"((?\u003c=[^\\s])|(?\u003c=\\])|(?\u003c=\\))|(?\u003c=\\}))'"},"constants":{"patterns":[{"name":"constant.numeric.matlab","match":"(?\u003c!\\.)\\b(eps|Inf|inf|intmax|intmin|namelengthmax|realmax|realmin|pi)\\b"},{"name":"constant.language.nan.matlab","match":"(?\u003c!\\.)\\b(NaN|nan|NaT|nat)\\b"},{"name":"constant.language.boolean.matlab","match":"(?\u003c!\\.)\\b(on|off|false|true)\\b"}]},"control_statements":{"name":"meta.control.matlab","match":"\\s*(?\u003c=^|[\\s,;])(break|continue|return)\\b","captures":{"1":{"name":"keyword.control.flow.matlab"}}},"curly_brackets":{"contentName":"meta.cell.literal.matlab","begin":"\\{","end":"\\}","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.matlab"}}},"end_in_parentheses":{"name":"keyword.operator.word.matlab","match":"\\bend\\b"},"function":{"patterns":[{"name":"meta.function.matlab","begin":"(?x)\n\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t(function)\n\t\t\t\t\t\t\t\\s+\n\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b(\\s*\\n)?","patterns":[{"name":"meta.function.declaration.matlab","begin":"\\G","end":"(?\u003c=[\\)\\n])","patterns":[{"contentName":"meta.assignment.variable.output.matlab","begin":"\\G(?=.*?=)","end":"\\s*(=)\\s*","patterns":[{"name":"punctuation.section.assignment.group.begin.matlab","match":"\\G\\["},{"match":"(\\])\\s*\\z","captures":{"1":{"name":"punctuation.section.assignment.group.end.matlab"}}},{"name":"variable.parameter.output.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.separator.parameter.comma.matlab","match":","},{"include":"#comments"},{"include":"#line_continuation"}],"endCaptures":{"1":{"name":"keyword.operator.assignment.matlab"}}},{"name":"entity.name.function.matlab","match":"[a-zA-Z][a-zA-Z0-9_.]*(?=[^a-zA-Z0-9_.])","patterns":[{"name":"punctuation.accessor.dot.matlab","match":"\\."},{"include":"#line_continuation"}]},{"name":"meta.parameters.matlab","begin":"(?\u003c=[a-zA-Z0-9_])\\s*\\(","end":"\\)","patterns":[{"name":"variable.parameter.input.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"variable.language.anonymous.matlab","match":"~"},{"name":"punctuation.separator.parameter.comma.matlab","match":","},{"include":"#comments"},{"include":"#line_continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.matlab"}}},{"include":"#comments"}]},{"name":"meta.arguments.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(arguments)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"keyword.operator.other.matlab","match":"(?\u003c=\\w)\\.\\?(?=\\w)"},{"include":"#validators"},{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.arguments.matlab"},"3":{"name":"meta.arguments.declaration.matlab","patterns":[{"name":"punctuation.section.parens.begin.matlab","match":"\\("},{"name":"storage.modifier.arguments.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.section.parens.end.matlab","match":"\\)"}]}},"endCaptures":{"1":{"name":"keyword.control.end.arguments.matlab"}}},{"include":"$self"}],"beginCaptures":{"2":{"name":"storage.type.function.matlab"}},"endCaptures":{"1":{"name":"storage.type.function.end.matlab"}}}]},"function_call":{"name":"meta.function-call.parens.matlab","begin":"([a-zA-Z][a-zA-Z0-9_]*)\\s*(\\()","end":"(\\)|(?\u003c!\\.\\.\\.)\\n)","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"name":"entity.name.function.matlab","patterns":[{"include":"$self"}]},"2":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"global_persistent":{"match":"^\\s*(global|persistent)\\b","captures":{"1":{"name":"storage.modifier.matlab"}}},"import":{"name":"meta.import.matlab","match":"\\b(import)\\b[^\\S\\n]+([a-zA-Z0-9.]*)(?=;|%|$)","captures":{"1":{"name":"keyword.other.import.matlab"},"2":{"name":"entity.name.namespace.matlab","patterns":[{"name":"entity.name.module.matlab","match":"\\w+"},{"name":"punctuation.separator.matlab","match":"\\."},{"name":"variable.language.wildcard.matlab","match":"\\*"}]}}},"indexing_by_expression":{"contentName":"meta.parens.matlab","begin":"([a-zA-Z][a-zA-Z0-9_]*)\\s*(\\.)(\\()","end":"(\\)|(?\u003c!\\.\\.\\.)\\n)","patterns":[{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"name":"variable.other.readwrite.matlab"},"2":{"name":"punctuation.accessor.dot.matlab"},"3":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"indexing_curly_brackets":{"begin":"([a-zA-Z][a-zA-Z0-9_\\.]*\\s*)\\{","end":"(\\}|(?\u003c!\\.\\.\\.)\\n)","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"patterns":[{"name":"variable.other.readwrite.matlab","match":"([a-zA-Z][a-zA-Z0-9_]*)(?=\\s*\\{)"},{"include":"$self"}]}}},"line_continuation":{"name":"meta.continuation.line.matlab","match":"(\\.\\.\\.)(.*)$","captures":{"1":{"name":"punctuation.separator.continuation.line.matlab"},"2":{"name":"comment.continuation.line.matlab"}}},"multiple_assignment":{"contentName":"meta.assignment.variable.group.matlab","begin":"\\[(?=[^\\]]+\\]\\s*=[a-zA-Z0-9_\\s(])","end":"\\]","patterns":[{"name":"variable.language.anonymous.matlab","match":"(?\u003c=[\\[,])\\s{0,4}~\\s{0,4}(?=[\\],])"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.assignment.group.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.assignment.group.end.matlab"}}},"numbers":{"patterns":[{"name":"constant.numeric.decimal.matlab","match":"(?\u003c=[\\s\\+\\-\\*\\/\\\\=:\\[\\(\\{,^]|^)\\d*\\.?\\d+([eE][+-]?\\d)?([0-9\u0026\u0026[^\\.]])*(i|j)?\\b","captures":{"3":{"name":"storage.type.number.imaginary.matlab"}}},{"name":"constant.numeric.hex.matlab","match":"(?\u003c=[\\s\\+\\-\\*\\/\\\\=:\\[\\(\\{,^]|^)0[xX][[:xdigit:]]+([su](?:8|16|32|64))?\\b","captures":{"1":{"name":"storage.type.number.hex.matlab"}}},{"name":"constant.numeric.binary.matlab","match":"(?\u003c=[\\s\\+\\-\\*\\/\\\\=:\\[\\(\\{,^]|^)0[bB][10]+([su](?:8|16|32|64))?\\b","captures":{"1":{"name":"storage.type.number.binary.matlab"}}}]},"operators":{"patterns":[{"name":"keyword.operator.storage.at.matlab","match":"(?\u003c!\\w)@(?=\\s{,4}\\w)"},{"name":"keyword.operator.other.question.matlab","match":"(?\u003c!\\w)\\?(?=\\w)"},{"name":"keyword.operator.arithmetic.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(\\+|-|\\*|\\.\\*|/|\\./|\\\\|\\.\\\\|\\^|\\.\\^)(?=[a-zA-Z0-9\\s])"},{"name":"keyword.operator.logical.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(==|~=|\u0026|\u0026\u0026|\\||\\|\\|)(?=[a-zA-Z0-9\\s])"},{"name":"keyword.operator.assignment.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(=)(?!=)"},{"name":"keyword.operator.vector.colon.matlab","match":"(?\u003c=[a-zA-Z0-9_\\s(){,]|^):(?=[a-zA-Z0-9_\\s()},]|$)"},{"name":"keyword.operator.relational.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(\u003e|\u003e=|\u003c|\u003c=)(?=\\s)"}]},"parentheses":{"contentName":"meta.parens.matlab","begin":"\\(","end":"(\\)|(?\u003c!\\.\\.\\.)\\n)","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"property":{"name":"variable.other.property.matlab","match":"(?\u003c=\\.)[a-zA-Z][a-zA-Z0-9_]*(?![a-zA-Z0-9_]|(?:\\(|\\{|\\.\\())"},"property_access":{"name":"punctuation.accessor.dot.matlab","match":"\\."},"punctuation":{"patterns":[{"name":"punctuation.accessor.dot.matlab","match":"(?\u003c=\\w)\\.(?!\\()"},{"name":"punctuation.separator.comma.matlab","match":","},{"name":"punctuation.terminator.semicolon.matlab","match":";(?=\\s|$)"}]},"readwrite_operations":{"match":"(?\u003c![a-zA-Z0-9_]|\\.)[a-zA-Z][a-zA-Z0-9_]*(?:\\.[a-zA-Z][a-zA-Z0-9_]*)*(?![a-zA-Z0-9_]|(?:\\(|\\{|\\.\\())","captures":{"0":{"patterns":[{"include":"#property"},{"include":"#readwrite_variable"},{"include":"#property_access"}]}}},"readwrite_variable":{"name":"variable.other.readwrite.matlab","match":"(?\u003c![a-zA-Z0-9_]|\\.)[a-zA-Z][a-zA-Z0-9_]*(?![a-zA-Z0-9_]|(?:\\(|\\{|\\.\\())"},"rules_after_command_dual":{"patterns":[{"include":"#string"},{"include":"#line_continuation"},{"include":"#comments"},{"include":"#conjugate_transpose"},{"include":"#transpose"},{"include":"#constants"},{"include":"#variables"},{"include":"#numbers"},{"include":"#operators"},{"include":"#punctuation"}]},"rules_before_command_dual":{"patterns":[{"include":"#classdef"},{"include":"#function"},{"include":"#blocks"},{"include":"#control_statements"},{"include":"#global_persistent"},{"include":"#import"},{"include":"#superclass_method_call"},{"include":"#anonymous_function"},{"include":"#function_call"},{"include":"#parentheses"},{"include":"#indexing_curly_brackets"},{"include":"#indexing_by_expression"},{"include":"#multiple_assignment"},{"include":"#single_assignment"},{"include":"#square_brackets"},{"include":"#curly_brackets"}]},"shell_string":{"match":"^\\s*((!)(.*)$\\n?)","captures":{"1":{"name":"meta.interpolation.shell.matlab"},"2":{"name":"punctuation.section.interpolation.begin.matlab"},"3":{"name":"source.shell.embedded.matlab","patterns":[{"include":"source.shell"}]}}},"single_assignment":{"match":"(?\u003c=^|,|;|for)\\s*([a-zA-Z][a-zA-Z0-9_.(){}]*)(?=\\s*=)","captures":{"1":{"name":"meta.assignment.variable.single.matlab","patterns":[{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}]}}},"square_brackets":{"contentName":"meta.brackets.matlab","begin":"\\[(?![^\\]]+\\]\\s{,4}=)","end":"\\]","patterns":[{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.matlab"}}},"string":{"patterns":[{"include":"#shell_string"},{"include":"#string_quoted_single"},{"include":"#string_quoted_double"}]},"string_quoted_double":{"name":"string.quoted.double.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^))|^)\"","end":"\"(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^|\\||\\s|;|:|,)|$)","patterns":[{"name":"constant.character.escape.matlab","match":"\"\""},{"name":"invalid.illegal.unescaped-quote.matlab","match":"\"(?=.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}},"string_quoted_single":{"name":"string.quoted.single.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|/|\\\\|\\.|\\^))|^)'","end":"'(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|/|\\\\|\\.|\\^|\\s|;|:|,)|$)","patterns":[{"name":"constant.character.escape.matlab","match":"''"},{"name":"invalid.illegal.unescaped-quote.matlab","match":"'(?=.)"},{"name":"constant.character.escape.matlab","match":"((\\%([\\+\\-0]?\\d{0,3}(\\.\\d{1,3})?)(c|d|e|E|f|g|i|G|s|((b|t)?(o|u|x|X))))|\\%\\%|\\\\(b|f|n|r|t|\\\\))"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}},"superclass_method_call":{"name":"meta.method-call.parens.matlab","begin":"([a-zA-Z][a-zA-Z0-9_]*)(@)\\s*([a-zA-Z][a-zA-Z0-9_]*(?:\\.[a-zA-Z][a-zA-Z0-9_]*)*)(\\()","end":"(\\)|(?\u003c!\\.\\.\\.)\\n)","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"name":"entity.name.function.matlab","patterns":[{"include":"$self"}]},"2":{"name":"punctuation.accessor.scope-resolution.superclass.matlab"},"3":{"patterns":[{"name":"entity.name.type.class.matlab","match":"(\\w+)(?=\\s*\\z)"},{"match":"([a-zA-Z][a-zA-Z0-9_]*)(\\.)","captures":{"1":{"name":"entity.name.module.matlab"},"2":{"name":"punctuation.accessor.dot.matlab"}}},{"include":"$self"}]},"4":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"transpose":{"name":"keyword.operator.transpose.matlab","match":"\\.'"},"validator_strings":{"patterns":[{"patterns":[{"name":"string.quoted.single.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^))|^)'","end":"'(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^|\\s|;|:|,)|$)","patterns":[{"match":"''"},{"match":"'(?=.)"},{"match":"([^']+)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}},{"name":"string.quoted.double.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^))|^)\"","end":"\"(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^|\\||\\s|;|:|,)|$|\\z)","patterns":[{"match":"\"\""},{"match":"\"(?=.)"},{"match":"[^\"]+"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}}]}]},"validators":{"name":"meta.assignment.definition.property.matlab","begin":"\\s*[;]?\\s*([a-zA-Z][a-zA-Z0-9_\\.\\?]*)","end":"([;\\n%=].*)","patterns":[{"include":"#line_continuation"},{"match":"\\s*(\\()([^\\)]*)(\\))","captures":{"1":{"name":"punctuation.section.parens.begin.matlab"},"2":{"name":"meta.parens.size.matlab","patterns":[{"include":"#numbers"},{"include":"#operators"},{"include":"#punctuation"}]},"3":{"name":"punctuation.section.parens.end.matlab"}}},{"name":"storage.type.matlab","match":"[a-zA-Z][a-zA-Z0-9_\\.]*"},{"include":"#braced_validator_list"}],"beginCaptures":{"1":{"name":"variable.object.property.matlab"}},"endCaptures":{"1":{"patterns":[{"match":"([%].*)","captures":{"1":{"patterns":[{"include":"$self"}]}}},{"match":"(=[^;]*)","captures":{"1":{"patterns":[{"include":"$self"}]}}},{"match":"([\\n;]\\s*[a-zA-Z].*)","captures":{"1":{"patterns":[{"include":"#validators"}]}}},{"include":"$self"}]}}},"variables":{"name":"variable.language.function.matlab","match":"(?\u003c!\\.)\\b(nargin|nargout|varargin|varargout)\\b"}},"injections":{"source.matlab -comment -entity -support -string -variable -interpolation -source.shell":{"patterns":[{"include":"#readwrite_operations"}]}}}
@@ -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\\-]+)"}]}
@@ -0,0 +1 @@
1
+ {"name":"MI","scopeName":"source.mi","patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#keywords"},{"include":"#strings"},{"include":"#support"}],"repository":{"comments":{"patterns":[{"name":"comment.line.mi","begin":"(\\/\\*)","end":"(\\*\\/)"}]},"constants":{"patterns":[{"name":"constant.language.mi","match":"(?i)[*]\\b(IN)([0-9]{0,2})\\b"},{"name":"constant.numeric.mi","match":"(\\b[0-9]+)|([0-9]*[.][0-9]*)"},{"name":"constant.language.mi","match":"[*][a-zA-Z][a-zA-Z0-9]*"}]},"keywords":{"patterns":[{"name":"keyword.control.mi.label","match":"^\\s*[a-zA-Z_][a-zA-Z0-9_\\-]*:"},{"name":"keyword.other.mi","match":"\\b(?i)(YIELD|XORSTR|XOR|XLATWTDS|XLATEWT|XLATEMB|XLATEB1|XLATEB|XLATE|XFRLOCK|XCTL|WAITTIME|VERIFY|UNLOCKSL|UNLOCK|UNLKMTX|UNLCKTSL|TSTRPLC|TSTINLTH|TSTBUM|TSTBTS|TRIML|TESTULA|TESTTOBJ|TESTSUBSET|TESTRPL|TESTPTR|TESTPDC|TESTINTR|TESTEXCP|TESTEAU|TESTAU|TANH|TAN|SYNCSTG|SUBSPPFO|SUBSPP|SUBN|SUBLC|STSPPO|STPLLEN|SSCA|SNSEXCPD|STRNCPYNULLPAD|STRNCPYNULL|STRNCMPNULL|STRLENNULL|SINH|SIN|SIGEXCP|SETSPPO|SETSPPFP|SETSPPD|SETSPP|SETSPFP|SETIP|SETINVF|SETIEXIT|SETHSSMK|SETDPAT|SETDPADR|SETDP|SETCA|SETBTS|SETALLEN|SETACST|SEARCH|SCANX|SCANWC|SCAN|SCALE|RTX|RTNEXCP|RSLVSP|RSLVDP|RMVINXEN|RINZSTAT|RETTSADR|RETTHID|RETTHCNT|RETINVF|RETEXCPD|RETCA|REM|REALCHSS|QUANTIZEBV|QUANTIZEBE|PROPB|POWER|POPPAR8|POPPAR4|POPCNTB|POPCNT8|POPCNT4|PCOPTR2|PCOPTR|OVRPGATR|ORSTR|OR|OPM_PARM_CNT|OPM_PARM_ADDR|NPM_PARMLIST_ADDR|NOT|NOOPS|NOOP|NEG|MPYSUB|MPYADD|MULT|MODS2|MODS1|MODS|MODINVAU|MODINX|MODEXCPD|MODASA|MEMUSEHINT|MEMMOVE|MEMCPY|MEMCMP|MATUPID|MATUP|MATTODAT|MATSOBJ|MATS|MATSELLK|MATRMD|MATQMSGQ|MATQAT|MATPGMNM|MATPG|MVLICOPT|MATPRMTX|MATPRMSG|MATPRLK|MATPRECL|MATPRATR|MATPRAGP|MATPTRL|MATPTRIF|MATPTR|MATOBJLCK|MATMTX|MATMIF|MATMDATA|MATMATR1|MATMATR|MATJSAT|MATJPAT|MATJOBJ|MATJOAT|MATINVS|MATINVE|MATINVAT|MATINV|MATINAT|MATINXAT|MATEXCPD|MATDMPS|MATDRECL|MATBPGM|MATAUU|MATAUOBJ|MATAL|MATAU|MATAOL|MATHSAT|MATAGPAT|MATACTEX|MATACTAT|MATAGAT|LN|LOCKTSL|LOCKSL|LOCKMTX|LOCK|INVP|INSINXEN|INITEHCA|INCTS|INCT|INCD|GENUUID|FREHSSMK|FREHSS|FNDRINVN|FNDINXEN|STRCHRNULL|MEMCHR|FINDBYTE|EXTRMAG|EXTREXP|ECSCAN|EEXP|EXCHBY|ENSOBJ|ENQ|END|EDITPD|LBEDIT|EDIT|DIVREM|DIV|DESS|DESMTX|DESINX|DESHS|DEQWAIT|DEQ|DECTS|DECT|DECD|DCPDATA|DEACTPG|CVTTS|CVTT|CVTSC|CVTNC|CVTMC|CVTHC|CVTFPDF|CVTEFN|CVTDFFP|CVTD|CVTCS|CVTCN|CVTCM|CVTCH|CVTCB|CVTBC|CRTMTX|CRTINX|CRTHS|CNTLZ8|CNTLZ4|COT|COSH|COS|LBCPYNVR|LBCPYNV|CPYNV|STRCPYNULL|CPYHEXZZ|CPYHEXZN|CPYHEXNZ|CPYHEXNN|CPYECLAP|CPYBWP|CPYBRAP|CPYBRA|CPYBREP|CPYBO|CPYBOLAP|CPYBOLA|CPYBLAP|CPYBLA|CPYBBTL|CPYBBTA|CPYBYTES|CPYBTRLS|CPYBTRAS|CPYBTLLS|CPYBTL|CPYBTA|CPRDATA|CAT|CMPTOPAD|CMPSWP|CMPSW|CMPSPAD|CMPPTRT|CMPPTRE|CMPPTRA|CMPPSPAD|CMPNV|STRCMPNULL|CMPBRAP|CMPBRA|CMPBLAP|CMPBLA|CMF2|CMF1|CDD|CAI|COMSTR|CLRLKVAL|CLRINVF|CLRIEXIT|CLRBTS|CIPHER|CHKLKVAL|CALLPGMV|CALLI|CALLX|BITPERM|ATMCOR|ATMCAND|ATMCADD|ATANH|ATAN|ASIN|ACOS|ANDSTR|ANDCSTR|AND|ALCHSS|ADDSPP|ADDN|ADDLC|ACTPG|ACTBPGM)\\b"},{"name":"keyword.other.mi","match":"\\s+(?i)(MATCTX|B|CRTS|CTSD|CTD)\\b"},{"name":"keyword.other.mi","match":"\\b(?i)(ENTRY|DCL|PARM_LIST|PARM|PEND|EXT)\\b"},{"name":"keyword.other.mi","match":"\\b(([\\|](\\||\u003e|\u003c))|\\+|\u003e=|\u003c=|=|\u003e|\u003c|:)\\b"},{"name":"keyword.other.mi","match":"\\*"}]},"strings":{"patterns":[{"name":"string.other.mi.hex","begin":"(?i)x'","end":"'"},{"name":"string.quoted.single.mi","begin":"('|\")","end":"'|\"","patterns":[{"name":"constant.character.escape.mi","match":"\\\\."}]}]},"support":{"patterns":[{"name":"support.type.mi","match":"\\b(?i)(SPCPTR|SYSPTR|OL|DD)"},{"name":"support.function.mi","match":"\\b(?i)[A-Za-z]+\\s*(?=\\()"}]}}}
@@ -0,0 +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"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"Mint","scopeName":"source.mint","patterns":[{"include":"#comments"},{"include":"#html"},{"include":"#regex"},{"include":"#style"},{"include":"#js"},{"include":"#routes"},{"include":"#keywords"},{"include":"#strings"},{"include":"#directives"}],"repository":{"comments":{"patterns":[{"name":"comment.block.mint","begin":"/\\*","end":"\\*/"},{"match":"((//).*)$","captures":{"1":{"name":"comment.line.double-slash.mint"}}}]},"css":{"patterns":[{"match":"//"},{"include":"#style-nesting"},{"include":"source.css#pseudo-classes"},{"include":"source.css#pseudo-elements"},{"include":"source.css.scss#general"},{"include":"source.css.scss#selectors"},{"include":"source.css.scss#properties"},{"include":"source.css.scss#at_rule_import"},{"include":"source.css.scss#at_rule_media"},{"include":"source.css.scss#at_rule_charset"},{"include":"source.css.scss#at_rule_namespace"},{"include":"source.css.scss#at_rule_fontface"},{"include":"source.css.scss#at_rule_page"},{"include":"source.css.scss#at_rule_supports"},{"name":"meta.at-rule.keyframes.scss","begin":"(?\u003c=^|\\s)(@)(?:-(?:webkit|moz)-)?keyframes\\b","end":"(?\u003c=})","patterns":[{"match":"(?\u003c=@keyframes)\\s+((?:[_A-Za-z][-\\w]|-[_A-Za-z])[-\\w]*)","captures":{"1":{"name":"entity.name.function.scss"}}},{"name":"string.quoted.double.scss","contentName":"entity.name.function.scss","begin":"(?\u003c=@keyframes)\\s+(\")","end":"\"","patterns":[{"name":"constant.character.escape.scss","match":"\\\\([[:xdigit:]]{1,6}|.)"},{"include":"source.css.scss#interpolation"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.scss"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scss"}}},{"name":"string.quoted.single.scss","contentName":"entity.name.function.scss","begin":"(?\u003c=@keyframes)\\s+(')","end":"'","patterns":[{"name":"constant.character.escape.scss","match":"\\\\([[:xdigit:]]{1,6}|.)"},{"include":"source.css.scss#interpolation"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.scss"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scss"}}},{"begin":"{","end":"}","patterns":[{"include":"#comments"},{"name":"entity.other.attribute-name.scss","match":"\\b(?:(?:100|[1-9]\\d|\\d)%|from|to)(?=\\s*{)"},{"include":"#style-nesting"}],"beginCaptures":{"0":{"name":"punctuation.section.keyframes.begin.scss"}},"endCaptures":{"0":{"name":"punctuation.section.keyframes.end.scss"}}}],"beginCaptures":{"0":{"name":"keyword.control.at-rule.keyframes.scss"},"1":{"name":"punctuation.definition.keyword.scss"}}}]},"directives":{"begin":"(@(svg|format|documentation))((\\().*\\))?","end":"\\G","beginCaptures":{"0":{"name":"keyword.directive.mint","patterns":[{"name":"string.unquoted.mint","match":"(?\u003c=@svg\\()[^\\)]*"},{"name":"entity.name.class.mint","match":"(?\u003c=@documentation\\()[^\\)]*"}]}}},"html":{"name":"meta.tag.html.mint","begin":"\u003c{?","end":"}?\u003e","patterns":[{"name":"punctuation.definition.tag.html.mint","match":"(?\u003c=\u003c)/|/(?=\u003e)"},{"name":"entity.name.tag.block.any.html.mint","match":"(?\u003c=\u003c|\u003c/)[^A-Z|{][a-z]*[^\\s|:|\u003e|/]*"},{"name":"entity.name.tag.css.mint","match":"(?![A-Z][a-z]*)(?\u003c=::)[^\\s|\u003e|::|\\(|/]*"},{"include":"#html"},{"include":"#directives"},{"include":"#regex"},{"include":"#js"},{"include":"#strings"},{"include":"#keywords"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.html.mint"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.html.mint"}}},"interpolation":{"name":"meta.embedded.line.mint","begin":"#{","end":"}","patterns":[{"name":"punctuation.accessor.mint","match":"\\."},{"include":"#keywords"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.mint"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.mint"}}},"js":{"name":"meta.embedded.block.js.mint","begin":"`","end":"`","patterns":[{"include":"source.js"}]},"keywords":{"patterns":[{"name":"keyword.control.mint","match":"(?\u003c!\\.|[a-zA-Z0-9])\\b(global|state|encode|decode|for|module|provider|suite|test|parallel|sequence|case|try|catch|finally|next|with|component|property|fun|style|routes|get|connect|exposing|record|store|use|when|if|else|where|enum|using|const|as|or)\\b(?![a-zA-Z0-9]|\\.|\\s*(=|}))"},{"name":"entity.name.class.mint","match":"\\b[A-Z][A-Za-z0-9]*\\b|\\b[A-Z_]+\\b"},{"name":"constant.numeric.mint","match":"\\d\\.?"},{"name":"storage.type.function.arrow.mint","match":"=\u003e"},{"name":"punctuation.accessor.mint","match":"(?\u003c!\\.)\\.(?!\\.)"},{"name":"punctuation.block.open.mint","match":"{"},{"name":"punctuation.block.close.mint","match":"}"},{"name":"punctuation.separator.mint","match":"(?\u003c!:):(?!:)"},{"name":"keyword.operator.class.mint","match":"(?\u003c!:|\\s)::(?!:|\\s)"},{"name":"punctuation.params.open.mint","match":"\\("},{"name":"punctuation.params.close.mint","match":"\\)"},{"name":"punctuation.array.open.mint","match":"\\["},{"name":"punctuation.array.close.mint","match":"\\]"},{"name":"punctuation.separator.comma.mint","match":","},{"name":"keyword.operator.arithmetic.mint","match":"\\+|-|/|\\*"},{"name":"keyword.operator.relational.mint","match":"(?\u003c=\\w|\\d|\\s)\u003e=?|\u003c=?(?=\\s|\\d|\\w)"},{"name":"keyword.operator.assignment.mint","match":"(?\u003c!=)=(?!=)"},{"name":"keyword.operator.equality.mint","match":"(?\u003c!=)==(?!=)"},{"name":"keyword.operator.spread.mint","match":"\\.\\.\\."},{"name":"keyword.operator.pipe.mint","match":"\\|\u003e"},{"name":"keyword.operator.copy.mint","match":"\\|(?!\u003e)"},{"name":"constant.language.boolean.mint","match":"\\b(true|false)\\b"},{"name":"keyword.operator.expression.of.mint","match":"(?\u003c!\\.)\\bof\\b"},{"name":"entity.name.function.mint","match":"(?\u003c=\\s\\bfun\\b\\s)[^\\(|:|{]*"},{"name":"entity.name.function.mint","match":"\\b(?\u003c=[^A-Za-z]|\\.|\\s)[a-z][a-zA-Z0-9]*\\b(?=\\()"},{"name":"keyword.other.env.mint","match":"@[A-Z]+"},{"name":"support.type.property-name.mint","match":"\\b[a-z][a-zA-Z0-9\\-]*\\b"}]},"regex":{"patterns":[{"name":"string.regexp.mint","match":"/(?:\\\\/|[^/])+/"},{"name":"constant.regexp","match":"(?\u003c=/)(g|i|m|y|u|s)"}]},"routes":{"name":"meta.block.routes.mint","begin":"(?\u003c=routes\\s{)","end":"}","patterns":[{"include":"#comments"},{"name":"string.route.name.mint","match":"(/|\\*)[^{]*"},{"include":"#routes-nesting"},{"include":"#keywords"}],"beginCaptures":{"0":{"name":"meta.block.open.routes.mint"}},"endCaptures":{"0":{"name":"meta.block.close.routes.mint"}}},"routes-nesting":{"name":"meta.block.nested.routes.mint","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#routes-nesting"},{"include":"#keywords"}],"beginCaptures":{"0":{"name":"meta.block.open.nested.routes.mint"}},"endCaptures":{"0":{"name":"meta.block.close.nested.routes.mint"}}},"strings":{"name":"string.quoted.double.mint","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.mint","match":"\\\\."},{"include":"#interpolation"}]},"style":{"name":"meta.block.style.mint","begin":"(?\u003c=style\\s)[^{]*\\s{","end":"}","patterns":[{"include":"#style-conditionals"},{"include":"#css"}],"beginCaptures":{"0":{"name":"meta.block.open.style.mint","patterns":[{"name":"punctuation.params.style.mint","begin":"\\(","end":"\\)","patterns":[{"include":"#keywords"}]},{"name":"entity.name.tag.css.mint","match":"\\b[^\\s|\\(|\\:]*\\b"}]}},"endCaptures":{"0":{"name":"meta.block.close.style.mint"}}},"style-conditionals":{"begin":"((?:else\\s*)?if\\s*\\(.*\\)\\s*{|(?\u003c=})\\s*else\\s*(?!if){|case\\s*\\(.*\\)\\s*{)","end":"}","patterns":[{"include":"#comments"},{"name":"meta.embedded.line.scss.mint","begin":"(?=:\\s[^A-Z])","end":"[^;]*$","patterns":[{"include":"#css"}]},{"include":"#strings"},{"include":"#keywords"}],"beginCaptures":{"0":{"name":"meta.block.open.style.conditional.mint","patterns":[{"include":"#keywords"}]}},"endCaptures":{"0":{"name":"meta.block.close.style.conditional.mint","patterns":[{"include":"#keywords"}]}}},"style-nesting":{"name":"meta.block.nested.style.mint","begin":"{","end":"}","patterns":[{"include":"#style-conditionals"},{"include":"#css"}],"beginCaptures":{"0":{"name":"meta.block.open.nested.style.mint"}},"endCaptures":{"0":{"name":"meta.block.close.nested.style.mint"}}}}}