github-linguist 7.15.0 → 7.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +115 -71
  3. data/grammars/annotation.liquidhaskell.haskell.json +1 -1
  4. data/grammars/etc.json +1 -1
  5. data/grammars/go.mod.json +1 -0
  6. data/grammars/go.sum.json +1 -0
  7. data/grammars/hint.haskell.json +1 -1
  8. data/grammars/hint.message.haskell.json +1 -1
  9. data/grammars/hint.type.haskell.json +1 -1
  10. data/grammars/markdown.mcfunction.codeblock.json +1 -0
  11. data/grammars/source.abap.json +1 -1
  12. data/grammars/source.al.json +1 -1
  13. data/grammars/source.avro.json +1 -1
  14. data/grammars/source.ballerina.json +1 -1
  15. data/grammars/source.bc.json +1 -0
  16. data/grammars/source.bicep.json +1 -1
  17. data/grammars/source.boo.json +1 -1
  18. data/grammars/source.cirru.json +1 -1
  19. data/grammars/source.cs.json +1 -1
  20. data/grammars/source.csound.json +1 -1
  21. data/grammars/source.css.json +1 -1
  22. data/grammars/source.dart.json +1 -1
  23. data/grammars/source.dc.json +1 -0
  24. data/grammars/source.ditroff.json +1 -1
  25. data/grammars/source.dotenv.json +1 -0
  26. data/grammars/source.earthfile.json +1 -0
  27. data/grammars/source.ecl.json +1 -0
  28. data/grammars/source.ed.json +1 -0
  29. data/grammars/source.fnl.json +1 -0
  30. data/grammars/source.fsharp.json +1 -1
  31. data/grammars/source.fstar.json +1 -1
  32. data/grammars/source.futhark.json +1 -1
  33. data/grammars/source.gcode.json +1 -1
  34. data/grammars/source.gdscript.json +1 -1
  35. data/grammars/source.goldgrm.json +1 -0
  36. data/grammars/source.hack.json +1 -1
  37. data/grammars/source.haskell.json +1 -1
  38. data/grammars/source.hsig.json +1 -1
  39. data/grammars/source.hy.json +1 -1
  40. data/grammars/source.jest.snap.json +1 -0
  41. data/grammars/source.jq.json +1 -1
  42. data/grammars/source.json.json +1 -1
  43. data/grammars/source.julia.json +1 -1
  44. data/grammars/source.kakscript.json +1 -0
  45. data/grammars/source.kotlin.json +1 -1
  46. data/grammars/source.lean.json +1 -1
  47. data/grammars/source.m2.json +1 -1
  48. data/grammars/source.matlab.json +1 -1
  49. data/grammars/source.mcfunction.json +1 -1
  50. data/grammars/source.mo.json +1 -0
  51. data/grammars/source.odin.json +1 -1
  52. data/grammars/source.opts.json +1 -1
  53. data/grammars/source.pic.json +1 -1
  54. data/grammars/source.postscript.json +1 -1
  55. data/grammars/source.powershell.json +1 -1
  56. data/grammars/source.promela.json +1 -0
  57. data/grammars/source.q_output.json +1 -1
  58. data/grammars/source.rego.json +1 -1
  59. data/grammars/source.renpy.json +1 -1
  60. data/grammars/source.scala.json +1 -1
  61. data/grammars/source.sed.json +1 -1
  62. data/grammars/source.sqf.json +1 -1
  63. data/grammars/source.ssh-config.json +1 -1
  64. data/grammars/source.ts.json +1 -1
  65. data/grammars/source.tsx.json +1 -1
  66. data/grammars/source.v.json +1 -1
  67. data/grammars/source.viml.json +1 -1
  68. data/grammars/source.ws.json +1 -0
  69. data/grammars/source.wsd.json +1 -1
  70. data/grammars/source.xojo.json +1 -1
  71. data/grammars/source.yara.json +1 -1
  72. data/grammars/source.yasnippet.json +1 -1
  73. data/grammars/source.zig.json +1 -1
  74. data/grammars/text.html.astro.json +1 -0
  75. data/grammars/text.html.markdown.astro.json +1 -0
  76. data/grammars/text.html.php.json +1 -1
  77. data/grammars/text.info.json +1 -0
  78. data/grammars/text.lesshst.json +1 -0
  79. data/grammars/text.marko.json +1 -1
  80. data/grammars/text.roff.json +1 -1
  81. data/grammars/text.tex.latex.haskell.json +1 -1
  82. data/grammars/text.xml.svg.json +1 -1
  83. data/grammars/version +1 -1
  84. data/lib/linguist/VERSION +1 -1
  85. data/lib/linguist/documentation.yml +1 -0
  86. data/lib/linguist/generated.rb +19 -0
  87. data/lib/linguist/heuristics.yml +10 -3
  88. data/lib/linguist/languages.json +1 -1
  89. data/lib/linguist/languages.yml +310 -31
  90. data/lib/linguist/linguist.so +0 -0
  91. data/lib/linguist/samples.json +1 -1
  92. data/lib/linguist/shebang.rb +4 -1
  93. data/lib/linguist/vendor.yml +3 -0
  94. metadata +28 -10
  95. data/grammars/source.SASLog.json +0 -1
  96. data/grammars/source.mcfunction-snapshot.json +0 -1
  97. data/lib/linguist/linguist.bundle +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(?:class|interface)\\s+\\w+)\\b","end":"(?=\\}|$)","patterns":[{"include":"#keyword"},{"begin":"\\b(class|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.modifier.kotlin","match":"\\b(const)\\b"},{"name":"storage.type.kotlin","match":"\\b(val|var)\\b"},{"name":"punctuation.definition.variable.kotlin","match":"\\b(\\_)\\b"},{"name":"storage.type.kotlin","match":"\\b(data|inline|tailrec|operator|infix|typealias|reified)\\b"},{"name":"storage.modifier.kotlin","match":"\\b(external|public|private|protected|internal|abstract|final|sealed|enum|open|annotation|override|vararg|typealias|expect|actual|yield|out|in|lateinit)\\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":"#keyword"},{"begin":"\\b((?:(?:data|value)\\s+)?class|(?:(?:fun|value)\\s+)?interface)\\b\\s+(\\w+)","end":"(?=\\(|\\{|$)","patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#types"}],"beginCaptures":{"1":{"name":"storage.modifier.kotlin"},"2":{"name":"entity.name.class.kotlin"}}},{"name":"meta.parameters.kotlin","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comments"},{"include":"#class-parameter-list"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"},"1":{"name":"punctuation.definition.parameters.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"},"1":{"name":"punctuation.definition.parameters.end.kotlin"}}},{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]}],"repository":{"class-parameter-list":{"patterns":[{"include":"#generic"},{"include":"#annotations"},{"include":"#keywords"},{"match":"(\\w+)\\s*(:)","captures":{"1":{"name":"variable.parameter.function.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"}}},{"name":"punctuation.seperator.kotlin","match":","},{"include":"#types"}]}}},"code":{"patterns":[{"include":"#comments"},{"include":"#comments-inline"},{"include":"#annotations"},{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"#class-literal"},{"include":"#literal-functions"},{"include":"#literals"},{"include":"#keywords"},{"include":"#types"},{"include":"#operators"},{"include":"#constants"},{"include":"#punctuations"},{"include":"#builtin-functions"}]},"comments":{"patterns":[{"include":"#inline"},{"name":"comment.block.kotlin","begin":"/\\*","end":"\\*/","patterns":[{"include":"#nested"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.kotlin"}}}],"repository":{"inline":{"patterns":[{"match":"(//).*$\\n?","captures":{"0":{"name":"punctuation.definition.comment.kotlin"},"1":{"name":"comment.line.double-slash.kotlin"}}}]},"nested":{"patterns":[{"begin":"/\\*","end":"\\*/","patterns":[{"include":"#nested"}]}]}}},"constants":{"patterns":[{"name":"constant.language.kotlin","match":"\\b(class)\\b"},{"name":"variable.language.kotlin","match":"\\b(this|super)\\b"}]},"generic":{"patterns":[{"begin":"(?=\\\u003c(?:[A-Z_]|\\*|in|out))","end":"(?\u003c=\\\u003e)(?!\\\u003e)","patterns":[{"name":"punctuation.bracket.angle.begin.kotlin","match":"\u003c"},{"name":"punctuation.bracket.angle.end.kotlin","match":"\u003e"},{"name":"entity.name.type.generic.wildcard.kotlin","match":"\\*"},{"include":"#generic-parameter-list"},{"name":"punctuation.seperator.kotlin","match":","}]}],"repository":{"generic-parameter-list":{"patterns":[{"include":"#annotations"},{"name":"storage.modifier.generic.variance.kotlin","match":"\\b(in|out)\\b"},{"include":"#built-in-types"},{"include":"#class-ident"},{"include":"#generic"},{"include":"#operators"}]}}},"imports":{"patterns":[{"name":"meta.import.kotlin","match":"^\\s*(import)\\s+((?:[`][^$`]+[`]|[^` $.]+)(?:\\.(?:[`][^$`]+[`]|[^` $.]+))*)(?:\\s+(as)\\s+([`][^$`]+[`]|[^` $.]+))?$","captures":{"1":{"name":"keyword.other.import.kotlin"},"2":{"name":"storage.modifier.import.kotlin"},"3":{"name":"keyword.other.kotlin"},"4":{"name":"entity.name.type"}}}]},"keywords":{"patterns":[{"name":"keyword.operator.kotlin","match":"(\\!in|\\!is|as\\?)\\b"},{"name":"keyword.operator.kotlin","match":"\\b(in|is|as|assert)\\b"},{"name":"storage.type.kotlin","match":"\\b(val|var)\\b"},{"name":"punctuation.definition.variable.kotlin","match":"\\b(\\_)\\b"},{"name":"storage.type.kotlin","match":"\\b(tailrec|operator|infix|typealias|reified|copy(?=\\s+fun|\\s+var))\\b"},{"name":"storage.modifier.kotlin","match":"\\b(out|in|yield|typealias|override)\\b"},{"name":"storage.modifier.kotlin","match":"\\b(?\u003c![+-/%*=(,]\\s)(inline|external|public|private|protected|internal|abstract|final|sealed|enum|open|annotation|expect|actual|const|lateinit)(?=\\s(?!(?:\\s*)(?:[+-/%*=:).,]|$)))\\b"},{"name":"storage.modifier.kotlin","match":"\\b(vararg(?=\\s+\\w+:))\\b"},{"name":"storage.modifier.kotlin","match":"\\b(suspend(?!\\s*[\\(]?\\s*\\{))\\b"},{"name":"keyword.control.catch-exception.kotlin","match":"\\b(try|catch|finally|throw)\\b"},{"name":"keyword.control.conditional.kotlin","match":"\\b(if|else|when)\\b"},{"name":"keyword.control.kotlin","match":"\\b(while|for|do|return|break|continue)\\b"},{"name":"entity.name.function.constructor","match":"\\b(constructor|init)\\b"},{"name":"storage.type.kotlin","match":"\\b(companion|object)\\b"}]},"literal-functions":{"patterns":[{"name":"meta.function.kotlin","begin":"(?=\\b(?:fun)\\b)","end":"(?\u003c=$|=|\\})","patterns":[{"include":"#keywords"},{"begin":"\\bfun\\b","end":"(?=\\()","patterns":[{"include":"#generic"},{"match":"(`[^`]*`)","captures":{"0":{"name":"entity.name.function.kotlin"},"1":{"name":"string.quoted.backtick.kotlin"}}},{"match":"([\\.\u003c\\?\u003e\\w]+\\.)?(\\w+)","captures":{"2":{"name":"entity.name.function.kotlin"}}},{"include":"#types"}],"beginCaptures":{"0":{"name":"keyword.other.kotlin"}}},{"name":"meta.parameters.kotlin","begin":"(\\()","end":"(\\))","patterns":[{"include":"#function-parameter-list"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"},"1":{"name":"punctuation.definition.parameters.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"},"1":{"name":"punctuation.definition.parameters.end.kotlin"}}},{"name":"keyword.operator.single-expression.kotlin","match":"="},{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}},{"include":"#return-type"}]}],"repository":{"function-parameter-list":{"patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#keywords"},{"match":"(\\w+)\\s*(:)","captures":{"1":{"name":"variable.parameter.function.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"}}},{"name":"punctuation.seperator.kotlin","match":","},{"include":"#types"}]},"return-type":{"patterns":[{"name":"meta.return.type.kotlin","begin":"(?\u003c=\\))\\s*(:)(?=\\s*\\S)","end":"(?\u003c![:|\u0026])(?=$|^|[={};,]|//)","patterns":[{"include":"#types"}]}]}}},"literals":{"patterns":[{"include":"#boolean"},{"include":"#numeric"},{"include":"#string"},{"include":"#null"}],"repository":{"boolean":{"patterns":[{"name":"constant.language.boolean.kotlin","match":"\\b(true|false)\\b"}]},"null":{"patterns":[{"name":"constant.language.null.kotlin","match":"\\b(null)\\b"}]},"numeric":{"patterns":[{"name":"constant.numeric.hex.kotlin","match":"\\b(0(x|X)[0-9A-Fa-f_]*)([LuU]|[uU]L)?\\b"},{"name":"constant.numeric.binary.kotlin","match":"\\b(0(b|B)[0-1_]*)([LuU]|[uU]L)?\\b"},{"name":"constant.numeric.float.kotlin","match":"\\b([0-9][0-9_]*\\.[0-9][0-9_]*[fFL]?)\\b"},{"name":"constant.numeric.integer.kotlin","match":"\\b([0-9][0-9_]*([fFLuU]|[uU]L)?)\\b"}]},"string":{"patterns":[{"name":"string.quoted.triple.kotlin","begin":"\"\"\"","end":"\"\"\"(?!\")","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.kotlin"}}},{"name":"string.quoted.double.kotlin","begin":"(?!')\"","end":"\"","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.kotlin"}}},{"name":"string.quoted.single.kotlin","begin":"'","end":"'","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.kotlin"}}}],"repository":{"string-content":{"patterns":[{"name":"constant.character.escape.kotlin","match":"\\\\[0\\\\tnr\"']"},{"name":"constant.character.escape.unicode.kotlin","match":"\\\\(x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|.)"},{"name":"entity.string.template.element.kotlin","begin":"\\$(\\{)","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"1":{"name":"punctuation.section.block.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.kotlin"}}},{"name":"entity.string.template.element.kotlin","match":"\\$[a-zA-Z_]\\w*"}]}}}}},"object-literal":{"patterns":[{"name":"meta.class.kotlin","begin":"(?=\\b(?:object)\\b((\\s*:\\s*)|\\s+)\\w+)","end":"(?=\\}|$)","patterns":[{"include":"#annotation"},{"begin":"\\b(object)\\b\\s*(:)\\s*(\\w+)","end":"(?=\\(|\\{|$)","patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#types"}],"beginCaptures":{"1":{"name":"storage.modifier.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"},"3":{"name":"entity.name.class.kotlin"}}},{"name":"meta.parameters.kotlin","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comments"},{"include":"#class-parameter-list"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"},"1":{"name":"punctuation.definition.parameters.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"},"1":{"name":"punctuation.definition.parameters.end.kotlin"}}},{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]}],"repository":{"class-parameter-list":{"patterns":[{"include":"#annotations"},{"include":"#keywords"},{"match":"(\\w+)\\s*(:)","captures":{"1":{"name":"variable.parameter.function.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"}}},{"name":"punctuation.seperator.kotlin","match":","},{"include":"#types"}]}}},"operators":{"patterns":[{"name":"keyword.operator.bitwise.kotlin","match":"\\b(and|or|not|inv)\\b"},{"name":"keyword.operator.comparison.kotlin","match":"(==|!=|===|!==|\u003c=|\u003e=|\u003c|\u003e)"},{"name":"keyword.operator.assignment.kotlin","match":"(=)"},{"name":"keyword.operator.declaration.kotlin","match":"(:(?!:))"},{"name":"keyword.operator.elvis.kotlin","match":"(\\?:)"},{"name":"keyword.operator.increment-decrement.kotlin","match":"(\\-\\-|\\+\\+)"},{"name":"keyword.operator.arithmetic.kotlin","match":"(\\-|\\+|\\*|\\/|%)"},{"name":"keyword.operator.arithmetic.assign.kotlin","match":"(\\+\\=|\\-\\=|\\*\\=|\\/\\=)"},{"name":"keyword.operator.logical.kotlin","match":"(\\!|\\\u0026\\\u0026|\\|\\|)"},{"name":"keyword.operator.range.kotlin","match":"(\\.\\.)"}]},"package":{"patterns":[{"match":"^\\s*(package)\\b(?:\\s*([^ ;$]+)\\s*)?","captures":{"1":{"name":"keyword.other.kotlin"},"2":{"name":"entity.name.package.kotlin"}}}]},"parens":{"patterns":[{"name":"meta.group.kotlin","begin":"\\(","end":"\\)","patterns":[{"include":"#keyword-punctuation"},{"include":"#parameters"},{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]},"punctuations":{"patterns":[{"name":"punctuation.accessor.reference.kotlin","match":"::"},{"name":"punctuation.accessor.dot.safe.kotlin","match":"\\?\\."},{"name":"punctuation.accessor.dot.kotlin","match":"(?\u003c!\\?)\\."},{"name":"punctuation.seperator.kotlin","match":"\\,"},{"name":"punctuation.terminator.kotlin","match":"\\;"}]},"types":{"patterns":[{"include":"#built-in-types"},{"include":"#class-ident"},{"include":"#generic"},{"match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(-\u003e)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])","captures":{"1":{"name":"keyword.operator.type.function.kotlin"}}},{"name":"keyword.operator.type.nullable.kotlin","match":"\\?(?!\\.)"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#types"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}],"repository":{"built-in-types":{"patterns":[{"name":"support.class.kotlin","match":"\\b(Nothing|Any|Unit|String|CharSequence|Int|Boolean|Char|Long|Double|Float|Short|Byte|UByte|UShort|UInt|ULong|Array|List|Map|Set|dynamic)\\b(\\?)?"},{"name":"support.class.kotlin","match":"\\b(IntArray|BooleanArray|CharArray|LongArray|DoubleArray|FloatArray|ShortArray|ByteArray|UByteArray|UShortArray|UIntArray|ULongArray)\\b(\\?)?"}]}}}}}
@@ -1 +1 @@
1
- {"name":"Lean","scopeName":"source.lean","patterns":[{"include":"#comments"},{"name":"meta.definitioncommand.lean","begin":"\\b(?\u003c!\\.)(inductive|coinductive|structure|theorem|abbreviation|lemma|definition|def|class)\\b\\s+((\\{)([^}]*)(\\}))?","end":"(?=\\bwith\\b|\\bextends\\b|:=|\\|)","patterns":[{"include":"#comments"},{"include":"#definitionName"},{"match":","},{"include":"#binders"},{"contentName":"meta.type.lean","begin":":(?!=)","end":"(?=\\bwith\\b|\\bextends\\b|:=|\\|)","patterns":[{"include":"#expressions"}]}],"beginCaptures":{"1":{"name":"keyword.other.definitioncommand.lean"},"2":{"name":"meta.binder.universe.lean"},"3":{"name":"punctuation.definition.binder.universe.begin.lean"},"4":{"name":"variable.other.constant.universe.lean"},"5":{"name":"punctuation.definition.binder.universe.end.lean"}}},{"name":"meta.definitioncommand.lean","begin":"\\b(?\u003c!\\.)(example|instance)\\b\\s+","end":"(?=:=|\\|)","patterns":[{"include":"#comments"},{"include":"#definitionName"},{"match":","},{"include":"#binders"},{"contentName":"meta.type.lean","begin":":(?!=)","end":"(?=:=|\\|)","patterns":[{"include":"#expressions"}]}],"beginCaptures":{"1":{"name":"keyword.other.definitioncommand.lean"}}},{"name":"meta.definitioncommand.lean","begin":"\\b(?\u003c!\\.)(axiom|axioms|constant)\\b\\s+(\\{[^}]*\\})?","end":"$","patterns":[{"include":"#comments"},{"include":"#definitionName"},{"match":","},{"include":"#binders"},{"contentName":"meta.type.lean","begin":":(?!=)","end":"$","patterns":[{"include":"#expressions"}]}],"beginCaptures":{"1":{"name":"keyword.other.definitioncommand.lean"}}},{"name":"storage.modifier.lean","begin":"\\battribute\\b\\s*\\[","end":"\\]","patterns":[{"include":"#expressions"}]},{"name":"storage.modifier.lean","begin":"@\\[","end":"\\]","patterns":[{"include":"#expressions"}]},{"name":"keyword.control.definition.modifier.lean","match":"\\b(?\u003c!\\.)(private|meta|mutual|protected|noncomputable)\\b"},{"name":"keyword.other.command.lean","match":"#print\\s+(def|definition|inductive|instance|structure|axiom|axioms|class)\\b"},{"name":"keyword.other.command.lean","match":"#(print|eval|reduce|check|help|exit|find|where)\\b"},{"name":"keyword.other.lean","match":"\\b(?\u003c!\\.)(import|export|prelude|theory|definition|def|abbreviation|instance|renaming|hiding|exposing|constant|lemma|theorem|example|open|axiom|inductive|coinductive|with|structure|universe|universes|alias|precedence|reserve|postfix|prefix|infix|infixl|infixr|notation|namespace|section|local|set_option|extends|include|omit|class|classes|instances|raw|run_cmd|restate_axiom)(?!\\.)\\b"},{"begin":"\\b(?\u003c!\\.)(variable|variables|parameter|parameters|constants)(?!\\.)\\b","end":"(?!$|[\\s\\n]|\\(|\\[|⦃|\\{|--|/-)","patterns":[{"include":"#comments"},{"include":"#binders"}],"beginCaptures":{"1":{"name":"keyword.other.lean"}}},{"include":"#expressions"}],"repository":{"abbreviatedBinders":{"patterns":[{"include":"#binders"},{"include":"#binderName"},{"contentName":"meta.type.lean","begin":":","end":"(?=\\,)","patterns":[{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.separator.type.lean"}}}]},"binderName":{"patterns":[{"name":"variable.parameter.lean","match":"\\b[^:«»\\(\\)\\{\\}⦃⦄,[:space:]=→λ∀?][^:«»\\(\\)\\{\\}⦃⦄,[:space:]]*"},{"contentName":"variable.parameter.lean","begin":"«","end":"»"}]},"binders":{"patterns":[{"name":"meta.binder.explicit","begin":"\\(","end":"\\)","patterns":[{"contentName":"meta.type.lean","begin":":","end":"(?=\\))","patterns":[{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.separator.type.lean"}}},{"include":"#binderName"}],"beginCaptures":{"0":{"name":"punctuation.definition.binder.explicit.begin.lean"}},"endCaptures":{"0":{"name":"punctuation.definition.binder.explicit.end.lean"}}},{"name":"meta.binder.implicit","begin":"\\{","end":"\\}","patterns":[{"contentName":"meta.type.lean","begin":":","end":"(?=\\})","patterns":[{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.separator.type.lean"}}},{"include":"#binderName"}],"beginCaptures":{"0":{"name":"punctuation.definition.binder.implicit.begin.lean"}},"endCaptures":{"0":{"name":"punctuation.definition.binder.implicit.end.lean"}}},{"name":"meta.binder.semiimplicit","begin":"⦃|\\{\\{","end":"⦄|\\}\\}","patterns":[{"contentName":"meta.type.lean","begin":":","end":"(?=⦄|\\}\\})","patterns":[{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.separator.type.lean"}}},{"include":"#binderName"}],"beginCaptures":{"0":{"name":"punctuation.definition.binder.semiimplicit.begin.lean"}},"endCaptures":{"0":{"name":"punctuation.definition.binder.semiimplicit.end.lean"}}},{"name":"meta.binder.typeclass","begin":"\\[","end":"\\]","patterns":[{"begin":"(?\u003c=\\[)(?=[^\\]]*:)","end":":","patterns":[{"include":"#binderName"}],"endCaptures":{"0":{"name":"punctuation.separator.type.lean"}}},{"contentName":"meta.type.lean","end":"(?!\\G)","patterns":[{"include":"#expressions"}]}],"beginCaptures":{"0":{"name":"punctuation.definition.binder.typeclass.begin.lean"}},"endCaptures":{"0":{"name":"punctuation.definition.binder.typeclass.end.lean"}}}]},"blockComment":{"name":"comment.block.lean","begin":"/-","end":"-/","patterns":[{"include":"source.lean.markdown"},{"include":"#blockComment"}]},"comments":{"patterns":[{"include":"#dashComment"},{"include":"#docComment"},{"include":"#stringBlock"},{"include":"#modDocComment"},{"include":"#blockComment"}]},"dashComment":{"name":"comment.line.double-dash.lean","begin":"(--)","end":"$","patterns":[{"include":"source.lean.markdown"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.lean"}}},"definitionName":{"patterns":[{"name":"entity.name.function.lean","match":"\\b[^:«»\\(\\)\\{\\}⦃⦄,[:space:]=→λ∀?][^:«»\\(\\)\\{\\}⦃⦄,[:space:]]*"},{"contentName":"entity.name.function.lean","begin":"«","end":"»"}]},"docComment":{"name":"comment.block.documentation.lean","begin":"/--","end":"-/","patterns":[{"include":"source.lean.markdown"},{"include":"#blockComment"}]},"expressions":{"patterns":[{"name":"storage.type.lean","match":"\\b(Prop|Type|Sort)\\b"},{"name":"invalid.illegal.lean","match":"\\b(sorry)\\b"},{"contentName":"entity.name.lean","begin":"«","end":"»"},{"name":"keyword.control.lean","match":"\\b(?\u003c!\\.)(if|then|else)\\b"},{"name":"string.quoted.double.lean","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.lean","match":"\\\\[\\\\\"nt']"},{"name":"constant.character.escape.lean","match":"\\\\x[0-9A-Fa-f][0-9A-Fa-f]"},{"name":"constant.character.escape.lean","match":"\\\\u[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f]"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lean"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lean"}}},{"name":"string.quoted.single.lean","match":"'[^\\\\']'"},{"name":"string.quoted.single.lean","match":"'(\\\\(x..|u....|.))'","captures":{"1":{"name":"constant.character.escape.lean"}}},{"name":"entity.name.lean","match":"`+[^\\[(]\\S+"},{"name":"constant.numeric.lean","match":"\\b([0-9]+|0([xX][0-9a-fA-F]+))\\b"},{"begin":"\\b(?\u003c!\\.)(fun|forall|assume|exists|λ)(?!\\.)\\b","end":",","patterns":[{"include":"#comments"},{"include":"#abbreviatedBinders"}],"beginCaptures":{"0":{"name":"keyword.other.lean"}}},{"begin":"(Π|∀|∃|∃!|Σ)","end":",","patterns":[{"include":"#comments"},{"include":"#abbreviatedBinders"}]},{"name":"keyword.other.lean","match":"\\b(?\u003c!\\.)(calc|have|this|match|do|suffices|show|by|in|at|let|from|obtain|haveI)(?!\\.)\\b"},{"name":"keyword.other.lean","match":"\\b(?\u003c!\\.)(begin|end|using)(?!\\.)\\b"},{"name":"meta.parens","begin":"\\(","end":"\\)","patterns":[{"contentName":"meta.type.lean","begin":":","end":"(?=\\))","patterns":[{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.separator.type.lean"}}},{"include":"#expressions"}]},{"include":"#dashComment"},{"include":"#blockComment"},{"include":"#stringBlock"}]},"modDocComment":{"name":"comment.block.documentation.lean","begin":"/-!","end":"-/","patterns":[{"include":"source.lean.markdown"},{"include":"#blockComment"}]},"stringBlock":{"name":"comment.block.string.lean","begin":"/-\"","end":"\"-/","patterns":[{"include":"source.lean.markdown"},{"include":"#blockComment"}]}}}
1
+ {"name":"Lean","scopeName":"source.lean","patterns":[{"include":"#comments"},{"name":"meta.definitioncommand.lean","begin":"\\b(?\u003c!\\.)(inductive|coinductive|structure|theorem|abbreviation|lemma|definition|def|class)\\b\\s+((\\{)([^}]*)(\\}))?","end":"(?=\\bwith\\b|\\bextends\\b|:|\\||\\.|\\(|\\[|\\{|⦃)","patterns":[{"include":"#comments"},{"include":"#definitionName"},{"match":","}],"beginCaptures":{"1":{"name":"keyword.other.definitioncommand.lean"},"2":{"name":"meta.binder.universe.lean"},"3":{"name":"punctuation.definition.binder.universe.begin.lean"},"4":{"name":"variable.other.constant.universe.lean"},"5":{"name":"punctuation.definition.binder.universe.end.lean"}}},{"name":"meta.definitioncommand.lean","begin":"\\b(?\u003c!\\.)(example|instance)\\b\\s+","end":"(?=:|\\||\\.|\\(|\\[|\\{|⦃)","patterns":[{"include":"#comments"},{"include":"#definitionName"},{"match":","}],"beginCaptures":{"1":{"name":"keyword.other.definitioncommand.lean"}}},{"name":"meta.definitioncommand.lean","begin":"\\b(?\u003c!\\.)(axiom|axioms|constant)\\b\\s+(\\{[^}]*\\})?","end":"($|(?=:|\\||\\.|\\(|\\[|\\{|⦃))","patterns":[{"include":"#comments"},{"include":"#definitionName"},{"match":","}],"beginCaptures":{"1":{"name":"keyword.other.definitioncommand.lean"}}},{"name":"storage.modifier.lean","begin":"\\battribute\\b\\s*\\[","end":"\\]","patterns":[{"include":"#expressions"}]},{"name":"storage.modifier.lean","begin":"@\\[","end":"\\]","patterns":[{"include":"#expressions"}]},{"name":"keyword.control.definition.modifier.lean","match":"\\b(?\u003c!\\.)(private|meta|mutual|protected|noncomputable)\\b"},{"name":"keyword.other.command.lean","match":"#print\\s+(def|definition|inductive|instance|structure|axiom|axioms|class)\\b"},{"name":"keyword.other.command.lean","match":"#(print|eval|reduce|check|help|exit|find|where)\\b"},{"name":"keyword.other.lean","match":"\\b(?\u003c!\\.)(import|export|prelude|theory|definition|def|abbreviation|instance|renaming|hiding|exposing|constant|lemma|theorem|example|open|axiom|inductive|coinductive|with|structure|universe|universes|alias|precedence|reserve|postfix|prefix|infix|infixl|infixr|notation|namespace|section|local|set_option|extends|include|omit|class|classes|instances|raw|run_cmd|restate_axiom)(?!\\.)\\b"},{"name":"keyword.other.lean","match":"\\b(?\u003c!\\.)(variable|variables|parameter|parameters|constants)(?!\\.)\\b"},{"include":"#expressions"}],"repository":{"binderName":{"patterns":[{"name":"variable.parameter.lean","match":"(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟](?:(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟0-9'ⁿ-₉ₐ-ₜᵢ-ᵪ])*"},{"contentName":"variable.parameter.lean","begin":"«","end":"»"}]},"blockComment":{"name":"comment.block.lean","begin":"/-","end":"-/","patterns":[{"include":"source.lean.markdown"},{"include":"#blockComment"}]},"comments":{"patterns":[{"include":"#dashComment"},{"include":"#docComment"},{"include":"#stringBlock"},{"include":"#modDocComment"},{"include":"#blockComment"}]},"dashComment":{"name":"comment.line.double-dash.lean","begin":"(--)","end":"$","patterns":[{"include":"source.lean.markdown"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.lean"}}},"definitionName":{"patterns":[{"name":"entity.name.function.lean","match":"(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟](?:(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟0-9'ⁿ-₉ₐ-ₜᵢ-ᵪ])*(\\.(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟](?:(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟0-9'ⁿ-₉ₐ-ₜᵢ-ᵪ])*)*"},{"contentName":"entity.name.function.lean","begin":"«","end":"»"}]},"docComment":{"name":"comment.block.documentation.lean","begin":"/--","end":"-/","patterns":[{"include":"source.lean.markdown"},{"include":"#blockComment"}]},"expressions":{"patterns":[{"name":"storage.type.lean","match":"\\b(Prop|Type|Sort)\\b"},{"name":"invalid.illegal.lean","match":"\\b(sorry)\\b"},{"contentName":"entity.name.lean","begin":"«","end":"»"},{"name":"keyword.control.lean","match":"\\b(?\u003c!\\.)(if|then|else)\\b"},{"name":"string.quoted.double.lean","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.lean","match":"\\\\[\\\\\"nt']"},{"name":"constant.character.escape.lean","match":"\\\\x[0-9A-Fa-f][0-9A-Fa-f]"},{"name":"constant.character.escape.lean","match":"\\\\u[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f]"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lean"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lean"}}},{"name":"string.quoted.single.lean","match":"'[^\\\\']'"},{"name":"string.quoted.single.lean","match":"'(\\\\(x..|u....|.))'","captures":{"1":{"name":"constant.character.escape.lean"}}},{"name":"entity.name.lean","match":"`+(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟](?:(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟0-9'ⁿ-₉ₐ-ₜᵢ-ᵪ])*"},{"name":"constant.numeric.lean","match":"\\b([0-9]+|0([xX][0-9a-fA-F]+))\\b"},{"name":"keyword.other.lean","match":"\\b(?\u003c!\\.)(calc|have|this|match|do|suffices|show|by|in|at|let|from|obtain|haveI)(?!\\.)\\b"},{"name":"keyword.other.lean","match":"\\b(?\u003c!\\.)λ"},{"name":"keyword.other.lean","match":"\\b(?\u003c!\\.)(begin|end|using)(?!\\.)\\b"},{"name":"meta.parens","begin":"\\(","end":"\\)","patterns":[{"contentName":"meta.type.lean","begin":":","end":"(?=\\))","patterns":[{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.separator.type.lean"}}},{"include":"#expressions"}]},{"include":"#dashComment"},{"include":"#blockComment"},{"include":"#stringBlock"}]},"modDocComment":{"name":"comment.block.documentation.lean","begin":"/-!","end":"-/","patterns":[{"include":"source.lean.markdown"},{"include":"#blockComment"}]},"stringBlock":{"name":"comment.block.string.lean","begin":"/-\"","end":"\"-/","patterns":[{"include":"source.lean.markdown"},{"include":"#blockComment"}]}}}
@@ -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|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|MatrixDegreeExpression|MatrixExpression|MENU|META|MethodFunction|MethodFunctionBinary|MethodFunctionSingle|MethodFunctionWithOptions|Minus|Module|ModuleMap|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|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|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|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|infoHelp|input|insert|installAssignmentMethod|installedPackages|installHilbertFunction|installMethod|installMinprimes|installPackage|instance|instances|integralClosure|integrate|intersect|intersectInP|inverse|inversePermutation|inverseSystem|irreducibleCharacteristicSeries|irreducibleDecomposition|isAffineRing|isANumber|isBorel|isCanceled|isCommutative|isConstant|isDirectory|isDirectSum|isField|isFinite|isFinitePrimeField|isFreeModule|isGlobalSymbol|isHomogeneous|isIdeal|isInfinite|isInjective|isInputFile|isIsomorphism|isLinearType|isListener|isLLL|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|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|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|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|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|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|tex|texMath|times|toAbsolutePath|toCC|toDividedPowers|toDual|toExternalString|toField|toList|toLower|top|topCoefficients|topComponents|toRR|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|AlgebraicSplines|Algorithm|Alignment|AllCodimensions|allowableThreads|AnalyzeSheafOnP1|applicationDirectorySuffix|argument|Ascending|Authors|AuxiliaryFiles|backtrace|Bareiss|BaseFunction|baseRings|BaseRow|BasisElementLimit|Bayer|BeforePrint|BeginningMacaulay2|Benchmark|Bertini|BGG|BIBasis|Binary|Binomial|BinomialEdgeIdeals|Binomials|BKZ|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|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|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|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|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|Subnodes|SubringLimit|subscript|Sugarless|SumsOfSquares|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":{"blocks":{"patterns":[{"name":"meta.for.matlab","begin":"\\s*(?:^|[\\s,;])(for)\\b","end":"\\s*(?:^|[\\s,;])(end)\\b","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.for.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.for.matlab"}}},{"name":"meta.if.matlab","begin":"\\s*(?:^|[\\s,;])(if)\\b","end":"\\s*(?:^|[\\s,;])(end)\\b","patterns":[{"name":"meta.elseif.matlab","match":"(\\s*)(?:^|[\\s,;])(elseif)\\b(.*)$\\n?","end":"^","captures":{"2":{"name":"keyword.control.elseif.matlab"},"3":{"patterns":[{"include":"$self"}]}}},{"name":"meta.else.matlab","match":"(\\s*)(?:^|[\\s,;])(else)\\b(.*)?$\\n?","end":"^","captures":{"2":{"name":"keyword.control.else.matlab"},"3":{"patterns":[{"include":"$self"}]}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.if.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.if.matlab"},"2":{"patterns":[{"include":"$self"}]}}},{"name":"meta.parfor.matlab","begin":"\\s*(?:^|[\\s,;])(parfor)\\b","end":"\\s*(?:^|[\\s,;])(end)\\b","patterns":[{"name":"meta.parfor-quantity.matlab","begin":"\\G(?!$)","end":"$\\n?","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.for.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.for.matlab"}}},{"name":"meta.spmd.matlab","begin":"\\s*(?:^|[\\s,;])(spmd)\\b","end":"\\s*(?:^|[\\s,;])(end)\\b","patterns":[{"name":"meta.spmd-statement.matlab","begin":"\\G(?!$)","end":"$\\n?","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.spmd.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.spmd.matlab"}}},{"name":"meta.switch.matlab","begin":"\\s*(?:^|[\\s,;])(switch)\\b","end":"\\s*(?:^|[\\s,;])(end)\\b","patterns":[{"name":"meta.case.matlab","match":"(\\s*)(?:^|[\\s,;])(case)\\b(.*)$\\n?","end":"^","captures":{"2":{"name":"keyword.control.case.matlab"},"3":{"patterns":[{"include":"$self"}]}}},{"name":"meta.otherwise.matlab","match":"(\\s*)(?:^|[\\s,;])(otherwise)\\b(.*)?$\\n?","end":"^","captures":{"2":{"name":"keyword.control.otherwise.matlab"},"3":{"patterns":[{"include":"$self"}]}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.switch.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.switch.matlab"}}},{"name":"meta.try.matlab","begin":"\\s*(?:^|[\\s,;])(try)\\b","end":"\\s*(?:^|[\\s,;])(end)\\b","patterns":[{"name":"meta.catch.matlab","match":"(\\s*)(?:^|[\\s,;])(catch)\\b(.*)?$\\n?","end":"^","captures":{"2":{"name":"keyword.control.catch.matlab"},"3":{"patterns":[{"include":"$self"}]}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.try.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.try.matlab"}}},{"name":"meta.while.matlab","begin":"\\s*(?:^|[\\s,;])(while)\\b","end":"\\s*(?:^|[\\s,;])(end)\\b","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.while.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.while.matlab"}}}]},"braced_validator_list":{"begin":"\\s*({)\\s*","end":"(})","patterns":[{"include":"#braced_validator_list"},{"include":"#validator_strings"},{"include":"#line_continuation"},{"match":"([^{}}'\"\\.]+)","captures":{"1":{"name":"storage.type.matlab"}}},{"name":"storage.type.matlab","match":"\\."}],"beginCaptures":{"1":{"name":"storage.type.matlab"}},"endCaptures":{"1":{"name":"storage.type.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\t# Leading whitespace\n\t\t\t\t\t\t\t(classdef)\n\t\t\t\t\t\t\t\\b\\s*\n\t\t\t\t\t\t\t(.*)\n\t\t\t\t\t","end":"\\s*(?:^|[\\s,;])(end)\\b","patterns":[{"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\t","end":"\\s*(?:^|[\\s,;])(end)\\b","patterns":[{"include":"#validators"},{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.properties.matlab"},"3":{"patterns":[{"name":"variable.parameter.properties.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"=\\s*","end":",|(?=\\))","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"constant.language.access.matlab","match":"public|protected|private"}]}]}},"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\t","end":"\\s*(?:^|[\\s,;])(end)\\b","patterns":[{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.methods.matlab"},"3":{"patterns":[{"name":"variable.parameter.methods.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"=\\s*","end":",|(?=\\))","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"constant.language.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\t","end":"\\s*(?:^|[\\s,;])(end)\\b","patterns":[{"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":"constant.language.access.matlab","match":"public|protected|private"}]}]}},"endCaptures":{"1":{"name":"keyword.control.end.events.matlab"}}},{"name":"meta.enumeration.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\t","end":"\\s*(?:^|[\\s,;])(end)\\b","patterns":[{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.enumeration.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.enumeration.matlab"}}},{"include":"$self"}],"beginCaptures":{"2":{"name":"storage.type.class.matlab"},"3":{"patterns":[{"match":"(?x)\n\t\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\t \\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t([a-zA-Z][a-zA-Z0-9_]*)\t\t\t# Class name\n\t\t\t\t\t\t\t\t\t\t\t(?:\t\t\t\t\t\t\t\t# Optional inheritance\n\t\t\t\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t\t\t\t(\u003c)\n\t\t\t\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t\t\t\t([^%]*)\n\t\t\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\\s*($|(?=(%|...)).*)\n\t\t\t\t\t\t\t\t\t","captures":{"1":{"patterns":[{"name":"variable.parameter.class.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"=\\s*","end":",|(?=\\))","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"include":"#string"}]}]},"2":{"name":"meta.class-declaration.matlab"},"3":{"name":"entity.name.section.class.matlab"},"4":{"name":"keyword.operator.other.matlab"},"5":{"patterns":[{"name":"entity.other.inherited-class.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*(\\.[a-zA-Z][a-zA-Z0-9_]*)*"},{"name":"keyword.operator.other.matlab","match":"\u0026"}]},"6":{"patterns":[{"include":"$self"}]}}}]}},"endCaptures":{"1":{"name":"keyword.control.end.class.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":"variable.function.command.matlab","patterns":[{"include":"$self"}]},"4":{"name":"string.unquoted.matlab"}}},"comment_block":{"name":"comment.block.percentage.matlab","begin":"(^[\\s]*)%\\{[^\\n\\S]*+\\n","end":"^[\\s]*%\\}[^\\n\\S]*+(?:\\n|$)","patterns":[{"include":"#comment_block"},{"match":"^[^\\n]*\\n"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.matlab"}}},"comments":{"patterns":[{"begin":"(^[ \\t]+)?(?=%%\\s)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-percentage.matlab","begin":"%%","end":"\\n","patterns":[{"contentName":"meta.cell.matlab","begin":"\\G[^\\S\\n]*(?![\\n\\s])","end":"(?=\\n)"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.matlab"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"}}},{"include":"#comment_block"},{"begin":"(^[ \\t]+)?(?=%)","end":"(?!\\G)","patterns":[{"name":"comment.line.percentage.matlab","begin":"%","end":"\\n","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":{"name":"constant.language.matlab","match":"(?\u003c!\\.)\\b(eps|false|Inf|inf|intmax|intmin|namelengthmax|NaN|nan|on|off|realmax|realmin|true|pi)\\b"},"control_statements":{"name":"meta.control.matlab","match":"\\s*(?:^|[\\s,;])(break|continue|return)\\b","captures":{"1":{"name":"keyword.control.matlab"}}},"curly_brackets":{"begin":"\\{","end":"\\}","patterns":[{"include":"#end_in_parens"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}]},"end_in_parens":{"name":"keyword.operator.symbols.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\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\t\t(?:\t\t\t\t\t\t\t\t\t\t\t\t\t# Optional\n\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 | ([a-zA-Z][a-zA-Z0-9_]*)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\\s* = \\s*\n\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t([a-zA-Z][a-zA-Z0-9_]*(\\.[a-zA-Z][a-zA-Z0-9_]*)*)\t# Function name\n\t\t\t\t\t\t\t\\s*\t\t\t\t\t\t\t\t\t\t\t\t\t# Trailing space\n\t\t\t\t\t\t","end":"\\s*(?:^|[\\s,;])(end)\\b(\\s*\\n)?","patterns":[{"name":"meta.arguments.function.matlab","begin":"\\G\\(","end":"\\)","patterns":[{"include":"#line_continuation"},{"name":"variable.parameter.input.matlab","match":"\\w+"}]},{"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*(?:^|[\\s,;])(end)\\b","patterns":[{"include":"#validators"},{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.arguments.matlab"},"3":{"patterns":[{"name":"variable.parameter.arguments.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"}]}},"endCaptures":{"1":{"name":"keyword.control.end.arguments.matlab"}}},{"include":"$self"}],"beginCaptures":{"2":{"name":"storage.type.function.matlab"},"3":{"name":"punctuation.definition.arguments.begin.matlab"},"4":{"patterns":[{"name":"variable.parameter.output.matlab","match":"\\w+"}]},"5":{"name":"punctuation.definition.arguments.end.matlab"},"6":{"name":"variable.parameter.output.function.matlab"},"7":{"name":"entity.name.function.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.function.matlab"}}}]},"global_persistent":{"name":"meta.globalpersistent.matlab","match":"^\\s*(global|persistent)\\b","captures":{"1":{"name":"keyword.control.globalpersistent.matlab"}}},"indexing_curly_brackets":{"begin":"([a-zA-Z][a-zA-Z0-9_\\.]*\\s*)\\{","end":"(\\}|(?\u003c!\\.\\.\\.).\\n)","patterns":[{"include":"#end_in_parens"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"patterns":[{"include":"$self"}]}}},"line_continuation":{"name":"meta.linecontinuation.matlab","match":"(\\.\\.\\.)(.*)$","captures":{"1":{"name":"keyword.operator.symbols.matlab"},"2":{"name":"comment.line.continuation.matlab"}}},"numbers":{"name":"constant.numeric.matlab","match":"(?\u003c=[\\s\\-\\+\\*\\/\\\\=:\\[\\(\\{,]|^)\\d*\\.?\\d+([eE][+-]?\\d)?([0-9\u0026\u0026[^\\.]])*(i|j)?\\b"},"operators":{"name":"keyword.operator.symbols.matlab","match":"(?\u003c=\\s)(==|~=|\u003e|\u003e=|\u003c|\u003c=|\u0026|\u0026\u0026|:|\\||\\|\\||\\+|-|\\*|\\.\\*|/|\\./|\\\\|\\.\\\\|\\^|\\.\\^)(?=\\s)"},"parens":{"begin":"\\(","end":"(\\)|(?\u003c!\\.\\.\\.).\\n)","patterns":[{"include":"#end_in_parens"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}]},"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"}]},"rules_before_command_dual":{"patterns":[{"include":"#classdef"},{"include":"#function"},{"include":"#blocks"},{"include":"#control_statements"},{"include":"#global_persistent"},{"include":"#parens"},{"include":"#square_brackets"},{"include":"#indexing_curly_brackets"},{"include":"#curly_brackets"}]},"square_brackets":{"begin":"\\[","end":"\\]","patterns":[{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}]},"string":{"patterns":[{"match":"^\\s*((!)(.*)$\\n?)","captures":{"1":{"name":"meta.interpolation"},"2":{"name":"punctuation.section.interpolation.begin.matlab"},"3":{"name":"source.shell.embedded.matlab","patterns":[{"include":"source.shell"}]}}},{"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|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"}}},{"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"}}}]},"transpose":{"name":"keyword.operator.transpose.matlab","match":"\\.'"},"validator_strings":{"patterns":[{"patterns":[{"name":"storage.type.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|/|\\\\|\\.|\\^))|^)'","end":"'(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|/|\\\\|\\.|\\^|\\s|;|:|,))","patterns":[{"match":"''"},{"match":"'(?=.)"},{"match":"([^']+)"}]},{"name":"storage.type.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|/|\\\\|\\.|\\^))|^)\"","end":"\"(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|/|\\\\|\\.|\\^|\\||\\s|;|:|,))","patterns":[{"match":"\"\""},{"match":"\"(?=.)"},{"match":"[^\"]+"}]}]}]},"validators":{"begin":"\\s*[;]?\\s*([a-zA-Z][a-zA-Z0-9_\\.\\?]*)","end":"([;\\n%=].*)","patterns":[{"include":"#line_continuation"},{"name":"storage.type.matlab","match":"\\s*(\\([^\\)]*\\))"},{"name":"storage.type.matlab","match":"([a-zA-Z][a-zA-Z0-9_\\.]*)"},{"include":"#braced_validator_list"}],"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.other.function.matlab","match":"(?\u003c!\\.)\\b(nargin|nargout|varargin|varargout)\\b"}}}
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"}]}}}
@@ -1 +1 @@
1
- {"name":"mcfunction","scopeName":"source.mcfunction","patterns":[{"include":"#comment"},{"include":"#command"},{"include":"#unknown"}],"repository":{"block_predicate":{"patterns":[{"match":"(\\#)([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)","captures":{"1":{"name":"entity.name.function.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"entity.name.function.mcfunction"},"4":{"name":"entity.name.function.mcfunction"}}},{"match":"([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)","captures":{"1":{"name":"entity.name.function.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"entity.name.function.mcfunction"}}},{"match":"([a-z0-9_\\.\\-\\/]+)","captures":{"1":{"name":"entity.name.function.mcfunction"}}},{"begin":"(\\[)","end":"(\\])","patterns":[{"include":"#block_predicate.arguments"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"}}},{"begin":"(\\{)","end":"(\\})","patterns":[{"include":"#nbt.compound"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"}}}]},"block_predicate.argument.boolean":{"name":"meta.block_predicate.argument.boolean.mcfunction","match":"(true|false)(?= *[\\,\\]\\n])","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"block_predicate.argument.literal":{"name":"meta.block_predicate.argument.literal.mcfunction","match":"([a-z_][a-z0-9_]*)(?= *[\\,\\]\\n])","captures":{"1":{"name":"entity.name.mcfunction"}}},"block_predicate.argument.number":{"name":"meta.block_predicate.argument.number.mcfunction","match":"(\\-?\\d*\\.?\\d+)(?= *[\\,\\]\\n])","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"block_predicate.arguments":{"patterns":[{"name":"meta.block_predicate.argument_spacing.mcfunction","match":" +"},{"name":"meta.block_predicate.argument.mcfunction","begin":"([a-z_][a-z0-9_]*) *(\\=) *","end":"(\\,)(?=[\\]\\n])|(\\,)|(?=[\\]\\n])","patterns":[{"include":"#block_predicate.argument.number"},{"include":"#block_predicate.argument.boolean"},{"include":"#block_predicate.argument.literal"}],"beginCaptures":{"1":{"name":"variable.other.mcfunction"},"2":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"invalid.illegal.mcfunction"},"2":{"name":"variable.language.mcfunction"}}}]},"command":{"patterns":[{"name":"meta.command.mcfunction","begin":"^\\s*([a-z_][a-z0-9_]*)[ \\n]","end":"$","patterns":[{"contentName":"meta.command.token.mcfunction","begin":"(?\u003c= )","end":"[ \\n]","patterns":[{"include":"#command.tokens"}]}],"beginCaptures":{"1":{"name":"keyword.control.mcfunction"}}}]},"command.token.block_predicate":{"name":"meta.command.token.block_predicate.mcfunction","begin":"(?\u003c= )(?=(\\#)?([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(\\[|\\{))","end":"(?=\\n)|(?:(?\u003c=\\])(?!\\{)|(?\u003c=\\}))([^ \\n]*)","patterns":[{"include":"#block_predicate"}],"endCaptures":{"1":{"name":"invalid.illegal.mcfunction"}}},"command.token.block_predicate_without_namespace":{"name":"meta.command.token.block_predicate_without_namespace.mcfunction","begin":"(?\u003c= )(?=(\\#)?([a-z0-9_\\.\\-\\/]+)(\\[ *([a-z_][a-z0-9_]*) *\\=))","end":"(?=\\n)|(?:(?\u003c=\\])(?!\\{)|(?\u003c=\\}))([^ \\n]*)","patterns":[{"include":"#block_predicate"}],"endCaptures":{"1":{"name":"invalid.illegal.mcfunction"}}},"command.token.boolean":{"name":"meta.command.token.boolean.mcfunction","match":"(?\u003c= )(true|false)(?=[ \\n]|$)","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"command.token.coordinate":{"name":"meta.command.token.coordinate.mcfunction","match":"(?\u003c= )([\\~\\^])(\\-?\\d*\\.?\\d+)?(?=[ \\n]|$)","captures":{"1":{"name":"constant.numeric.mcfunction"},"2":{"name":"constant.numeric.mcfunction"}}},"command.token.fakeplayer":{"name":"meta.command.token.fakeplayer.mcfunction","match":"(?\u003c= )([\\#\\$\\%]\\S+)(?=[ \\n]|$)","captures":{"1":{"name":"support.class.mcfunction"}}},"command.token.greedy_parent":{"name":"meta.command.token.greedy_parent.mcfunction","match":"((?\u003c=^say | say ))(.*)$","captures":{"1":{"name":"entity.name.mcfunction"},"2":{"name":"string.quoted.mcfunction"}}},"command.token.literal":{"name":"meta.command.token.literal.mcfunction","match":"(?\u003c= )([a-z_][a-z0-9_]*)(?=[ \\n]|$)","captures":{"1":{"name":"entity.name.mcfunction"}}},"command.token.nbt_compound":{"name":"meta.command.token.nbt_compound.mcfunction","begin":"(?\u003c= )(\\{)","end":"(?=\\n)|(\\})([^ \\n]*)","patterns":[{"include":"#nbt.compound"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"command.token.nbt_list":{"name":"meta.command.token.nbt_list.mcfunction","begin":"(?\u003c= )(\\[)(\\w*;)?","end":"(?=\\n)|(\\])([^ \\n]*)","patterns":[{"include":"#nbt.list"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"command.token.nbt_path":{"name":"meta.command.token.nbt_path.mcfunction","begin":"(?\u003c= )(?=\\w+[\\.\\[\\{])","end":"(?=[ \\n]|$)","patterns":[{"include":"#nbt_path.property"}]},"command.token.number":{"name":"meta.command.token.number.mcfunction","match":"(?\u003c= )(\\-?\\d*\\.?\\d+)(?=[ \\n]|$)","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"command.token.operation":{"name":"meta.command.token.operation.mcfunction","match":"(?\u003c= )(\\%\\=|\\*\\=|\\+\\=|\\-\\=|\\/\\=|\\\u003c|\\=|\\\u003e|\\\u003e\\\u003c|\\\u003c\\=|\\\u003e\\=)(?=[ \\n]|$)","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"command.token.quoted_string":{"name":"meta.command.token.quoted_string.mcfunction","begin":"(?\u003c= )(\\\")","end":"(?=\\n)|(\\\")([^ \\n]*)","patterns":[{"include":"#common.quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"command.token.range":{"name":"meta.command.token.range.mcfunction","match":"(?\u003c= )(\\-?\\d*\\.?\\d+)?(\\.\\.)(\\-?\\d*\\.?\\d+)?(?=[ \\n]|$)","captures":{"1":{"name":"constant.numeric.mcfunction"},"2":{"name":"keyword.control.mcfunction"},"3":{"name":"constant.numeric.mcfunction"}}},"command.token.resource_location":{"name":"meta.command.token.resource_location.mcfunction","match":"(?\u003c= )([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?=[ \\n]|$)","captures":{"1":{"name":"entity.name.function.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"entity.name.function.mcfunction"}}},"command.token.root_redirect":{"name":"meta.command.token.root_redirect.mcfunction","match":"(?\u003c= )(run) ([a-z_][a-z0-9_]*)?(?=[ \\n]|$)","captures":{"1":{"name":"entity.name.mcfunction"},"2":{"name":"keyword.control.mcfunction"}}},"command.token.selector_with_arguments":{"name":"meta.command.token.selector_with_arguments.mcfunction","begin":"(?\u003c= )(\\@[a-z])(\\[)","end":"(?=\\n)|(\\])([^ \\n]*)","patterns":[{"name":"meta.selector.argument_spacing.mcfunction","match":" +"},{"name":"meta.selector.argument.mcfunction","begin":"((?:[a-z_][a-z0-9_]*)|(?:\"[^\"\n]*\")|(?:\\'[^\\'\n]*\\')) *(\\=) *(\\!)? *","end":"( *\\,)(?=[\\]\\n])|( *\\,)|(?= *[\\]\\n])","patterns":[{"include":"#selector.argument.resource_location"},{"include":"#selector.argument.tagged_resource_location"},{"include":"#selector.argument.range"},{"include":"#selector.argument.number"},{"include":"#selector.argument.boolean"},{"include":"#selector.argument.property_map"},{"include":"#selector.argument.nbt_compound"},{"include":"#selector.argument.quoted_string"},{"include":"#selector.argument.single_quoted_string"},{"include":"#selector.argument.unquoted_string"},{"include":"#selector.argument.unknown"}],"beginCaptures":{"1":{"name":"variable.other.mcfunction"},"2":{"name":"support.class.mcfunction"},"3":{"name":"keyword.control.mcfunction"}},"endCaptures":{"1":{"name":"invalid.illegal.mcfunction"},"2":{"name":"support.class.mcfunction"}}},{"name":"invalid.illegal.mcfunction","match":"[^\\]\\n]+"}],"beginCaptures":{"1":{"name":"support.class.mcfunction"},"2":{"name":"support.class.mcfunction"}},"endCaptures":{"1":{"name":"support.class.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"command.token.selector_without_arguments":{"name":"meta.command.token.selector_without_arguments.mcfunction","match":"(?\u003c= )(\\@[a-z])(?=[ \\n]|$)","captures":{"1":{"name":"support.class.mcfunction"}}},"command.token.single_quoted_string":{"name":"meta.command.token.single_quoted_string.mcfunction","begin":"(?\u003c= )(\\')","end":"(?=\\n)|(\\')([^ \\n]*)","patterns":[{"include":"#common.single_quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"command.token.tagged_resource_location":{"name":"meta.command.token.tagged_resource_location.mcfunction","match":"(?\u003c= )(\\#)([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?=[ \\n]|$)","captures":{"1":{"name":"entity.name.function.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"entity.name.function.mcfunction"},"4":{"name":"entity.name.function.mcfunction"}}},"command.token.unknown":{"name":"meta.command.token.unknown.mcfunction","match":"(?\u003c= )([^ \\n]*)(?=[ \\n]|$)","captures":{"1":{"name":"invalid.illegal.mcfunction"}}},"command.token.unquoted_string":{"name":"meta.command.token.unquoted_string.mcfunction","match":"(?\u003c= )(\\S+)(?=[ \\n]|$)","captures":{"1":{"name":"string.unquoted.mcfunction"}}},"command.token.uuid":{"name":"meta.command.token.uuid.mcfunction","match":"(?\u003c= )([0-9a-fA-F]+(?:(-)[0-9a-fA-F]+){4})(?=[ \\n]|$)","captures":{"1":{"name":"support.class.mcfunction"}}},"command.tokens":{"patterns":[{"include":"#command.token.nbt_compound"},{"include":"#command.token.nbt_list"},{"include":"#command.token.selector_with_arguments"},{"include":"#command.token.selector_without_arguments"},{"include":"#command.token.block_predicate"},{"include":"#command.token.block_predicate_without_namespace"},{"include":"#command.token.resource_location"},{"include":"#command.token.tagged_resource_location"},{"include":"#command.token.range"},{"include":"#command.token.number"},{"include":"#command.token.coordinate"},{"include":"#command.token.boolean"},{"include":"#command.token.operation"},{"include":"#command.token.root_redirect"},{"include":"#command.token.greedy_parent"},{"include":"#command.token.literal"},{"include":"#command.token.uuid"},{"include":"#command.token.fakeplayer"},{"include":"#command.token.nbt_path"},{"include":"#command.token.quoted_string"},{"include":"#command.token.single_quoted_string"},{"include":"#command.token.unquoted_string"},{"include":"#command.token.unknown"}]},"comment":{"patterns":[{"name":"meta.comment.block.mcfunction","begin":"^[ \\t]*((#)(\u003e)((.*)))$","end":"^(?![ \\t]*#)","patterns":[{"include":"#comment.block"}],"beginCaptures":{"1":{"name":"comment.block.mcfunction"},"2":{"name":"markup.list.mcfunction"},"3":{"name":"markup.list.mcfunction"},"4":{"name":"markup.bold.mcfunction"},"5":{"name":"markup.list.mcfunction"}}},{"name":"meta.comment.line.mcfunction","match":"^[ \\t]*(#.*)$","captures":{"1":{"name":"comment.line.mcfunction"}}}]},"comment.block":{"patterns":[{"name":"meta.comment.block_line.mcfunction","begin":"^[ \\t]*((#)[ \\t]*)","end":"$","patterns":[{"include":"#comment.block.line"}],"beginCaptures":{"1":{"name":"comment.block.mcfunction"},"2":{"name":"markup.list.mcfunction"}}}]},"comment.block.line":{"patterns":[{"name":"meta.comment.block.annotation.mcfunction","match":"((\\@\\w*)\\b(.*))$","captures":{"1":{"name":"comment.block.mcfunction"},"2":{"name":"markup.heading.mcfunction"},"3":{"name":"comment.block.mcfunction"}}},{"name":"meta.comment.block.heading.mcfunction","match":"((\u003e)((.*)))$","captures":{"1":{"name":"comment.block.mcfunction"},"2":{"name":"markup.list.mcfunction"},"3":{"name":"markup.bold.mcfunction"},"4":{"name":"markup.list.mcfunction"}}},{"name":"meta.comment.block.text.mcfunction","match":"(.*)$","captures":{"1":{"name":"comment.block.mcfunction"}}}]},"common.quoted_string":{"patterns":[{"name":"string.quoted.mcfunction","match":"[^\\\\\\\"\\n]"},{"name":"constant.character.escape.mcfunction","match":"\\\\[^\\n]"},{"name":"invalid.illegal.mcfunction","match":"\\\\"}]},"common.single_quoted_string":{"patterns":[{"name":"string.quoted.mcfunction","match":"[^\\\\\\'\\n]"},{"name":"constant.character.escape.mcfunction","match":"\\\\[^\\n]"},{"name":"invalid.illegal.mcfunction","match":"\\\\"}]},"nbt.compound":{"patterns":[{"match":" +"},{"begin":"(,)? *([A-Za-z0-9_\\.\\-]+|\\\"[^\\n\\\"]+\\\") *(\\:) *","end":" *(?=[\\n\\}\\,])","patterns":[{"include":"#nbt.value"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"string.interpolated.mcfunction"},"3":{"name":"variable.language.mcfunction"}}},{"name":"invalid.illegal.mcfunction","match":"[^\\n\\}\\,]+"}]},"nbt.list":{"patterns":[{"match":" +"},{"begin":"(,)? *(?=[^\\n\\]\\,])","end":" *(?=[\\n\\]\\,])","patterns":[{"include":"#nbt.value"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}}},{"name":"invalid.illegal.mcfunction","match":"[^\\n\\]\\,]+"}]},"nbt.value":{"patterns":[{"begin":"(\\{)","end":"(?=\\n)|(\\})","patterns":[{"include":"#nbt.compound"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"}}},{"begin":"(\\[)(\\w*;)?","end":"(?=\\n)|(\\])","patterns":[{"include":"#nbt.list"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"}}},{"begin":"(\\\")","end":"(?=\\n)|(\\\")","patterns":[{"include":"#common.quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"}}},{"begin":"(\\')","end":"(?=\\n)|(\\')","patterns":[{"include":"#common.single_quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"}}},{"name":"constant.numeric.mcfunction","match":"(true|false)"},{"name":"constant.numeric.mcfunction","match":"(\\-?\\d*\\.?\\d+)"},{"name":"string.unquoted.mcfunction","match":"([^\\s\\{\\}\\[\\]\\,\\:\\=]+)"},{"name":"invalid.illegal.mcfunction","match":"[^\\n\\,\\]\\}]+"}]},"nbt_path.index":{"patterns":[{"match":"(?\u003c=\\[)(\\-?\\d+)(?=\\])","captures":{"1":{"name":"constant.numeric.mcfunction"}}},{"begin":"(\\{)","end":"(?=\\n)|(\\})([^\\]\\,\\n]*)","patterns":[{"include":"#nbt.compound"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},{"name":"invalid.illegal.mcfunction","match":"[^\\n\\]]+"}]},"nbt_path.property":{"patterns":[{"begin":"(\\.)?(\\w+)?(\\[)","end":"(\\])|(?=\\n)","patterns":[{"include":"#nbt_path.index"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"string.interpolated.mcfunction"},"3":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"}}},{"begin":"(\\.)?(\\w+)(\\{)","end":"(\\})|(?=\\n)","patterns":[{"include":"#nbt.compound"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"string.interpolated.mcfunction"},"3":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"}}},{"begin":"(\\\")","end":"(?=\\n)|(\\\")([^\\. \\n]*)","patterns":[{"include":"#common.quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},{"match":"(\\.)?(\\w+)","captures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"string.interpolated.mcfunction"}}},{"match":"(\\.)(?=\\.)","captures":{"1":{"name":"invalid.illegal.mcfunction"}}},{"name":"invalid.illegal.mcfunction","match":"[^\\.\\s]+"}]},"property_map":{"patterns":[{"match":" +"},{"begin":"(,)? *([A-Za-z0-9_\\.\\-]+) *(\\=) *","end":" *(?=[\\n\\}\\,])","patterns":[{"include":"#property_map.values"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"variable.language.mcfunction"}}},{"begin":"(,)? *([a-z0-9_\\.\\-]+\\:[a-z0-9_\\.\\-\\/]+|[a-z0-9_\\.\\-\\/]+) *(\\=) *","end":" *(?=[\\n\\}\\,])","patterns":[{"include":"#property_map.values"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"variable.language.mcfunction"}}},{"name":"invalid.illegal.mcfunction","match":"[^\\n\\}\\,]+"}]},"property_map.values":{"patterns":[{"match":"(true|false)","captures":{"1":{"name":"constant.numeric.mcfunction"}}},{"match":"(\\-?\\d*\\.?\\d+)?(\\.\\.)(\\-?\\d*\\.?\\d+)?","captures":{"1":{"name":"constant.numeric.mcfunction"},"2":{"name":"keyword.control.mcfunction"},"3":{"name":"constant.numeric.mcfunction"}}},{"match":"(\\-?\\d*\\.?\\d+)","captures":{"1":{"name":"constant.numeric.mcfunction"}}},{"begin":"(\\{) *","end":"(?=\\n)|(\\}) *([^\\}\\,\\n]*)","patterns":[{"include":"#property_map"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}}]},"selector.argument.boolean":{"name":"meta.selector.argument.boolean.mcfunction","match":"(true|false)(?= *[\\,\\]\\n])","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"selector.argument.nbt_compound":{"name":"meta.selector.argument.nbt_compound.mcfunction","begin":"(\\{)","end":"(?=\\n)|(\\}) *([^\\]\\,\\n]*)","patterns":[{"include":"#nbt.compound"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"selector.argument.number":{"name":"meta.selector.argument.number.mcfunction","match":"(\\-?\\d*\\.?\\d+)(?= *[\\,\\]\\n])","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"selector.argument.property_map":{"name":"meta.selector.argument.property_map.mcfunction","begin":"(\\{)(?= *([a-z0-9_\\.\\-]+\\:[a-z0-9_\\.\\-\\/]+|[a-z0-9_\\.\\-\\/]+|([A-Za-z0-9_\\.\\-]+)) *(\\=))","end":"(?=\\n)|(\\}) *([^\\]\\,\\n]*)","patterns":[{"include":"#property_map"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"selector.argument.quoted_string":{"name":"meta.selector.argument.quoted_string.mcfunction","begin":"(\\\")","end":"(?=\\n)|(\\\") *([^\\]\\,\\n]*)","patterns":[{"include":"#common.quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"selector.argument.range":{"name":"meta.selector.argument.range.mcfunction","match":"(\\-?\\d*\\.?\\d+)?(\\.\\.)(\\-?\\d*\\.?\\d+)?(?= *[\\,\\]\\n])","captures":{"1":{"name":"constant.numeric.mcfunction"},"2":{"name":"keyword.control.mcfunction"},"3":{"name":"constant.numeric.mcfunction"}}},"selector.argument.resource_location":{"name":"meta.selector.argument.resource_location.mcfunction","match":"([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?= *[\\,\\]\\n])","captures":{"1":{"name":"entity.name.function.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"entity.name.function.mcfunction"}}},"selector.argument.single_quoted_string":{"name":"meta.selector.argument.single_quoted_string.mcfunction","begin":"(\\')","end":"(?=\\n)|(\\') *([^\\]\\,\\n]*)","patterns":[{"include":"#common.single_quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"selector.argument.tagged_resource_location":{"name":"meta.selector.argument.tagged_resource_location.mcfunction","match":"(\\#)([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?= *[\\,\\]\\n])","captures":{"1":{"name":"entity.name.function.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"entity.name.function.mcfunction"},"4":{"name":"entity.name.function.mcfunction"}}},"selector.argument.unknown":{"name":"meta.selector.argument.unknown.mcfunction","match":"([^\\]\\n\\,]+)","captures":{"1":{"name":"invalid.illegal.mcfunction"}}},"selector.argument.unquoted_string":{"name":"meta.selector.argument.unquoted_string.mcfunction","match":"([^\\s\\{\\}\\[\\]\\,\\:\\=\\!]+)(?= *[\\,\\]\\n])","captures":{"1":{"name":"string.unquoted.mcfunction"}}},"unknown":{"patterns":[{"name":"meta.unknown.mcfunction","match":"^(.*)$","captures":{"1":{"name":"invalid.illegal.mcfunction"}}}]}}}
1
+ {"name":"mcfunction","scopeName":"source.mcfunction","patterns":[{"include":"#comment"},{"include":"#command"},{"include":"#unknown"}],"repository":{"block_predicate":{"patterns":[{"match":"(\\#)([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)","captures":{"1":{"name":"entity.name.function.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"entity.name.function.mcfunction"},"4":{"name":"entity.name.function.mcfunction"}}},{"match":"([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)","captures":{"1":{"name":"entity.name.function.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"entity.name.function.mcfunction"}}},{"match":"([a-z0-9_\\.\\-\\/]+)","captures":{"1":{"name":"entity.name.function.mcfunction"}}},{"begin":"(\\[)","end":"(\\])","patterns":[{"include":"#block_predicate.arguments"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"}}},{"begin":"(\\{)","end":"(\\})","patterns":[{"include":"#nbt.compound"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"}}}]},"block_predicate.argument.boolean":{"name":"meta.block_predicate.argument.boolean.mcfunction","match":"(true|false)(?= *[\\,\\]\\n])","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"block_predicate.argument.literal":{"name":"meta.block_predicate.argument.literal.mcfunction","match":"([a-z_][a-z0-9_]*)(?= *[\\,\\]\\n])","captures":{"1":{"name":"entity.name.mcfunction"}}},"block_predicate.argument.number":{"name":"meta.block_predicate.argument.number.mcfunction","match":"(\\-?\\d*\\.?\\d+)(?= *[\\,\\]\\n])","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"block_predicate.arguments":{"patterns":[{"name":"meta.block_predicate.argument_spacing.mcfunction","match":" +"},{"name":"meta.block_predicate.argument.mcfunction","begin":"([a-z_][a-z0-9_]*) *(\\=) *","end":"(\\,)(?=[\\]\\n])|(\\,)|(?=[\\]\\n])","patterns":[{"include":"#block_predicate.argument.number"},{"include":"#block_predicate.argument.boolean"},{"include":"#block_predicate.argument.literal"}],"beginCaptures":{"1":{"name":"variable.other.mcfunction"},"2":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"invalid.illegal.mcfunction"},"2":{"name":"variable.language.mcfunction"}}}]},"command":{"patterns":[{"name":"meta.command.mcfunction","begin":"^\\s*([a-z_][a-z0-9_]*)[ \\n]","end":"$","patterns":[{"contentName":"meta.command.token.mcfunction","begin":"(?\u003c= )","end":"[ \\n]","patterns":[{"include":"#command.tokens"}]}],"beginCaptures":{"1":{"name":"keyword.control.mcfunction"}}}]},"command.token.block_predicate":{"name":"meta.command.token.block_predicate.mcfunction","begin":"(?\u003c= )(?=(\\#)?([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(\\[|\\{))","end":"(?=\\n)|(?:(?\u003c=\\])(?!\\{)|(?\u003c=\\}))([^ \\n]*)","patterns":[{"include":"#block_predicate"}],"endCaptures":{"1":{"name":"invalid.illegal.mcfunction"}}},"command.token.block_predicate_without_namespace":{"name":"meta.command.token.block_predicate_without_namespace.mcfunction","begin":"(?\u003c= )(?=(\\#)?([a-z0-9_\\.\\-\\/]+)(\\[ *([a-z_][a-z0-9_]*) *\\=))","end":"(?=\\n)|(?:(?\u003c=\\])(?!\\{)|(?\u003c=\\}))([^ \\n]*)","patterns":[{"include":"#block_predicate"}],"endCaptures":{"1":{"name":"invalid.illegal.mcfunction"}}},"command.token.boolean":{"name":"meta.command.token.boolean.mcfunction","match":"(?\u003c= )(true|false)(?=[ \\n]|$)","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"command.token.coordinate":{"name":"meta.command.token.coordinate.mcfunction","match":"(?\u003c= )([\\~\\^])(\\-?\\d*\\.?\\d+)?(?=[ \\n]|$)","captures":{"1":{"name":"constant.numeric.mcfunction"},"2":{"name":"constant.numeric.mcfunction"}}},"command.token.fakeplayer":{"name":"meta.command.token.fakeplayer.mcfunction","match":"(?\u003c= )([\\#\\$\\%]\\S+)(?=[ \\n]|$)","captures":{"1":{"name":"support.class.mcfunction"}}},"command.token.greedy_parent":{"name":"meta.command.token.greedy_parent.mcfunction","match":"((?\u003c=^say | say ))(.*)$","captures":{"1":{"name":"entity.name.mcfunction"},"2":{"name":"string.quoted.mcfunction"}}},"command.token.literal":{"name":"meta.command.token.literal.mcfunction","match":"(?\u003c= )([a-z_][a-z0-9_]*)(?=[ \\n]|$)","captures":{"1":{"name":"entity.name.mcfunction"}}},"command.token.nbt_compound":{"name":"meta.command.token.nbt_compound.mcfunction","begin":"(?\u003c= )(\\{)","end":"(?=\\n)|(\\})([^ \\n]*)","patterns":[{"include":"#nbt.compound"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"command.token.nbt_list":{"name":"meta.command.token.nbt_list.mcfunction","begin":"(?\u003c= )(\\[)(\\w*;)?","end":"(?=\\n)|(\\])([^ \\n]*)","patterns":[{"include":"#nbt.list"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"command.token.nbt_path":{"name":"meta.command.token.nbt_path.mcfunction","begin":"(?\u003c= )(?=\\w+[\\.\\[\\{])","end":"(?=[ \\n]|$)","patterns":[{"include":"#nbt_path.property"}]},"command.token.number":{"name":"meta.command.token.number.mcfunction","match":"(?\u003c= )(\\-?\\d*\\.?\\d+)(?=[ \\n]|$)","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"command.token.operation":{"name":"meta.command.token.operation.mcfunction","match":"(?\u003c= )(\\%\\=|\\*\\=|\\+\\=|\\-\\=|\\/\\=|\\\u003c|\\=|\\\u003e|\\\u003e\\\u003c|\\\u003c\\=|\\\u003e\\=)(?=[ \\n]|$)","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"command.token.quoted_string":{"name":"meta.command.token.quoted_string.mcfunction","begin":"(?\u003c= )(\\\")","end":"(?=\\n)|(\\\")([^ \\n]*)","patterns":[{"include":"#common.quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"command.token.range":{"name":"meta.command.token.range.mcfunction","match":"(?\u003c= )(\\-?\\d*\\.?\\d+)?(\\.\\.)(\\-?\\d*\\.?\\d+)?(?=[ \\n]|$)","captures":{"1":{"name":"constant.numeric.mcfunction"},"2":{"name":"keyword.control.mcfunction"},"3":{"name":"constant.numeric.mcfunction"}}},"command.token.resource_location":{"name":"meta.command.token.resource_location.mcfunction","match":"(?\u003c= )([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?=[ \\n]|$)","captures":{"1":{"name":"entity.name.function.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"entity.name.function.mcfunction"}}},"command.token.root_redirect":{"name":"meta.command.token.root_redirect.mcfunction","match":"(?\u003c= )(run) ([a-z_][a-z0-9_]*)?(?=[ \\n]|$)","captures":{"1":{"name":"entity.name.mcfunction"},"2":{"name":"keyword.control.mcfunction"}}},"command.token.selector_with_arguments":{"name":"meta.command.token.selector_with_arguments.mcfunction","begin":"(?\u003c= )(\\@[a-z])(\\[)","end":"(?=\\n)|(\\])([^ \\n]*)","patterns":[{"name":"meta.selector.argument_spacing.mcfunction","match":" +"},{"name":"meta.selector.argument.mcfunction","begin":"((?:[a-z_][a-z0-9_]*)|(?:\"[^\"\n]*\")|(?:\\'[^\\'\n]*\\')) *(\\=) *(\\!)? *","end":"( *\\,)(?=[\\]\\n])|( *\\,)|(?= *[\\]\\n])","patterns":[{"include":"#selector.argument.resource_location"},{"include":"#selector.argument.tagged_resource_location"},{"include":"#selector.argument.range"},{"include":"#selector.argument.number"},{"include":"#selector.argument.boolean"},{"include":"#selector.argument.property_map"},{"include":"#selector.argument.nbt_compound"},{"include":"#selector.argument.quoted_string"},{"include":"#selector.argument.single_quoted_string"},{"include":"#selector.argument.unquoted_string"},{"include":"#selector.argument.unknown"}],"beginCaptures":{"1":{"name":"variable.other.mcfunction"},"2":{"name":"support.class.mcfunction"},"3":{"name":"keyword.control.mcfunction"}},"endCaptures":{"1":{"name":"invalid.illegal.mcfunction"},"2":{"name":"support.class.mcfunction"}}},{"name":"invalid.illegal.mcfunction","match":"[^\\]\\n]+"}],"beginCaptures":{"1":{"name":"support.class.mcfunction"},"2":{"name":"support.class.mcfunction"}},"endCaptures":{"1":{"name":"support.class.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"command.token.selector_without_arguments":{"name":"meta.command.token.selector_without_arguments.mcfunction","match":"(?\u003c= )(\\@[a-z])(?=[ \\n]|$)","captures":{"1":{"name":"support.class.mcfunction"}}},"command.token.single_quoted_string":{"name":"meta.command.token.single_quoted_string.mcfunction","begin":"(?\u003c= )(\\')","end":"(?=\\n)|(\\')([^ \\n]*)","patterns":[{"include":"#common.single_quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"command.token.tagged_resource_location":{"name":"meta.command.token.tagged_resource_location.mcfunction","match":"(?\u003c= )(\\#)([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?=[ \\n]|$)","captures":{"1":{"name":"entity.name.function.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"entity.name.function.mcfunction"},"4":{"name":"entity.name.function.mcfunction"}}},"command.token.unknown":{"name":"meta.command.token.unknown.mcfunction","match":"(?\u003c= )([^ \\n]*)(?=[ \\n]|$)","captures":{"1":{"name":"invalid.illegal.mcfunction"}}},"command.token.unquoted_string":{"name":"meta.command.token.unquoted_string.mcfunction","match":"(?\u003c= )(\\S+)(?=[ \\n]|$)","captures":{"1":{"name":"string.unquoted.mcfunction"}}},"command.token.uuid":{"name":"meta.command.token.uuid.mcfunction","match":"(?\u003c= )([0-9a-fA-F]+(?:(-)[0-9a-fA-F]+){4})(?=[ \\n]|$)","captures":{"1":{"name":"support.class.mcfunction"}}},"command.tokens":{"patterns":[{"include":"#command.token.nbt_compound"},{"include":"#command.token.nbt_list"},{"include":"#command.token.selector_with_arguments"},{"include":"#command.token.selector_without_arguments"},{"include":"#command.token.block_predicate"},{"include":"#command.token.block_predicate_without_namespace"},{"include":"#command.token.resource_location"},{"include":"#command.token.tagged_resource_location"},{"include":"#command.token.range"},{"include":"#command.token.number"},{"include":"#command.token.coordinate"},{"include":"#command.token.boolean"},{"include":"#command.token.operation"},{"include":"#command.token.root_redirect"},{"include":"#command.token.greedy_parent"},{"include":"#command.token.literal"},{"include":"#command.token.uuid"},{"include":"#command.token.fakeplayer"},{"include":"#command.token.nbt_path"},{"include":"#command.token.quoted_string"},{"include":"#command.token.single_quoted_string"},{"include":"#command.token.unquoted_string"},{"include":"#command.token.unknown"}]},"comment":{"patterns":[{"name":"meta.comment.block.mcfunction","begin":"^[ \\t]*((#)([\\#\\\u003e\\~\\!\\@\\$\\%\\^\\*]+)((.*)))$","end":"^(?![ \\t]*#)","patterns":[{"include":"#comment.block"}],"beginCaptures":{"1":{"name":"comment.block.mcfunction"},"2":{"name":"markup.list.mcfunction"},"3":{"name":"markup.list.mcfunction"},"4":{"name":"markup.bold.mcfunction"},"5":{"name":"markup.list.mcfunction"}}},{"name":"meta.comment.line.mcfunction","match":"^[ \\t]*(#.*)$","captures":{"1":{"name":"comment.line.mcfunction"}}}]},"comment.block":{"patterns":[{"name":"meta.comment.block_line.mcfunction","begin":"^[ \\t]*((#)[ \\t]*)","end":"$","patterns":[{"include":"#comment.block.line"}],"beginCaptures":{"1":{"name":"comment.block.mcfunction"},"2":{"name":"markup.list.mcfunction"}}}]},"comment.block.line":{"patterns":[{"name":"meta.comment.block.annotation.mcfunction","match":"((\\@\\w*)\\b(.*))$","captures":{"1":{"name":"comment.block.mcfunction"},"2":{"name":"markup.heading.mcfunction"},"3":{"name":"comment.block.mcfunction"}}},{"name":"meta.comment.block.heading.mcfunction","match":"(([\\#\\\u003e\\~\\!\\@\\$\\%\\^\\*]+)((.*)))$","captures":{"1":{"name":"comment.block.mcfunction"},"2":{"name":"markup.list.mcfunction"},"3":{"name":"markup.bold.mcfunction"},"4":{"name":"markup.list.mcfunction"}}},{"name":"meta.comment.block.text.mcfunction","match":"(.*)$","captures":{"1":{"name":"comment.block.mcfunction"}}}]},"common.quoted_string":{"patterns":[{"name":"string.quoted.mcfunction","match":"[^\\\\\\\"\\n]"},{"name":"constant.character.escape.mcfunction","match":"\\\\[^\\n]"},{"name":"invalid.illegal.mcfunction","match":"\\\\"}]},"common.single_quoted_string":{"patterns":[{"name":"string.quoted.mcfunction","match":"[^\\\\\\'\\n]"},{"name":"constant.character.escape.mcfunction","match":"\\\\[^\\n]"},{"name":"invalid.illegal.mcfunction","match":"\\\\"}]},"nbt.compound":{"patterns":[{"match":" +"},{"begin":"(,)? *([A-Za-z0-9_\\.\\-]+|\\\"[^\\n\\\"]+\\\") *(\\:) *","end":" *(?=[\\n\\}\\,])","patterns":[{"include":"#nbt.value"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"string.interpolated.mcfunction"},"3":{"name":"variable.language.mcfunction"}}},{"name":"invalid.illegal.mcfunction","match":"[^\\n\\}\\,]+"}]},"nbt.list":{"patterns":[{"match":" +"},{"begin":"(,)? *(?=[^\\n\\]\\,])","end":" *(?=[\\n\\]\\,])","patterns":[{"include":"#nbt.value"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}}},{"name":"invalid.illegal.mcfunction","match":"[^\\n\\]\\,]+"}]},"nbt.value":{"patterns":[{"begin":"(\\{)","end":"(?=\\n)|(\\})","patterns":[{"include":"#nbt.compound"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"}}},{"begin":"(\\[)(\\w*;)?","end":"(?=\\n)|(\\])","patterns":[{"include":"#nbt.list"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"}}},{"begin":"(\\\")","end":"(?=\\n)|(\\\")","patterns":[{"include":"#common.quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"}}},{"begin":"(\\')","end":"(?=\\n)|(\\')","patterns":[{"include":"#common.single_quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"}}},{"name":"constant.numeric.mcfunction","match":"(true|false)"},{"name":"constant.numeric.mcfunction","match":"(\\-?\\d*\\.?\\d+)"},{"name":"string.unquoted.mcfunction","match":"([^\\s\\{\\}\\[\\]\\,\\:\\=]+)"},{"name":"invalid.illegal.mcfunction","match":"[^\\n\\,\\]\\}]+"}]},"nbt_path.index":{"patterns":[{"match":"(?\u003c=\\[)(\\-?\\d+)(?=\\])","captures":{"1":{"name":"constant.numeric.mcfunction"}}},{"begin":"(\\{)","end":"(?=\\n)|(\\})([^\\]\\,\\n]*)","patterns":[{"include":"#nbt.compound"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},{"name":"invalid.illegal.mcfunction","match":"[^\\n\\]]+"}]},"nbt_path.property":{"patterns":[{"begin":"(\\.)?(\\w+)?(\\[)","end":"(\\])|(?=\\n)","patterns":[{"include":"#nbt_path.index"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"string.interpolated.mcfunction"},"3":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"}}},{"begin":"(\\.)?(\\w+)(\\{)","end":"(\\})|(?=\\n)","patterns":[{"include":"#nbt.compound"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"string.interpolated.mcfunction"},"3":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"}}},{"begin":"(\\\")","end":"(?=\\n)|(\\\")([^\\. \\n]*)","patterns":[{"include":"#common.quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},{"match":"(\\.)?(\\w+)","captures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"string.interpolated.mcfunction"}}},{"match":"(\\.)(?=\\.)","captures":{"1":{"name":"invalid.illegal.mcfunction"}}},{"name":"invalid.illegal.mcfunction","match":"[^\\.\\s]+"}]},"property_map":{"patterns":[{"match":" +"},{"begin":"(,)? *([A-Za-z0-9_\\.\\-]+) *(\\=) *","end":" *(?=[\\n\\}\\,])","patterns":[{"include":"#property_map.values"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"variable.language.mcfunction"}}},{"begin":"(,)? *([a-z0-9_\\.\\-]+\\:[a-z0-9_\\.\\-\\/]+|[a-z0-9_\\.\\-\\/]+) *(\\=) *","end":" *(?=[\\n\\}\\,])","patterns":[{"include":"#property_map.values"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"variable.language.mcfunction"}}},{"name":"invalid.illegal.mcfunction","match":"[^\\n\\}\\,]+"}]},"property_map.values":{"patterns":[{"match":"(true|false)","captures":{"1":{"name":"constant.numeric.mcfunction"}}},{"match":"(\\-?\\d*\\.?\\d+)?(\\.\\.)(\\-?\\d*\\.?\\d+)?","captures":{"1":{"name":"constant.numeric.mcfunction"},"2":{"name":"keyword.control.mcfunction"},"3":{"name":"constant.numeric.mcfunction"}}},{"match":"(\\-?\\d*\\.?\\d+)","captures":{"1":{"name":"constant.numeric.mcfunction"}}},{"begin":"(\\{) *","end":"(?=\\n)|(\\}) *([^\\}\\,\\n]*)","patterns":[{"include":"#property_map"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}}]},"selector.argument.boolean":{"name":"meta.selector.argument.boolean.mcfunction","match":"(true|false)(?= *[\\,\\]\\n])","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"selector.argument.nbt_compound":{"name":"meta.selector.argument.nbt_compound.mcfunction","begin":"(\\{)","end":"(?=\\n)|(\\}) *([^\\]\\,\\n]*)","patterns":[{"include":"#nbt.compound"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"selector.argument.number":{"name":"meta.selector.argument.number.mcfunction","match":"(\\-?\\d*\\.?\\d+)(?= *[\\,\\]\\n])","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"selector.argument.property_map":{"name":"meta.selector.argument.property_map.mcfunction","begin":"(\\{)(?= *([a-z0-9_\\.\\-]+\\:[a-z0-9_\\.\\-\\/]+|[a-z0-9_\\.\\-\\/]+|([A-Za-z0-9_\\.\\-]+)) *(\\=))","end":"(?=\\n)|(\\}) *([^\\]\\,\\n]*)","patterns":[{"include":"#property_map"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"selector.argument.quoted_string":{"name":"meta.selector.argument.quoted_string.mcfunction","begin":"(\\\")","end":"(?=\\n)|(\\\") *([^\\]\\,\\n]*)","patterns":[{"include":"#common.quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"selector.argument.range":{"name":"meta.selector.argument.range.mcfunction","match":"(\\-?\\d*\\.?\\d+)?(\\.\\.)(\\-?\\d*\\.?\\d+)?(?= *[\\,\\]\\n])","captures":{"1":{"name":"constant.numeric.mcfunction"},"2":{"name":"keyword.control.mcfunction"},"3":{"name":"constant.numeric.mcfunction"}}},"selector.argument.resource_location":{"name":"meta.selector.argument.resource_location.mcfunction","match":"([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?= *[\\,\\]\\n])","captures":{"1":{"name":"entity.name.function.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"entity.name.function.mcfunction"}}},"selector.argument.single_quoted_string":{"name":"meta.selector.argument.single_quoted_string.mcfunction","begin":"(\\')","end":"(?=\\n)|(\\') *([^\\]\\,\\n]*)","patterns":[{"include":"#common.single_quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"selector.argument.tagged_resource_location":{"name":"meta.selector.argument.tagged_resource_location.mcfunction","match":"(\\#)([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?= *[\\,\\]\\n])","captures":{"1":{"name":"entity.name.function.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"entity.name.function.mcfunction"},"4":{"name":"entity.name.function.mcfunction"}}},"selector.argument.unknown":{"name":"meta.selector.argument.unknown.mcfunction","match":"([^\\]\\n\\,]+)","captures":{"1":{"name":"invalid.illegal.mcfunction"}}},"selector.argument.unquoted_string":{"name":"meta.selector.argument.unquoted_string.mcfunction","match":"([^\\s\\{\\}\\[\\]\\,\\:\\=\\!]+)(?= *[\\,\\]\\n])","captures":{"1":{"name":"string.unquoted.mcfunction"}}},"unknown":{"patterns":[{"name":"meta.unknown.mcfunction","match":"^(.*)$","captures":{"1":{"name":"invalid.illegal.mcfunction"}}}]}}}