github-linguist 7.29.0 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/bin/git-linguist +7 -3
  3. data/bin/github-linguist +6 -3
  4. data/grammars/etc.json +1 -1
  5. data/grammars/inline.edgeql.json +1 -1
  6. data/grammars/inline.graphql.json +1 -1
  7. data/grammars/inline.peggy.json +1 -0
  8. data/grammars/markdown.gleam.codeblock.json +1 -0
  9. data/grammars/markdown.move.codeblock.json +1 -1
  10. data/grammars/markdown.rego.codeblock.json +1 -0
  11. data/grammars/mdx.move.codeblock.json +1 -0
  12. data/grammars/source.8xp.json +1 -1
  13. data/grammars/source.Caddyfile-test.json +1 -0
  14. data/grammars/source.Caddyfile.json +1 -0
  15. data/grammars/source.abl.json +1 -1
  16. data/grammars/source.astro.json +1 -1
  17. data/grammars/source.bicep.json +1 -1
  18. data/grammars/source.bms.json +1 -1
  19. data/grammars/source.bqn.json +1 -0
  20. data/grammars/source.brs.json +1 -1
  21. data/grammars/source.cairo.json +1 -1
  22. data/grammars/source.cairo0.json +1 -0
  23. data/grammars/source.cl.json +1 -1
  24. data/grammars/source.clar.json +1 -1
  25. data/grammars/source.cmd.json +1 -1
  26. data/grammars/source.cobol.json +1 -1
  27. data/grammars/source.commonlisp.json +1 -1
  28. data/grammars/source.cs.json +1 -1
  29. data/grammars/source.curlrc.json +1 -1
  30. data/grammars/source.curry.json +1 -1
  31. data/grammars/source.cylc.json +1 -0
  32. data/grammars/source.d2.json +1 -1
  33. data/grammars/source.dart.json +1 -1
  34. data/grammars/source.dds.dspf.json +1 -1
  35. data/grammars/source.dds.icff.json +1 -1
  36. data/grammars/source.dds.lf.json +1 -1
  37. data/grammars/source.dds.pf.json +1 -1
  38. data/grammars/source.dds.prtf.json +1 -1
  39. data/grammars/source.dune.json +1 -0
  40. data/grammars/source.elvish.json +1 -1
  41. data/grammars/source.firrtl.json +1 -0
  42. data/grammars/source.fsharp.json +1 -1
  43. data/grammars/source.gdscript.json +1 -1
  44. data/grammars/source.generic-db.json +1 -1
  45. data/grammars/source.gitconfig.json +1 -1
  46. data/grammars/source.gjs.json +1 -1
  47. data/grammars/source.gleam.json +1 -1
  48. data/grammars/source.gts.json +1 -1
  49. data/grammars/source.hcl.json +1 -1
  50. data/grammars/source.hcl.terraform.json +1 -1
  51. data/grammars/source.hgignore.json +1 -1
  52. data/grammars/source.hosts.json +1 -1
  53. data/grammars/source.hx.json +1 -1
  54. data/grammars/source.iCalendar.json +1 -0
  55. data/grammars/source.ice.json +1 -1
  56. data/grammars/source.julia.json +1 -1
  57. data/grammars/source.just.json +1 -1
  58. data/grammars/source.kotlin.json +1 -1
  59. data/grammars/source.lcb.json +1 -0
  60. data/grammars/source.lilypond.json +1 -1
  61. data/grammars/source.livecodescript.json +1 -0
  62. data/grammars/source.lua.json +1 -1
  63. data/grammars/source.luau.json +1 -0
  64. data/grammars/source.m2.json +1 -1
  65. data/grammars/source.markdown.caddy.codeblock.json +1 -0
  66. data/grammars/source.matlab.json +1 -1
  67. data/grammars/source.mcfunction.json +1 -1
  68. data/grammars/source.mdx.json +1 -1
  69. data/grammars/source.mo.json +1 -1
  70. data/grammars/source.mojo.json +1 -1
  71. data/grammars/source.move.json +1 -1
  72. data/grammars/source.nanorc.json +1 -1
  73. data/grammars/source.nim.json +1 -1
  74. data/grammars/source.nr.json +1 -0
  75. data/grammars/source.nushell.json +1 -1
  76. data/grammars/source.odin.json +1 -1
  77. data/grammars/source.p4.json +1 -1
  78. data/grammars/source.peggy.json +1 -0
  79. data/grammars/source.pkl.json +1 -0
  80. data/grammars/source.polar.json +1 -1
  81. data/grammars/source.powerbuilder.json +1 -0
  82. data/grammars/source.qsharp.json +1 -1
  83. data/grammars/source.rascal.json +1 -1
  84. data/grammars/source.rego.json +1 -1
  85. data/grammars/source.rescript.json +1 -1
  86. data/grammars/source.ron.json +1 -0
  87. data/grammars/source.rpgle.json +1 -1
  88. data/grammars/source.rust.json +1 -1
  89. data/grammars/source.sentinel.json +1 -1
  90. data/grammars/source.solidity.json +1 -1
  91. data/grammars/source.sourcepawn.json +1 -1
  92. data/grammars/source.sqf.json +1 -1
  93. data/grammars/source.stan.json +1 -1
  94. data/grammars/source.swift.json +1 -1
  95. data/grammars/source.sy.json +1 -1
  96. data/grammars/source.templ.json +1 -0
  97. data/grammars/source.vba.json +1 -1
  98. data/grammars/source.vcard.json +1 -0
  99. data/grammars/source.wdl.json +1 -1
  100. data/grammars/source.wsd.json +1 -1
  101. data/grammars/text.adblock.json +1 -1
  102. data/grammars/text.crontab.json +1 -0
  103. data/grammars/text.html.jte.json +1 -0
  104. data/grammars/text.html.statamic.json +1 -1
  105. data/grammars/text.md.json +1 -1
  106. data/grammars/text.mdx.astro.codeblock.json +1 -0
  107. data/grammars/text.valve-cfg.json +1 -1
  108. data/grammars/version +1 -1
  109. data/lib/linguist/VERSION +1 -1
  110. data/lib/linguist/classifier.rb +315 -106
  111. data/lib/linguist/generated.rb +33 -4
  112. data/lib/linguist/generic.yml +1 -0
  113. data/lib/linguist/heuristics.rb +6 -6
  114. data/lib/linguist/heuristics.yml +63 -4
  115. data/lib/linguist/languages.json +1 -1
  116. data/lib/linguist/languages.yml +224 -4
  117. data/lib/linguist/repository.rb +8 -6
  118. data/lib/linguist/samples.json +1 -1
  119. data/lib/linguist/samples.rb +9 -1
  120. data/lib/linguist/sha256.rb +1 -1
  121. metadata +29 -7
  122. data/grammars/inline.graphql.rb.json +0 -1
  123. data/grammars/markdown.mcfunction.codeblock.json +0 -1
  124. data/grammars/mdx.LANGUAGE.codeblock.json +0 -1
  125. data/grammars/source.terraform.json +0 -1
@@ -1 +1 @@
1
- {"name":"Lua","scopeName":"source.lua","patterns":[{"name":"meta.function.lua","begin":"\\b(?:(local)\\s+)?(function)\\b(?![,:])","end":"(?\u003c=[\\)\\-{}\\[\\]\"'])","patterns":[{"include":"#comment"},{"name":"meta.parameter.lua","begin":"(\\()","end":"(\\))|(?=[\\-\\.{}\\[\\]\"'])","patterns":[{"include":"#comment"},{"name":"variable.parameter.function.lua","match":"[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"punctuation.separator.arguments.lua","match":","},{"begin":":","end":"(?=[\\),])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"punctuation.separator.arguments.lua"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.lua"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.finish.lua"}}},{"name":"entity.name.class.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b\\s*(?=:)"},{"name":"entity.name.function.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"keyword.local.lua"},"2":{"name":"keyword.control.lua"}}},{"name":"constant.numeric.float.hexadecimal.lua","match":"(?\u003c![\\w\\d.])0[xX][0-9A-Fa-f]+(\\.[0-9A-Fa-f]*)?([eE]-?\\d*)?([pP][-+]\\d+)?"},{"name":"constant.numeric.float.hexadecimal.lua","match":"(?\u003c![\\w\\d.])0[xX]\\.[0-9A-Fa-f]+([eE]-?\\d*)?([pP][-+]\\d+)?"},{"name":"constant.numeric.integer.hexadecimal.lua","match":"(?\u003c![\\w\\d.])0[xX][0-9A-Fa-f]+(?![pPeE.0-9])"},{"name":"constant.numeric.float.lua","match":"(?\u003c![\\w\\d.])\\d+(\\.\\d*)?([eE]-?\\d*)?"},{"name":"constant.numeric.float.lua","match":"(?\u003c![\\w\\d.])\\.\\d+([eE]-?\\d*)?"},{"name":"constant.numeric.integer.lua","match":"(?\u003c![\\w\\d.])\\d+(?![pPeE.0-9])"},{"include":"#string"},{"name":"comment.line.shebang.lua","match":"\\A(#!).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.lua"}}},{"include":"#comment"},{"match":"\\b(goto)\\s+([a-zA-Z_][a-zA-Z0-9_]*)","captures":{"1":{"name":"keyword.control.goto.lua"},"2":{"name":"string.tag.lua"}}},{"name":"string.tag.lua","match":"(::)\\s*[a-zA-Z_][a-zA-Z0-9_]*\\s*(::)","captures":{"1":{"name":"punctuation.section.embedded.begin.lua"},"2":{"name":"punctuation.section.embedded.end.lua"}}},{"match":"\u003c\\s*(const|close)\\s*\u003e","captures":{"1":{"name":"string.tag.lua"}}},{"name":"storage.type.generic.lua","match":"\\\u003c[a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*\\\u003e"},{"name":"keyword.control.lua","match":"\\b(break|do|else|for|if|elseif|goto|return|then|repeat|while|until|end|in)\\b"},{"name":"keyword.local.lua","match":"\\b(local|global)\\b"},{"name":"keyword.control.lua","match":"\\b(function)\\b(?![,:])"},{"name":"constant.language.lua","match":"(?\u003c![^.]\\.|:)\\b(false|nil(?!:)|true|_ENV|_G|_VERSION|math\\.(pi|huge|maxinteger|mininteger)|utf8\\.charpattern|io\\.(stdin|stdout|stderr)|package\\.(config|cpath|loaded|loaders|path|preload|searchers))\\b|(?\u003c![.])\\.{3}(?!\\.)"},{"name":"variable.language.self.lua","match":"(?\u003c![^.]\\.|:)\\b(self)\\b"},{"name":"support.function.lua","match":"(?\u003c![^.]\\.|:)\\b(assert|collectgarbage|dofile|error|getfenv|getmetatable|ipairs|load|loadfile|loadstring|module|next|pairs|pcall|print|rawequal|rawget|rawlen|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|unpack|xpcall)\\b(?!\\s*=(?!=))"},{"name":"entity.name.tag.lua","match":"(?\u003c![^.]\\.|:)\\b(async)\\b(?!\\s*=(?!=))"},{"name":"support.function.library.lua","match":"(?\u003c![^.]\\.|:)\\b(coroutine\\.(create|isyieldable|close|resume|running|status|wrap|yield)|string\\.(byte|char|dump|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|sub|unpack|upper)|table\\.(concat|insert|maxn|move|pack|remove|sort|unpack)|math\\.(abs|acos|asin|atan2?|ceil|cosh?|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pow|rad|random|randomseed|sinh?|sqrt|tanh?|tointeger|type)|io\\.(close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|os\\.(clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\\.(loadlib|seeall|searchpath)|debug\\.(debug|[gs]etfenv|[gs]ethook|getinfo|[gs]etlocal|[gs]etmetatable|getregistry|[gs]etupvalue|[gs]etuservalue|set[Cc]stacklimit|traceback|upvalueid|upvaluejoin)|bit32\\.(arshift|band|bnot|bor|btest|bxor|extract|replace|lrotate|lshift|rrotate|rshift)|utf8\\.(char|codes|codepoint|len|offset))\\b(?!\\s*=(?!=))"},{"name":"keyword.operator.lua","match":"\\b(and|or|not|\\|\\||\\\u0026\\\u0026|\\!)\\b"},{"name":"support.function.any-method.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(?:[({\"']|\\[\\[))"},{"name":"entity.name.class.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*\\??:)"},{"name":"entity.other.attribute.lua","match":"(?\u003c=[^.]\\.|:)\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?!\\s*=\\s*\\b(function)\\b)"},{"name":"variable.other.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?!\\s*=\\s*\\b(function)\\b)"},{"name":"entity.name.function.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*=\\s*\\b(function)\\b)"},{"name":"keyword.operator.lua","match":"\\+|-|%|#|\\*|\\/|\\^|==?|~=|!=|\u003c=?|\u003e=?|(?\u003c!\\.)\\.{2}(?!\\.)"}],"repository":{"comment":{"patterns":[{"begin":"(^[ \\t]+)?(?=--)","end":"(?!\\G)((?!^)[ \\t]+\\n)?","patterns":[{"begin":"--\\[(=*)\\[@@@","end":"\\]\\1\\]","patterns":[{"include":"source.lua"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.lua"}}},{"name":"comment.block.lua","begin":"--\\[(=*)\\[","end":"\\]\\1\\]","patterns":[{"include":"#emmydoc"},{"include":"#ldoc_tag"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.lua"}}},{"name":"comment.line.double-dash.lua","begin":"----","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.lua"}}},{"name":"comment.line.double-dash.documentation.lua","begin":"---","end":"\\n","patterns":[{"include":"#emmydoc"},{"include":"#ldoc_tag"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.lua"}}},{"name":"comment.line.double-dash.lua","begin":"--","end":"\\n","patterns":[{"include":"#ldoc_tag"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.lua"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.lua"}},"endCaptures":{"1":{"name":"punctuation.whitespace.comment.trailing.lua"}}},{"name":"comment.block.lua","begin":"\\/\\*","end":"\\*\\/","patterns":[{"include":"#emmydoc"},{"include":"#ldoc_tag"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.lua"}}}]},"emmydoc":{"patterns":[{"end":"(?=[\\n@#])","patterns":[{"name":"support.class.lua","match":"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)"},{"name":"keyword.operator.lua","match":":|,"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","patterns":[{"begin":"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)","end":"(?=\\n)","beginCaptures":{"0":{"name":"variable.lua"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","patterns":[{"begin":"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)","end":"(?=[\\n#])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"variable.lua"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"1":{"name":"storage.type.annotation.lua"},"2":{"name":"support.function.library.lua"}}},{"end":"(?=[\\n@#])","patterns":[{"begin":"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)","end":"(?=\\n)","patterns":[{"include":"#emmydoc.type"},{"name":"keyword.operator.lua","match":"([+-|])"}],"beginCaptures":{"0":{"name":"variable.other.lua"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","patterns":[{"begin":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(\\??)","end":"(?=[\\n#])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"1":{"name":"entity.name.variable.lua"},"2":{"name":"keyword.operator.lua"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","patterns":[{"name":"keyword.operator.lua","match":"\\?"},{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","patterns":[{"begin":"(\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b|(\\[))(\\??)","end":"(?=[\\n#])","patterns":[{"include":"#string"},{"include":"#emmydoc.type"},{"name":"keyword.operator.lua","match":"\\]"}],"beginCaptures":{"2":{"name":"entity.name.variable.lua"},"3":{"name":"keyword.operator.lua"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","patterns":[{"begin":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b","end":"(?=\\n)|(,)","patterns":[{"name":"keyword.operator.lua","match":":"},{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"storage.type.generic.lua"}},"endCaptures":{"0":{"name":"keyword.operator.lua"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","patterns":[{"name":"support.class.lua","match":"\\b(5\\.1|5\\.2|5\\.3|5\\.4|JIT)\\b"},{"name":"keyword.operator.lua","match":",|\\\u003e|\\\u003c"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","patterns":[{"name":"support.class.lua","match":"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)"},{"name":"keyword.operator.lua","match":"#"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","patterns":[{"begin":"([a-zA-Z_\\-0-9]+)[ \\t]*(:)?","end":"(?=\\n)","patterns":[{"name":"support.class.lua","match":"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\-]*)"},{"name":"keyword.operator.lua","match":","}],"beginCaptures":{"1":{"name":"keyword.other.unit"},"2":{"name":"keyword.operator.unit"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"end":"(?=[\\n@#])","patterns":[{"include":"#string"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"name":"storage.type.annotation.lua"},{"begin":"(?\u003c=---)\\|\\s*[\\\u003e\\+]?","end":"(?=[\\n@#])","patterns":[{"include":"#string"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}}]},"emmydoc.type":{"patterns":[{"begin":"\\bfun\\b","end":"(?=[\\s#])","patterns":[{"name":"keyword.operator.lua","match":"[\\(\\),:\\?][ \\t]*"},{"name":"entity.name.variable.lua","match":"([a-zA-Z_][a-zA-Z0-9_\\.\\*\\[\\]\\\u003c\\\u003e\\,\\-]*)(?\u003c!,)[ \\t]*(?=\\??:)"},{"include":"#emmydoc.type"},{"include":"#string"}],"beginCaptures":{"0":{"name":"keyword.control.lua"}}},{"name":"storage.type.generic.lua","match":"\\\u003c[a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*\\\u003e"},{"name":"entity.name.tag.lua","match":"\\basync\\b"},{"name":"keyword.operator.lua","match":"[\\{\\}\\:\\,\\?\\|\\`][ \\t]*"},{"begin":"(?=[a-zA-Z_\\.\\*\"'\\[])","end":"(?=[\\s\\)\\,\\?\\:\\}\\|#])","patterns":[{"name":"support.type.lua","match":"([a-zA-Z0-9_\\.\\*\\[\\]\\\u003c\\\u003e\\,\\-]+)(?\u003c!,)[ \\t]*"},{"name":"constant.language.lua","match":"(\\.\\.\\.)[ \\t]*"},{"include":"#string"}]}]},"escaped_char":{"patterns":[{"name":"constant.character.escape.lua","match":"\\\\[abfnrtv\\\\\"'\\n]"},{"name":"constant.character.escape.lua","match":"\\\\z[\\n\\t ]*"},{"name":"constant.character.escape.byte.lua","match":"\\\\\\d{1,3}"},{"name":"constant.character.escape.byte.lua","match":"\\\\x[0-9A-Fa-f][0-9A-Fa-f]"},{"name":"constant.character.escape.unicode.lua","match":"\\\\u\\{[0-9A-Fa-f]+\\}"},{"name":"invalid.illegal.character.escape.lua","match":"\\\\."}]},"ldoc_tag":{"match":"\\G[ \\t]*(@)(alias|annotation|author|charset|class|classmod|comment|constructor|copyright|description|example|export|factory|field|file|fixme|function|include|lfunction|license|local|module|name|param|pragma|private|raise|release|return|script|section|see|set|static|submodule|summary|tfield|thread|tparam|treturn|todo|topic|type|usage|warning|within)\\b","captures":{"1":{"name":"punctuation.definition.block.tag.ldoc"},"2":{"name":"storage.type.class.ldoc"}}},"string":{"patterns":[{"name":"string.quoted.single.lua","begin":"'","end":"'[ \\t]*|(?=\\n)","patterns":[{"include":"#escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}}},{"name":"string.quoted.double.lua","begin":"\"","end":"\"[ \\t]*|(?=\\n)","patterns":[{"include":"#escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}}},{"name":"string.quoted.double.lua","begin":"`","end":"`[ \\t]*|(?=\\n)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}}},{"contentName":"meta.embedded.lua","begin":"(?\u003c=\\.cdef)\\s*(\\[(=*)\\[)","end":"(\\]\\2\\])[ \\t]*","patterns":[{"include":"source.c"}],"beginCaptures":{"0":{"name":"string.quoted.other.multiline.lua"},"1":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"string.quoted.other.multiline.lua"},"1":{"name":"punctuation.definition.string.end.lua"}}},{"name":"string.quoted.other.multiline.lua","begin":"(?\u003c!--)\\[(=*)\\[","end":"\\]\\1\\][ \\t]*","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}}}]}}}
1
+ {"name":"Lua","scopeName":"source.lua","patterns":[{"name":"meta.function.lua","begin":"\\b(?:(local)\\s+)?(function)\\b(?![,:])","end":"(?\u003c=[\\)\\-{}\\[\\]\"'])","patterns":[{"include":"#comment"},{"name":"meta.parameter.lua","begin":"(\\()","end":"(\\))|(?=[\\-\\.{}\\[\\]\"'])","patterns":[{"include":"#comment"},{"name":"variable.parameter.function.lua","match":"[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"punctuation.separator.arguments.lua","match":","},{"begin":":","end":"(?=[\\),])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"punctuation.separator.arguments.lua"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.lua"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.finish.lua"}}},{"name":"entity.name.class.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b\\s*(?=:)"},{"name":"entity.name.function.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"keyword.local.lua"},"2":{"name":"keyword.control.lua"}}},{"name":"constant.numeric.float.hexadecimal.lua","match":"(?\u003c![\\w\\d.])0[xX][0-9A-Fa-f]+(\\.[0-9A-Fa-f]*)?([eE]-?\\d*)?([pP][-+]\\d+)?"},{"name":"constant.numeric.float.hexadecimal.lua","match":"(?\u003c![\\w\\d.])0[xX]\\.[0-9A-Fa-f]+([eE]-?\\d*)?([pP][-+]\\d+)?"},{"name":"constant.numeric.integer.hexadecimal.lua","match":"(?\u003c![\\w\\d.])0[xX][0-9A-Fa-f]+(?![pPeE.0-9])"},{"name":"constant.numeric.float.lua","match":"(?\u003c![\\w\\d.])\\d+(\\.\\d*)?([eE]-?\\d*)?"},{"name":"constant.numeric.float.lua","match":"(?\u003c![\\w\\d.])\\.\\d+([eE]-?\\d*)?"},{"name":"constant.numeric.integer.lua","match":"(?\u003c![\\w\\d.])\\d+(?![pPeE.0-9])"},{"include":"#string"},{"name":"comment.line.shebang.lua","match":"\\A(#!).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.lua"}}},{"include":"#comment"},{"match":"\\b(goto)\\s+([a-zA-Z_][a-zA-Z0-9_]*)","captures":{"1":{"name":"keyword.control.goto.lua"},"2":{"name":"string.tag.lua"}}},{"name":"string.tag.lua","match":"(::)\\s*[a-zA-Z_][a-zA-Z0-9_]*\\s*(::)","captures":{"1":{"name":"punctuation.section.embedded.begin.lua"},"2":{"name":"punctuation.section.embedded.end.lua"}}},{"match":"\u003c\\s*(const|close)\\s*\u003e","captures":{"0":{"name":"storage.type.attribute.lua"}}},{"name":"storage.type.generic.lua","match":"\\\u003c[a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*\\\u003e"},{"name":"keyword.control.lua","match":"\\b(break|do|else|for|if|elseif|goto|return|then|repeat|while|until|end|in)\\b"},{"name":"keyword.local.lua","match":"\\b(local)\\b"},{"name":"keyword.control.lua","match":"\\b(function)\\b(?![,:])"},{"name":"constant.language.lua","match":"(?\u003c![^.]\\.|:)\\b(false|nil(?!:)|true|_ENV|_G|_VERSION|math\\.(pi|huge|maxinteger|mininteger)|utf8\\.charpattern|io\\.(stdin|stdout|stderr)|package\\.(config|cpath|loaded|loaders|path|preload|searchers))\\b|(?\u003c![.])\\.{3}(?!\\.)"},{"name":"variable.language.self.lua","match":"(?\u003c![^.]\\.|:)\\b(self)\\b"},{"name":"support.function.lua","match":"(?\u003c![^.]\\.|:)\\b(assert|collectgarbage|dofile|error|getfenv|getmetatable|ipairs|load|loadfile|loadstring|module|next|pairs|pcall|print|rawequal|rawget|rawlen|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|unpack|xpcall)\\b(?!\\s*=(?!=))"},{"name":"entity.name.tag.lua","match":"(?\u003c![^.]\\.|:)\\b(async)\\b(?!\\s*=(?!=))"},{"name":"support.function.library.lua","match":"(?\u003c![^.]\\.|:)\\b(coroutine\\.(create|isyieldable|close|resume|running|status|wrap|yield)|string\\.(byte|char|dump|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|sub|unpack|upper)|table\\.(concat|insert|maxn|move|pack|remove|sort|unpack)|math\\.(abs|acos|asin|atan2?|ceil|cosh?|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pow|rad|random|randomseed|sinh?|sqrt|tanh?|tointeger|type)|io\\.(close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|os\\.(clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\\.(loadlib|seeall|searchpath)|debug\\.(debug|[gs]etfenv|[gs]ethook|getinfo|[gs]etlocal|[gs]etmetatable|getregistry|[gs]etupvalue|[gs]etuservalue|set[Cc]stacklimit|traceback|upvalueid|upvaluejoin)|bit32\\.(arshift|band|bnot|bor|btest|bxor|extract|replace|lrotate|lshift|rrotate|rshift)|utf8\\.(char|codes|codepoint|len|offset))\\b(?!\\s*=(?!=))"},{"name":"keyword.operator.lua","match":"\\b(and|or|not|\\|\\||\\\u0026\\\u0026|\\!)\\b"},{"name":"support.function.any-method.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(?:[({\"']|\\[\\[))"},{"name":"entity.name.class.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*\\??:)"},{"name":"entity.other.attribute.lua","match":"(?\u003c=[^.]\\.|:)\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?!\\s*=\\s*\\b(function)\\b)"},{"name":"variable.other.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?!\\s*=\\s*\\b(function)\\b)"},{"name":"entity.name.function.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*=\\s*\\b(function)\\b)"},{"name":"keyword.operator.lua","match":"\\+|-|%|#|\\*|\\/|\\^|==?|~=|!=|\u003c=?|\u003e=?|(?\u003c!\\.)\\.{2}(?!\\.)"}],"repository":{"comment":{"patterns":[{"begin":"(^[ \\t]+)?(?=--)","end":"(?!\\G)((?!^)[ \\t]+\\n)?","patterns":[{"begin":"--\\[(=*)\\[@@@","end":"(--)?\\]\\1\\]","patterns":[{"include":"source.lua"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.lua"}}},{"name":"comment.block.lua","begin":"--\\[(=*)\\[","end":"(--)?\\]\\1\\]","patterns":[{"include":"#emmydoc"},{"include":"#ldoc_tag"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.lua"}}},{"name":"comment.line.double-dash.lua","begin":"----","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.lua"}}},{"name":"comment.line.double-dash.documentation.lua","begin":"---","end":"\\n","patterns":[{"include":"#emmydoc"},{"include":"#ldoc_tag"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.lua"}}},{"name":"comment.line.double-dash.lua","begin":"--","end":"\\n","patterns":[{"include":"#ldoc_tag"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.lua"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.lua"}},"endCaptures":{"1":{"name":"punctuation.whitespace.comment.trailing.lua"}}},{"name":"comment.block.lua","begin":"\\/\\*","end":"\\*\\/","patterns":[{"include":"#emmydoc"},{"include":"#ldoc_tag"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.lua"}}}]},"emmydoc":{"patterns":[{"begin":"(?\u003c=---)[ \\t]*@class","end":"(?=[\\n@#])","patterns":[{"name":"support.class.lua","match":"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)"},{"name":"keyword.operator.lua","match":":|,"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@enum","end":"(?=[\\n@#])","patterns":[{"begin":"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)","end":"(?=\\n)","beginCaptures":{"0":{"name":"variable.lua"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@type","end":"(?=[\\n@#])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@alias","end":"(?=[\\n@#])","patterns":[{"begin":"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)","end":"(?=[\\n#])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"variable.lua"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*(@operator)\\s*(\\b[a-z]+)?","end":"(?=[\\n@#])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"1":{"name":"storage.type.annotation.lua"},"2":{"name":"support.function.library.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@cast","end":"(?=[\\n@#])","patterns":[{"begin":"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)","end":"(?=\\n)","patterns":[{"include":"#emmydoc.type"},{"name":"keyword.operator.lua","match":"([+-|])"}],"beginCaptures":{"0":{"name":"variable.other.lua"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@param","end":"(?=[\\n@#])","patterns":[{"begin":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(\\??)","end":"(?=[\\n#])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"1":{"name":"entity.name.variable.lua"},"2":{"name":"keyword.operator.lua"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@return","end":"(?=[\\n@#])","patterns":[{"name":"keyword.operator.lua","match":"\\?"},{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@field","end":"(?=[\\n@#])","patterns":[{"begin":"(\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b|(\\[))(\\??)","end":"(?=[\\n#])","patterns":[{"include":"#string"},{"include":"#emmydoc.type"},{"name":"keyword.operator.lua","match":"\\]"}],"beginCaptures":{"2":{"name":"entity.name.variable.lua"},"3":{"name":"keyword.operator.lua"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@generic","end":"(?=[\\n@#])","patterns":[{"begin":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b","end":"(?=\\n)|(,)","patterns":[{"name":"keyword.operator.lua","match":":"},{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"storage.type.generic.lua"}},"endCaptures":{"0":{"name":"keyword.operator.lua"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@vararg","end":"(?=[\\n@#])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@overload","end":"(?=[\\n@#])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@deprecated","end":"(?=[\\n@#])","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@meta","end":"(?=[\\n@#])","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@private","end":"(?=[\\n@#])","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@protected","end":"(?=[\\n@#])","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@package","end":"(?=[\\n@#])","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@version","end":"(?=[\\n@#])","patterns":[{"name":"support.class.lua","match":"\\b(5\\.1|5\\.2|5\\.3|5\\.4|JIT)\\b"},{"name":"keyword.operator.lua","match":",|\\\u003e|\\\u003c"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@see","end":"(?=[\\n@#])","patterns":[{"name":"support.class.lua","match":"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)"},{"name":"keyword.operator.lua","match":"#"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@diagnostic","end":"(?=[\\n@#])","patterns":[{"begin":"([a-zA-Z_\\-0-9]+)[ \\t]*(:)?","end":"(?=\\n)","patterns":[{"name":"support.class.lua","match":"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\-]*)"},{"name":"keyword.operator.lua","match":","}],"beginCaptures":{"1":{"name":"keyword.other.unit"},"2":{"name":"keyword.operator.unit"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@module","end":"(?=[\\n@#])","patterns":[{"include":"#string"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"name":"storage.type.annotation.lua","match":"(?\u003c=---)[ \\t]*@(async|nodiscard)"},{"begin":"(?\u003c=---)\\|\\s*[\\\u003e\\+]?","end":"(?=[\\n@#])","patterns":[{"include":"#string"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}}]},"emmydoc.type":{"patterns":[{"begin":"\\bfun\\b","end":"(?=[\\s#])","patterns":[{"name":"keyword.operator.lua","match":"[\\(\\),:\\?][ \\t]*"},{"name":"entity.name.variable.lua","match":"([a-zA-Z_][a-zA-Z0-9_\\.\\*\\[\\]\\\u003c\\\u003e\\,\\-]*)(?\u003c!,)[ \\t]*(?=\\??:)"},{"include":"#emmydoc.type"},{"include":"#string"}],"beginCaptures":{"0":{"name":"keyword.control.lua"}}},{"name":"storage.type.generic.lua","match":"\\\u003c[a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*\\\u003e"},{"name":"entity.name.tag.lua","match":"\\basync\\b"},{"name":"keyword.operator.lua","match":"[\\{\\}\\:\\,\\?\\|\\`][ \\t]*"},{"begin":"(?=[a-zA-Z_\\.\\*\"'\\[])","end":"(?=[\\s\\)\\,\\?\\:\\}\\|#])","patterns":[{"name":"support.type.lua","match":"([a-zA-Z0-9_\\.\\*\\[\\]\\\u003c\\\u003e\\,\\-]+)(?\u003c!,)[ \\t]*"},{"name":"constant.language.lua","match":"(\\.\\.\\.)[ \\t]*"},{"include":"#string"}]}]},"escaped_char":{"patterns":[{"name":"constant.character.escape.lua","match":"\\\\[abfnrtv\\\\\"'\\n]"},{"name":"constant.character.escape.lua","match":"\\\\z[\\n\\t ]*"},{"name":"constant.character.escape.byte.lua","match":"\\\\\\d{1,3}"},{"name":"constant.character.escape.byte.lua","match":"\\\\x[0-9A-Fa-f][0-9A-Fa-f]"},{"name":"constant.character.escape.unicode.lua","match":"\\\\u\\{[0-9A-Fa-f]+\\}"},{"name":"invalid.illegal.character.escape.lua","match":"\\\\."}]},"ldoc_tag":{"match":"\\G[ \\t]*(@)(alias|annotation|author|charset|class|classmod|comment|constructor|copyright|description|example|export|factory|field|file|fixme|function|include|lfunction|license|local|module|name|param|pragma|private|raise|release|return|script|section|see|set|static|submodule|summary|tfield|thread|tparam|treturn|todo|topic|type|usage|warning|within)\\b","captures":{"1":{"name":"punctuation.definition.block.tag.ldoc"},"2":{"name":"storage.type.class.ldoc"}}},"string":{"patterns":[{"name":"string.quoted.single.lua","begin":"'","end":"'[ \\t]*|(?=\\n)","patterns":[{"include":"#escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}}},{"name":"string.quoted.double.lua","begin":"\"","end":"\"[ \\t]*|(?=\\n)","patterns":[{"include":"#escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}}},{"name":"string.quoted.double.lua","begin":"`","end":"`[ \\t]*|(?=\\n)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}}},{"contentName":"meta.embedded.lua","begin":"(?\u003c=\\.cdef)\\s*(\\[(=*)\\[)","end":"(\\]\\2\\])[ \\t]*","patterns":[{"include":"source.c"}],"beginCaptures":{"0":{"name":"string.quoted.other.multiline.lua"},"1":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"string.quoted.other.multiline.lua"},"1":{"name":"punctuation.definition.string.end.lua"}}},{"name":"string.quoted.other.multiline.lua","begin":"(?\u003c!--)\\[(=*)\\[","end":"\\]\\1\\][ \\t]*","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}}}]}}}
@@ -0,0 +1 @@
1
+ {"name":"Luau","scopeName":"source.luau","patterns":[{"include":"#function-definition"},{"include":"#number"},{"include":"#string"},{"include":"#shebang"},{"include":"#comment"},{"include":"#local-declaration"},{"include":"#for-loop"},{"include":"#type-alias-declaration"},{"include":"#keyword"},{"include":"#language_constant"},{"include":"#standard_library"},{"include":"#identifier"},{"include":"#operator"},{"include":"#parentheses"},{"include":"#table"},{"include":"#type_cast"},{"include":"#type_annotation"},{"include":"#attribute"}],"repository":{"attribute":{"patterns":[{"name":"meta.attribute.luau","match":"(@)([a-zA-Z_][a-zA-Z0-9_]*)","captures":{"1":{"name":"keyword.operator.attribute.luau"},"2":{"name":"storage.type.attribute.luau"}}}]},"comment":{"patterns":[{"name":"comment.block.luau","begin":"--\\[(=*)\\[","end":"\\]\\1\\]","patterns":[{"name":"keyword.operator.other.luau","begin":"(```lua)\\s+","end":"(```)","patterns":[{"include":"source.luau"}],"beginCaptures":{"1":{"name":"comment.luau"}},"endCaptures":{"1":{"name":"comment.luau"}}},{"include":"#doc_comment_tags"}]},{"name":"comment.line.double-dash.documentation.luau","begin":"---","end":"\\n","patterns":[{"include":"#doc_comment_tags"}]},{"name":"comment.line.double-dash.luau","begin":"--","end":"\\n"}]},"doc_comment_tags":{"patterns":[{"name":"storage.type.class.luadoc.luau","match":"@\\w+"},{"match":"((?\u003c=[\\s*!\\/])[\\\\@]param)(?:\\s)+(\\b\\w+\\b)","captures":{"1":{"name":"storage.type.class.luadoc.luau"},"2":{"name":"variable.parameter.luau"}}}]},"for-loop":{"begin":"\\b(for)\\b","end":"\\b(in)\\b|(=)","patterns":[{"begin":"(:)","end":"(?=\\s*in\\b|\\s*[=,]|\\s*$)","patterns":[{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"keyword.operator.type.luau"}}},{"name":"variable.parameter.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"keyword.control.luau"}},"endCaptures":{"1":{"name":"keyword.control.luau"},"2":{"name":"keyword.operator.assignment.luau"}}},"function-definition":{"name":"meta.function.luau","begin":"\\b(?:(local)\\s+)?(function)\\b(?![,:])","end":"(?\u003c=[\\)\\-{}\\[\\]\"'])","patterns":[{"include":"#comment"},{"include":"#generics-declaration"},{"name":"meta.parameter.luau","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comment"},{"name":"variable.parameter.function.varargs.luau","match":"\\.\\.\\."},{"name":"variable.parameter.function.luau","match":"[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"punctuation.separator.arguments.luau","match":","},{"begin":":","end":"(?=[\\),])","patterns":[{"include":"#type_literal"}],"beginCaptures":{"0":{"name":"keyword.operator.type.luau"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.luau"}}},{"name":"variable.language.metamethod.luau","match":"\\b(__add|__call|__concat|__div|__eq|__index|__le|__len|__lt|__metatable|__mod|__mode|__mul|__newindex|__pow|__sub|__tostring|__unm|__iter|__idiv)\\b"},{"name":"entity.name.function.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.local.luau"},"2":{"name":"keyword.control.luau"}}},"generics-declaration":{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"name":"entity.name.type.luau","match":"[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"keyword.operator.assignment.luau","match":"="},{"include":"#type_literal"}]},"identifier":{"patterns":[{"name":"entity.name.function.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(?:[({\"']|\\[\\[))"},{"name":"variable.other.property.luau","match":"(?\u003c=[^.]\\.|:)\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{"name":"variable.other.constant.luau","match":"\\b([A-Z_][A-Z0-9_]*)\\b"},{"name":"variable.other.readwrite.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}]},"interpolated_string_expression":{"name":"meta.template.expression.luau","contentName":"meta.embedded.line.luau","begin":"\\{","end":"\\}","patterns":[{"include":"source.luau"}],"beginCaptures":{"0":{"name":"punctuation.definition.interpolated-string-expression.begin.luau"}},"endCaptures":{"0":{"name":"punctuation.definition.interpolated-string-expression.end.luau"}}},"keyword":{"patterns":[{"name":"keyword.control.luau","match":"\\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\\b"},{"name":"storage.modifier.local.luau","match":"\\b(local)\\b"},{"name":"keyword.control.luau","match":"\\b(function)\\b(?![,:])"},{"name":"variable.language.self.luau","match":"(?\u003c![^.]\\.|:)\\b(self)\\b"},{"name":"keyword.operator.logical.luau keyword.operator.wordlike.luau","match":"\\b(and|or|not)\\b"},{"name":"variable.language.metamethod.luau","match":"(?\u003c=[^.]\\.|:)\\b(__add|__call|__concat|__div|__eq|__index|__le|__len|__lt|__metatable|__mod|__mode|__mul|__newindex|__pow|__sub|__tostring|__unm)\\b"},{"name":"keyword.other.unit.luau","match":"(?\u003c![.])\\.{3}(?!\\.)"}]},"language_constant":{"patterns":[{"name":"constant.language.boolean.false.luau","match":"(?\u003c![^.]\\.|:)\\b(false)\\b"},{"name":"constant.language.boolean.true.luau","match":"(?\u003c![^.]\\.|:)\\b(true)\\b"},{"name":"constant.language.nil.luau","match":"(?\u003c![^.]\\.|:)\\b(nil(?!:))\\b"}]},"local-declaration":{"begin":"\\b(local)\\b","end":"(?=\\s*do\\b|\\s*[=;]|\\s*$)","patterns":[{"include":"#comment"},{"include":"#attribute"},{"begin":"(:)","end":"(?=\\s*do\\b|\\s*[=;,]|\\s*$)","patterns":[{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"keyword.operator.type.luau"}}},{"name":"variable.other.constant.luau","match":"\\b([A-Z_][A-Z0-9_]*)\\b"},{"name":"variable.other.readwrite.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.local.luau"}}},"number":{"patterns":[{"name":"constant.numeric.hex.luau","match":"\\b0_*[xX]_*[\\da-fA-F_]*(?:[eE][\\+\\-]?_*\\d[\\d_]*(?:\\.[\\d_]*)?)?"},{"name":"constant.numeric.binary.luau","match":"\\b0_*[bB][01_]+(?:[eE][\\+\\-]?_*\\d[\\d_]*(?:\\.[\\d_]*)?)?"},{"name":"constant.numeric.decimal.luau","match":"(?:\\d[\\d_]*(?:\\.[\\d_]*)?|\\.\\d[\\d_]*)(?:[eE][\\+\\-]?_*\\d[\\d_]*(?:\\.[\\d_]*)?)?"}]},"operator":{"patterns":[{"name":"keyword.operator.comparison.luau","match":"==|~=|!=|\u003c=?|\u003e=?"},{"name":"keyword.operator.assignment.luau","match":"\\+=|-=|/=|//=|\\*=|%=|\\^=|\\.\\.=|="},{"name":"keyword.operator.arithmetic.luau","match":"\\+|-|%|\\*|\\/\\/|\\/|\\^"},{"name":"keyword.operator.other.luau","match":"#|(?\u003c!\\.)\\.{2}(?!\\.)"}]},"parentheses":{"begin":"(\\()","end":"(\\))","patterns":[{"name":"punctuation.separator.arguments.luau","match":","},{"include":"source.luau"}],"beginCaptures":{"1":{"name":"punctuation.arguments.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.arguments.end.luau"}}},"shebang":{"name":"comment.line.shebang.luau","match":"\\A(#!).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.luau"}}},"standard_library":{"patterns":[{"name":"support.function.luau","match":"(?\u003c![^.]\\.|:)\\b(assert|collectgarbage|error|gcinfo|getfenv|getmetatable|ipairs|loadstring|newproxy|next|pairs|pcall|print|rawequal|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|typeof|unpack|xpcall)\\b"},{"name":"constant.language.luau","match":"(?\u003c![^.]\\.|:)\\b(_G|_VERSION)\\b"},{"name":"support.function.luau","match":"(?\u003c![^.]\\.|:)\\b(bit32\\.(?:arshift|band|bnot|bor|btest|bxor|extract|lrotate|lshift|replace|rrotate|rshift|countlz|countrz|byteswap)|coroutine\\.(?:create|isyieldable|resume|running|status|wrap|yield|close)|debug\\.(?:info|loadmodule|profilebegin|profileend|traceback)|math\\.(?:abs|acos|asin|atan|atan2|ceil|clamp|cos|cosh|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|noise|pow|rad|random|randomseed|round|sign|sin|sinh|sqrt|tan|tanh)|os\\.(?:clock|date|difftime|time)|string\\.(?:byte|char|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|split|sub|unpack|upper)|table\\.(?:concat|create|find|foreach|foreachi|getn|insert|maxn|move|pack|remove|sort|unpack|clear|freeze|isfrozen|clone)|task\\.(?:spawn|synchronize|desynchronize|wait|defer|delay)|utf8\\.(?:char|codepoint|codes|graphemes|len|nfcnormalize|nfdnormalize|offset)|buffer\\.(?:create|fromstring|tostring|len|readi8|readu8|readi16|readu16|readi32|readu32|readf32|readf64|writei8|writeu8|writei16|writeu16|writei32|writeu32|writef32|writef64|readstring|writestring|copy|fill))\\b"},{"name":"support.constant.luau","match":"(?\u003c![^.]\\.|:)\\b(bit32|buffer|coroutine|debug|math(\\.(huge|pi))?|os|string|table|task|utf8(\\.charpattern)?)\\b"},{"name":"support.function.luau","match":"(?\u003c![^.]\\.|:)\\b(delay|DebuggerManager|elapsedTime|PluginManager|printidentity|settings|spawn|stats|tick|time|UserSettings|version|wait|warn)\\b"},{"name":"constant.language.luau","match":"(?\u003c![^.]\\.|:)\\b(game|plugin|shared|script|workspace|Enum(?:\\.\\w+){0,2})\\b"}]},"string":{"patterns":[{"name":"string.quoted.double.luau","begin":"\"","end":"\"","patterns":[{"include":"#string_escape"}]},{"name":"string.quoted.single.luau","begin":"'","end":"'","patterns":[{"include":"#string_escape"}]},{"name":"string.other.multiline.luau","begin":"\\[(=*)\\[","end":"\\]\\1\\]"},{"name":"string.interpolated.luau","begin":"`","end":"`","patterns":[{"include":"#interpolated_string_expression"},{"include":"#string_escape"}]}]},"string_escape":{"patterns":[{"name":"constant.character.escape.luau","match":"\\\\[abfnrtvz'\"`{\\\\]"},{"name":"constant.character.escape.luau","match":"\\\\\\d{1,3}"},{"name":"constant.character.escape.luau","match":"\\\\x[0-9a-fA-F]{2}"},{"name":"constant.character.escape.luau","match":"\\\\u\\{[0-9a-fA-F]*\\}"},{"name":"constant.character.escape.luau","match":"\\\\$"}]},"table":{"begin":"(\\{)","end":"(\\})","patterns":[{"name":"punctuation.separator.fields.luau","match":"[,;]"},{"include":"source.luau"}],"beginCaptures":{"1":{"name":"punctuation.table.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.table.end.luau"}}},"type-alias-declaration":{"begin":"^\\b(?:(export)\\s+)?(type)\\b","end":"(?=\\s*$)|(?=\\s*;)","patterns":[{"include":"#type_literal"},{"name":"keyword.operator.assignment.luau","match":"="}],"beginCaptures":{"1":{"name":"storage.modifier.visibility.luau"},"2":{"name":"storage.type.luau"}}},"type_annotation":{"begin":":(?!\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(?:[({\"']|\\[\\[)))","end":"(?\u003c=\\))(?!\\s*-\u003e)|=|;|$|(?=\\breturn\\b)|(?=\\bend\\b)","patterns":[{"include":"#comment"},{"include":"#type_literal"}]},"type_cast":{"begin":"(::)","end":"(?=^|[;),}\\]:?\\-\\+\\\u003e](?!\\s*[\u0026\\|])|$|\\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\\b)","patterns":[{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"keyword.operator.typecast.luau"}}},"type_literal":{"patterns":[{"include":"#comment"},{"include":"#string"},{"name":"keyword.operator.type.luau","match":"\\?|\\\u0026|\\|"},{"name":"keyword.operator.type.luau","match":"-\u003e"},{"name":"constant.language.boolean.false.luau","match":"\\b(false)\\b"},{"name":"constant.language.boolean.true.luau","match":"\\b(true)\\b"},{"name":"support.type.primitive.luau","match":"\\b(nil|string|number|boolean|thread|userdata|symbol|any)\\b"},{"begin":"\\b(typeof)\\b(\\()","end":"(\\))","patterns":[{"include":"source.luau"}],"beginCaptures":{"1":{"name":"support.function.luau"},"2":{"name":"punctuation.arguments.begin.typeof.luau"}},"endCaptures":{"1":{"name":"punctuation.arguments.end.typeof.luau"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"name":"keyword.operator.assignment.luau","match":"="},{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"keyword.operator.type.luau"}},"endCaptures":{"1":{"name":"keyword.operator.type.luau"}}},{"name":"entity.name.type.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{"begin":"\\{","end":"\\}","patterns":[{"begin":"\\[","end":"\\]","patterns":[{"include":"#type_literal"}]},{"match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(:)","captures":{"1":{"name":"variable.property.luau"},"2":{"name":"keyword.operator.type.luau"}}},{"include":"#type_literal"},{"name":"punctuation.separator.fields.type.luau","match":"[,;]"}]},{"begin":"\\(","end":"\\)","patterns":[{"name":"variable.parameter.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(:)","captures":{"1":{"name":"variable.parameter.luau"},"2":{"name":"keyword.operator.type.luau"}}},{"include":"#type_literal"}]}]}}}
@@ -1 +1 @@
1
- {"name":"Macaulay2","scopeName":"source.m2","patterns":[{"include":"#keywords"},{"include":"#comment"},{"include":"#strings"},{"include":"#fields"},{"include":"#math"},{"include":"#autogen"}],"repository":{"autogen":{"patterns":[{"name":"entity.name.type.m2","match":"(?x)(\\b|^)(Adjacent|AffineVariety|Analyzer|ANCHOR|AngleBarList|Array|AssociativeExpression|Bag|BasicList|BettiTally|BinaryOperation|BLOCKQUOTE|BODY|BOLD|Boolean|BR|CacheFunction|CacheTable|CC|CDATA|ChainComplex|ChainComplexMap|CODE|CoherentSheaf|Command|COMMENT|CompiledFunction|CompiledFunctionBody|CompiledFunctionClosure|ComplexField|Constant|Database|DD|Descent|Describe|Dictionary|DIV|Divide|DL|DocumentTag|DT|Eliminate|EM|EngineRing|Equation|ExampleItem|Expression|File|FilePosition|FractionField|Function|FunctionApplication|FunctionBody|FunctionClosure|GaloisField|GeneralOrderedMonoid|GlobalDictionary|GradedModule|GradedModuleMap|GroebnerBasis|GroebnerBasisOptions|HashTable|HEAD|HEADER1|HEADER2|HEADER3|HEADER4|HEADER5|HEADER6|HeaderType|Holder|HR|HREF|HTML|Hybrid|Hypertext|HypertextContainer|HypertextParagraph|Ideal|IMG|ImmutableType|IndeterminateNumber|IndexedVariable|IndexedVariableTable|InexactField|InexactFieldFamily|InexactNumber|InfiniteNumber|IntermediateMarkUpType|ITALIC|Iterator|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|SCRIPT|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|acoth|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|atanh|atEndOfFile|autoload|baseFilename|baseName|baseRing|basis|beginDocumentation|benchmark|BesselJ|BesselY|Beta|betti|between|binomial|borel|cacheValue|cancelTask|capture|ceiling|centerString|chainComplex|changeBase|char|characters|charAnalyzer|check|checkDegrees|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|currentColumnNumber|currentDirectory|currentPosition|currentRowNumber|currentTime|deadParser|debug|debugError|decompose|deepSplice|default|degree|degreeGroup|degreeLength|degrees|degreesMonoid|degreesRing|delete|demark|denominator|depth|describe|det|determinant|diagonalMatrix|diameter|dictionary|diff|difference|Digamma|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|inverseErf|inversePermutation|inverseRegularizedBeta|inverseRegularizedGamma|inverseSystem|irreducibleCharacteristicSeries|irreducibleDecomposition|isAffineRing|isANumber|isBorel|isc|isCanceled|isCommutative|isConstant|isDirectory|isDirectSum|isEmpty|isField|isFinite|isFinitePrimeField|isFreeModule|isGlobalSymbol|isHomogeneous|isIdeal|isInfinite|isInjective|isInputFile|isIsomorphic|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|iterator|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|M2CODE|makeDirectory|makeDocumentTag|makePackageIndex|makeS2|map|markedGB|match|mathML|matrix|max|maxPosition|member|memoize|memoizeClear|memoizeValues|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|next|nextkey|nextPrime|NNParser|nonspaceAnalyzer|norm|normalCone|notImplemented|nullhomotopy|nullParser|nullSpace|number|numcols|numColumns|numerator|numeric|numericInterval|numgens|numRows|numrows|odd|oeis|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|regularizedBeta|regularizedGamma|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|uniquePermutations|unsequence|unstack|urlEncode|use|userSymbols|utf8|utf8check|utf8substring|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|blockMatrixForm|Body|BoijSoederberg|Book3264Examples|BooleanGB|Boxes|Browse|Bruns|cache|CacheExampleOutput|CallLimit|CannedExample|CatalanConstant|Caveat|Center|Certification|ChainComplexExtras|ChainComplexOperations|ChangeMatrix|CharacteristicClasses|CheckDocumentation|Chordal|Classic|clearAll|clearOutput|close|closeIn|closeOut|ClosestFit|Code|CodimensionLimit|CodingTheory|CoefficientRing|Cofactor|CohenEngine|CohenTopLevel|CohomCalg|CoincidentRootLoci|commandLine|compactMatrixForm|Complement|CompleteIntersection|CompleteIntersectionResolutions|Complexes|ConductorElement|Configuration|ConformalBlocks|Consequences|Constants|Contributors|ConvexInterface|ConwayPolynomials|copyright|Core|CorrespondenceScrolls|CotangentSchubert|Cremona|currentFileDirectory|currentFileName|currentLayout|currentPackage|Cyclotomic|Date|dd|DebuggingMode|debuggingMode|debugLevel|DecomposableSparseSystems|Decompose|Default|defaultPrecision|Degree|DegreeGroup|DegreeLift|DegreeLimit|DegreeMap|DegreeOrder|DegreeRank|Degrees|Dense|Density|Depth|Descending|Description|DeterminantalRepresentations|DGAlgebras|dictionaryPath|DiffAlg|Dispatch|DivideConquer|DividedPowers|Divisor|Dmodules|docExample|docTemplate|Down|Dynamic|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|ForeignFunctions|FormalGroupLaws|Format|FourierMotzkin|FourTiTwo|fpLLL|FrobeniusThresholds|FunctionFieldDesingularization|GBDegrees|gbTrace|GenerateAssertions|Generic|GenericInitialIdeal|GeometricDecomposability|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|Isomorphism|Item|Iterate|Jacobian|Jets|Join|JSON|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|MergeTeX|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|OnlineLookup|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|Probability|profileSummary|programPaths|Projective|Prune|PruneComplex|pruningMap|PseudomonomialPrimaryDecomposition|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|StopIteration|StopWithMinimalGenerators|Strategy|Strict|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|Torsion|TotalPairs|Tree|TriangularSets|Triangulations|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|WhitneyStratifications|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
+ {"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|AtomicInt|Bag|BasicList|BettiTally|BinaryOperation|BLOCKQUOTE|BODY|BOLD|Boolean|BR|BUTTON|CacheFunction|CacheTable|CC|CDATA|ChainComplex|ChainComplexMap|CODE|CoherentSheaf|Command|COMMENT|CompiledFunction|CompiledFunctionBody|CompiledFunctionClosure|ComplexField|Constant|Database|DD|Descent|Describe|Dictionary|DirectSum|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|HypertextVoid|Ideal|IMG|ImmutableType|INDENT|IndeterminateNumber|IndexedVariable|IndexedVariableTable|InexactField|InexactFieldFamily|InexactNumber|InfiniteNumber|INPUT|IntermediateMarkUpType|ITALIC|Iterator|KBD|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|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|SAMP|SCRIPT|ScriptedFunctor|SelfInitializingType|Sequence|Set|SheafExpression|SheafMap|SheafOfRings|SMALL|SPAN|SparseMonomialVectorExpression|SparseVectorExpression|String|STRONG|STYLE|SUB|Subscript|SUBSECTION|Sum|SumOfTwists|SUP|Superscript|Symbol|SymbolBody|TABLE|Table|Tally|Task|TD|TensorProduct|TestInput|TEX|TH|Thing|Time|TITLE|TO|TO2|TOH|TR|TT|Type|UL|URL|VAR|Variety|Vector|VectorExpression|VerticalList|VirtualTally|VisibleList|WrapperType|ZeroExpression|ZZ)\\b"},{"name":"entity.name.function.m2","match":"(?x)(\\b|^)(about|abs|accumulate|acos|acosh|acot|acoth|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|atanh|atEndOfFile|autoload|baseFilename|baseName|baseRing|basis|beginDocumentation|benchmark|BesselJ|BesselY|Beta|betti|between|binomial|borel|cacheValue|cancelTask|canonicalBundle|capture|ceiling|centerString|chainComplex|changeBase|char|characters|charAnalyzer|check|checkDegrees|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|compareExchange|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|currentColumnNumber|currentDirectory|currentPosition|currentRowNumber|currentTime|deadParser|debug|debugError|decompose|deepSplice|default|degree|degreeGroup|degreeLength|degrees|degreesMonoid|degreesRing|delete|demark|denominator|depth|describe|det|determinant|diagonalMatrix|diameter|dictionary|diff|difference|Digamma|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|exchange|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|getIOThreadMode|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|inverseErf|inversePermutation|inverseRegularizedBeta|inverseRegularizedGamma|inverseSystem|irreducibleCharacteristicSeries|irreducibleDecomposition|isAffineRing|isANumber|isBorel|isc|isCanceled|isCommutative|isConstant|isDirectory|isDirectSum|isEmpty|isField|isFinite|isFinitePrimeField|isFreeModule|isGlobalSymbol|isHomogeneous|isIdeal|isInfinite|isInjective|isInputFile|isIsomorphic|isIsomorphism|isLiftable|isLinearType|isListener|isLLL|isMember|isModule|isMonomialIdeal|isMutable|isNormal|isOpen|isOutputFile|isPolynomialRing|isPrimary|isPrime|isPrimitive|isProjective|isPseudoprime|isQuotientModule|isQuotientOf|isQuotientRing|isReady|isReal|isReduction|isRegularFile|isRing|isSkewCommutative|isSorted|isSquareFree|isStandardGradedPolynomialRing|isSubmodule|isSubquotient|isSubset|isSupportedInZeroLocus|isSurjective|isTable|isUnit|isWellDefined|isWeylAlgebra|iterator|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|M2CODE|makeDirectory|makeDocumentTag|makePackageIndex|makeS2|map|markedGB|match|mathML|matrix|max|maxPosition|member|memoize|memoizeClear|memoizeValues|merge|mergePairs|method|methodOptions|methods|midpoint|min|mingens|mingle|minimalBetti|minimalPresentation|minimalPrimes|minimalReduction|minimize|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|next|nextkey|nextPrime|NNParser|nonspaceAnalyzer|norm|normalCone|notImplemented|nullhomotopy|nullParser|nullSpace|number|numcols|numColumns|numerator|numeric|numericInterval|numgens|numRows|numrows|odd|oeis|ofClass|on|openDatabase|openDatabaseOut|openFiles|openIn|openInOut|openListener|openOut|openOutAppend|optionalSignParser|options|optP|orP|override|pack|package|packageTemplate|pad|pager|pairs|parallelApply|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|pullback|pushForward|pushout|QQParser|QRDecomposition|quotient|quotientRemainder|radical|radicalContainment|random|randomKRationalPoint|randomMutableMatrix|rank|rays|read|readDirectory|readlink|readPackage|realPart|realpath|recursionDepth|reducedRowEchelonForm|reduceHilbert|reductionNumber|reesAlgebra|reesAlgebraIdeal|reesIdeal|regex|regexQuote|registerFinalizer|regSeqInIdeal|regularity|regularizedBeta|regularizedGamma|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|sheafMap|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|store|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|union|unique|uniquePermutations|unsequence|unstack|urlEncode|use|userSymbols|utf8|utf8check|utf8substring|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|^)(A1BrouwerDegrees|AbstractToricVarieties|Acknowledgement|AdditionalPaths|AdjointIdeal|AdjunctionForSurfaces|AfterEval|AfterNoPrint|AfterPrint|AInfinity|AlgebraicSplines|Algorithm|Alignment|AllCodimensions|allowableThreads|AnalyzeSheafOnP1|applicationDirectorySuffix|argument|Ascending|AssociativeAlgebras|Authors|AuxiliaryFiles|backtrace|Bareiss|Base|BaseFunction|baseRings|BaseRow|BasisElementLimit|Bayer|BeforePrint|BeginningMacaulay2|Benchmark|BernsteinSato|Bertini|BettiCharacters|BGG|BIBasis|Binary|Binomial|BinomialEdgeIdeals|Binomials|BKZ|blockMatrixForm|Body|BoijSoederberg|Book3264Examples|BooleanGB|Boxes|Browse|Bruns|cache|CacheExampleOutput|CallLimit|CannedExample|CatalanConstant|Caveat|CellularResolutions|Center|Certification|ChainComplexExtras|ChainComplexOperations|ChangeMatrix|CharacteristicClasses|CheckDocumentation|Chordal|Classic|clearAll|clearOutput|close|closeIn|closeOut|ClosestFit|Code|CodimensionLimit|CodingTheory|CoefficientRing|Cofactor|CohenEngine|CohenTopLevel|CohomCalg|CoincidentRootLoci|commandLine|compactMatrixForm|Complement|CompleteIntersection|CompleteIntersectionResolutions|Complexes|ConductorElement|Configuration|ConformalBlocks|Consequences|Constants|Contributors|ConvexInterface|ConwayPolynomials|copyright|Core|CorrespondenceScrolls|CotangentSchubert|Cremona|currentFileDirectory|currentFileName|currentLayout|currentPackage|Cyclotomic|Date|dd|DebuggingMode|debuggingMode|debugLevel|DecomposableSparseSystems|Decompose|Default|defaultPrecision|Degree|DegreeGroup|DegreeLift|DegreeLimit|DegreeMap|DegreeOrder|DegreeRank|Degrees|Dense|Density|Depth|Descending|Description|DeterminantalRepresentations|DGAlgebras|dictionaryPath|DiffAlg|Dispatch|DivideConquer|DividedPowers|Divisor|Dmodules|docExample|docTemplate|Down|Dynamic|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|ForeignFunctions|FormalGroupLaws|Format|FourierMotzkin|FourTiTwo|fpLLL|FrobeniusThresholds|FunctionFieldDesingularization|GBDegrees|gbTrace|GenerateAssertions|Generic|GenericInitialIdeal|GeometricDecomposability|gfanInterface|Givens|GKMVarieties|GLex|Global|GlobalAssignHook|globalAssignmentHooks|GlobalHookStore|GlobalReleaseHook|GlobalSectionLimit|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|HolonomicSystems|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|Isomorphism|Item|Iterate|Jacobian|Jets|Join|JSON|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|MatchingFields|MatrixSchubert|Matroids|maxAllowableThreads|maxExponent|MaximalRank|MaxReductionCount|MCMApproximations|MergeTeX|minExponent|MinimalGenerators|MinimalMatrix|minimalPresentationMap|minimalPresentationMapInv|MinimalPrimes|Minimize|MinimumVersion|Miura|MixedMultiplicity|ModuleDeformations|MonodromySolver|Monomial|MonomialAlgebras|MonomialIntegerPrograms|MonomialOrbits|MonomialOrder|Monomials|MonomialSize|MultigradedBGG|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|numTBBThreads|OIGroebnerBases|OldPolyhedra|OldToricVectorBundles|OnlineLookup|OO|oo|ooo|oooo|OpenMath|operatorAttributes|OptionalComponentsPresent|Options|Order|order|OutputDictionary|Outputs|PackageCitations|PackageDictionary|PackageExports|PackageImports|PackageTemplate|PairLimit|PairsRemaining|ParallelF4|ParallelizeByDegree|Parametrization|Parsing|path|PencilsOfQuadrics|Permanents|PHCpack|PhylogeneticTrees|pi|PieriMaps|PlaneCurveLinearSeries|PlaneCurveSingularities|Points|Polyhedra|Polymake|PolyominoIdeals|Posets|Position|PositivityToricBundles|POSIX|Postfix|Pre|Precision|Prefix|prefixDirectory|prefixPath|PrimaryDecomposition|PrimaryTag|PrimitiveElement|Print|printingAccuracy|printingLeadLimit|printingPrecision|printingSeparator|printingTimeLimit|printingTrailLimit|printWidth|Probability|profileSummary|programPaths|Projective|Prune|PruneComplex|pruningMap|PseudomonomialPrimaryDecomposition|Pullback|pullbackMaps|PushForward|pushoutMaps|Python|QthPower|QuadraticIdealExamplesByRoos|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|RInterface|rootPath|rootURI|RunDirectory|RunExamples|RunExternalM2|SagbiGbDetection|Saturation|SaturationMap|Schubert2|SchurComplexes|SchurFunctors|SchurRings|SchurVeronese|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|StopIteration|StopWithMinimalGenerators|Strategy|Strict|StronglyStableIdeals|Style|SubalgebraBases|Subnodes|SubringLimit|subscript|Sugarless|SumsOfSquares|SuperLinearAlgebra|superscript|SVDComplexes|SwitchingFields|SymbolicPowers|SymmetricPolynomials|Synopsis|Syzygies|SyzygyLimit|SyzygyMatrix|SyzygyRows|TangentCone|TateOnProducts|TensorComplexes|TerraciniLoci|Test|testExample|TestIdeals|TeXmacs|Text|ThinSincereQuivers|ThreadedGB|Threshold|Topcom|topLevelMode|Tor|TorAlgebra|Toric|ToricInvariants|ToricTopology|ToricVectorBundles|Torsion|TorsionFree|TotalPairs|Tree|TriangularSets|Triangulations|Tries|Trim|Triplets|Tropical|TropicalToric|true|Truncate|Truncations|TSpreadIdeals|TypicalValue|typicalValues|Undo|Unique|Units|Unmixed|Up|UpdateOnly|UpperTriangular|Usage|UseCachedExampleOutput|UseHilbertFunction|UserMode|UseSyzygies|Valuations|Variable|VariableBaseName|Variables|Varieties|Vasconcelos|VectorFields|VectorGraphics|Verbose|Verbosity|Verify|VersalDeformations|Version|version|VerticalSpace|viewHelp|VirtualResolutions|Visualize|VNumber|WebApp|Weights|WeylAlgebra|WeylAlgebras|WeylGroups|WhitneyStratifications|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|threadLocal|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":"\"///\\(/?/?[^/]\\|\\(//\\)*////[^/]\\)*\\(//\\)*///\""}]}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"source.markdown.caddy.codeblock","patterns":[{"include":"#caddy-code-block"},{"include":"#caddy-d-code-block"}],"repository":{"caddy-code-block":{"name":"markup.fenced_code.block.markdown","begin":"(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(caddy)(\\s+[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","patterns":[{"contentName":"meta.embedded.block.caddy","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)","patterns":[{"include":"source.Caddyfile"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"5":{"name":"fenced_code.block.language"},"6":{"name":"fenced_code.block.language.attributes"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"caddy-d-code-block":{"name":"markup.fenced_code.block.markdown","begin":"(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(caddy-d)(\\s+[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","patterns":[{"contentName":"meta.embedded.block.caddy","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)","patterns":[{"include":"source.Caddyfile#block_content"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"5":{"name":"fenced_code.block.language"},"6":{"name":"fenced_code.block.language.attributes"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}}}}
@@ -1 +1 @@
1
- {"name":"MATLAB","scopeName":"source.matlab","patterns":[{"include":"#rules_before_command_dual"},{"include":"#command_dual"},{"include":"#rules_after_command_dual"}],"repository":{"anonymous_function":{"name":"meta.function.anonymous.matlab","begin":"(@)[^\\S\\n]*(?=\\()","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":","},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.matlab"}}},{"name":"meta.parameters.matlab","begin":"(?\u003c=\\))[^\\S\\n]*(\\()?","patterns":[{"include":"$self"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"punctuation.section.group.begin.matlab"}},"endCaptures":{"1":{"name":"punctuation.section.group.end.matlab"}}},{"include":"#line_continuation"}],"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!\\.{3})(?:(?=([,;])(?![^(]*\\)))|$)","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!\\.{3})(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]},{"name":"meta.elseif.matlab","match":"(?:\\s*)(?\u003c=^|[\\s,;])(elseif)\\b","patterns":[{"name":"meta.elseif.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.{3})(?:(?=([,;])(?![^(]*\\)))|$)","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!\\.{3})(?:(?=([,;])(?![^(]*\\)))|$)","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!\\.{3})(?:(?=([,;])(?![^(]*\\)))|$)","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!\\.{3})(?:(?=([,;])(?![^(]*\\)))|$)","captures":{"2":{"name":"keyword.control.switch.case.matlab"},"3":{"name":"meta.case.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.{3})(?:(?=([,;])(?![^(]*\\)))|$)","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!\\.{3})(?:(?=([,;])(?![^(]*\\)))|$)","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!\\.{3})(?=\\n)","patterns":[{"begin":"\\G(\\([^)]*\\))?\\s*","end":"(?\u003c!\\.{3})(?=\\s*%|\\n)","patterns":[{"begin":"\\G\\s*([a-zA-Z][a-zA-Z0-9_]*)","end":"(?\u003c!\\.{3})(?=\\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=|\\.{3})[^\\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","patterns":[{"contentName":"meta.assignment.variable.output.matlab","begin":"\\G(?=[^\\(]*?(?:=|\\[|\\.{3}))","end":"\\s*(=)\\s*","patterns":[{"name":"punctuation.section.assignment.group.begin.matlab","match":"\\G\\["},{"match":"(\\])\\s*","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":"#line_continuation"},{"include":"#comments"}],"endCaptures":{"1":{"name":"keyword.operator.assignment.matlab"}}},{"name":"entity.name.function.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*(?\u003e\\.[a-zA-Z0-9_]+)*","patterns":[{"name":"punctuation.accessor.dot.matlab","match":"\\."},{"include":"#line_continuation"}]},{"name":"meta.parameters.matlab","begin":"\\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":"#line_continuation"},{"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*(\\()","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.\\*]*)[^\\S\\n]*(?=;|%|$)","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*(\\.)(\\()","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*)\\{","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"patterns":[{"include":"#variables"}]}}},"line_continuation":{"name":"meta.continuation.line.matlab","match":"(\\.{3})(.*)$","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]|(?:\\.{3}))"},{"name":"keyword.operator.logical.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(==|~=|\u0026|\u0026\u0026|\\||\\|\\|)(?=[a-zA-Z0-9\\s]|(?:\\.{3}))"},{"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()},]|$||(?:\\.{3}))"},{"name":"keyword.operator.relational.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(\u003e|\u003e=|\u003c|\u003c=)(?=[a-zA-Z0-9\\s]|(?:\\.{3}))"}]},"parentheses":{"contentName":"meta.parens.matlab","begin":"\\(","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_]*)*)(\\()","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
+ {"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]*(?=\\()","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":","},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.matlab"}}},{"name":"meta.parameters.matlab","begin":"(?\u003c=\\))[^\\S\\n]*(\\()?","patterns":[{"include":"$self"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"punctuation.section.group.begin.matlab"}},"endCaptures":{"1":{"name":"punctuation.section.group.end.matlab"}}},{"include":"#line_continuation"}],"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(?!$)","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(?!$)","patterns":[{"include":"$self"}]},{"name":"meta.elseif.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(elseif)\\b","end":"\\s*(?\u003c=^|[\\s,;])(?=elseif|else|end)\\b","patterns":[{"name":"meta.elseif.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.elseif.matlab"}}},{"name":"meta.else.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(else)\\b","end":"\\s*(?\u003c=^|[\\s,;])(?=end)\\b","patterns":[{"include":"$self"}],"beginCaptures":{"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(?!$)","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(?!$)","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)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.switch.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"name":"meta.case.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(case)\\b","end":"\\s*(?\u003c=^|[\\s,;])(?=case|otherwise|end)\\b","patterns":[{"name":"meta.case.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.switch.case.matlab"}}},{"name":"meta.otherwise.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(otherwise)\\b","end":"\\s*(?\u003c=^|[\\s,;])(?=end)\\b","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.switch.otherwise.matlab"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.switch.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.switch.matlab"},"2":{"patterns":[{"include":"$self"}]}}},{"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(?!$)","patterns":[{"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":"#function_call"},{"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!\\.{3})(?=\\n)","patterns":[{"name":"storage.modifier.section.class.matlab","begin":"\\G\\(","end":"\\)(?=\\s*\\w+)","patterns":[{"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"},{"name":"keyword.operator.other.question.matlab","match":"(?\u003c!\\w)\\?(?=\\w)"},{"include":"#metaclass_literal"},{"include":"#string"},{"include":"#curly_brackets"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.matlab"}}},{"include":"#comments"},{"include":"#line_continuation"}]},{"begin":"\\s*(\\w+)","end":"(?\u003c!\\.{3})(?=\\s*%|\\n)","patterns":[{"begin":"\\G","end":"(?\u003c!\\.{3})(?=\\n)","patterns":[{"include":"#comments"},{"include":"#line_continuation"},{"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"}]},{"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=|\\.{3})[^\\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","patterns":[{"contentName":"meta.assignment.variable.output.matlab","begin":"\\G(?=[^\\(]*?(?:=|\\[|\\.{3}))","end":"\\s*(=)\\s*","patterns":[{"name":"punctuation.section.assignment.group.begin.matlab","match":"\\G\\["},{"match":"(\\])\\s*","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":"#line_continuation"},{"include":"#comments"}],"endCaptures":{"1":{"name":"keyword.operator.assignment.matlab"}}},{"name":"entity.name.function.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*(?\u003e\\.[a-zA-Z0-9_]+)*","patterns":[{"name":"punctuation.accessor.dot.matlab","match":"\\."},{"include":"#line_continuation"}]},{"name":"meta.parameters.matlab","begin":"\\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":"#line_continuation"},{"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*(\\()","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":"[^\\S\\r\\n]*\\b(import)\\b[^\\S\\n]+([a-zA-Z0-9.\\*]*)[^\\S\\n]*(?=;|%|$)","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*(\\.)(\\()","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*)\\{","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"patterns":[{"include":"#variables"}]}}},"line_continuation":{"name":"meta.continuation.line.matlab","match":"(\\.{3})(.*)$","captures":{"1":{"name":"punctuation.separator.continuation.line.matlab"},"2":{"name":"comment.continuation.line.matlab"}}},"metaclass_literal":{"name":"meta.metaclass.matlab","begin":"(?\u003c=\\?)(?=[a-zA-Z])","end":"(?\u003c=[a-zA-Z0-9_])(?![a-zA-Z0-9_]|\\.|\\(|{)","patterns":[{"name":"entity.other.class.matlab","match":"(?\u003c=[.\\?])[a-zA-Z][a-zA-Z0-9_]*(?![a-zA-Z0-9_.])"},{"name":"entity.name.namespace.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"}]},"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]|(?:\\.{3}))"},{"name":"keyword.operator.logical.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(==|~=|\u0026|\u0026\u0026|\\||\\|\\|)(?=[a-zA-Z0-9\\s]|(?:\\.{3}))"},{"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()},]|$||(?:\\.{3}))"},{"name":"keyword.operator.relational.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(\u003e|\u003e=|\u003c|\u003c=)(?=[a-zA-Z0-9\\s]|(?:\\.{3}))"}]},"parentheses":{"contentName":"meta.parens.matlab","begin":"\\(","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"},{"include":"#metaclass_literal"}]},"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_]*)*)(\\()","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":"Syntax Mcfunction","scopeName":"source.mcfunction","patterns":[{"include":"#root"}],"repository":{"comments":{"patterns":[{"name":"meta.comments","begin":"^\\s*(#[\u003e!#])(.+)$","end":"^(?!#)","patterns":[{"include":"#comments_block"}],"captures":{"0":{"name":"comment.block.mcfunction"}},"beginCaptures":{"1":{"name":"comment.block.mcfunction"},"2":{"name":"markup.bold.mcfunction"}},"applyEndPatternLast":true},{"name":"meta.comments","match":"^\\s*#.*$","captures":{"0":{"name":"comment.line.mcfunction"}}}]},"comments_block":{"patterns":[{"name":"meta.comments_block","begin":"^\\s*#[\u003e!]","end":"$","patterns":[{"include":"#comments_block_emphasized"}],"captures":{"0":{"name":"comment.block.mcfunction"}},"applyEndPatternLast":true},{"name":"meta.comments_block","begin":"^\\s*#","end":"$","patterns":[{"include":"#comments_block_normal"}],"captures":{"0":{"name":"comment.block.mcfunction"}},"applyEndPatternLast":true}]},"comments_block_emphasized":{"patterns":[{"include":"#comments_block_special"},{"name":"meta.comments_block_emphasized","match":"\\S+","captures":{"0":{"name":"markup.bold.mcfunction"}}}]},"comments_block_normal":{"patterns":[{"include":"#comments_block_special"},{"name":"meta.comments_block_normal","match":"\\S+","captures":{"0":{"name":"comment.block.mcfunction"}}},{"include":"#whitespace"}]},"comments_block_special":{"patterns":[{"name":"meta.comments_block_special","match":"@\\S+","captures":{"0":{"name":"markup.heading.mcfunction"}}},{"include":"#resource-name"},{"name":"meta.comments_block_special","match":"[#%$][A-Za-z0-9_.#%$]+","captures":{"0":{"name":"variable.other.mcfunction"}}}]},"comments_inline":{"patterns":[{"name":"meta.comments","match":"#.*$","captures":{"0":{"name":"comment.line.mcfunction"}}}]},"literals":{"patterns":[{"name":"meta.literals","match":"\\b(true|false|True|False)\\b","captures":{"0":{"name":"constant.numeric.boolean.mcfunction"}}},{"name":"meta.names","match":"\\b[0-9a-fA-F]+(?:-[0-9a-fA-F]+){4}\\b","captures":{"0":{"name":"variable.uuid.mcfunction"}}},{"name":"meta.literals","match":"[+-]?\\d*\\.?\\d+([eE]?[+-]?\\d+)?[df]?\\b","captures":{"0":{"name":"constant.numeric.float.mcfunction"}}},{"name":"meta.literals","match":"[+-]?\\d+(b|B|L|l|s|S)?\\b","captures":{"0":{"name":"constant.numeric.integer.mcfunction"}}},{"name":"meta.ellipse.literals","match":"\\.\\.","captures":{"0":{"name":"variable.other.mcfunction"}}},{"name":"string.quoted.double.mcfunction","begin":"\"","end":"\"","patterns":[{"include":"#literals_string-double"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mcfunction"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mcfunction"}},"applyEndPatternLast":true},{"name":"string.quoted.single.mcfunction","begin":"'","end":"'","patterns":[{"include":"#literals_string-single"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mcfunction"}},"endCaptures":{"0":{"name":"punctuation.definition.string.begin.mcfunction"}},"applyEndPatternLast":true}]},"literals_string-double":{"patterns":[{"name":"meta.literals_string-double","match":"\\\\.","captures":{"0":{"name":"constant.character.escape.mcfunction"}}},{"name":"meta.literals_string-double","match":"\\\\","captures":{"0":{"name":"constant.character.escape.mcfunction"}}},{"include":"#macro-name"},{"name":"meta.literals_string-double","match":"[^\\\\\"]","captures":{"0":{"name":"string.quoted.double.mcfunction"}}}]},"literals_string-single":{"patterns":[{"name":"meta.literals_string-single","match":"\\\\.","captures":{"0":{"name":"constant.character.escape.mcfunction"}}},{"name":"meta.literals_string-double","match":"\\\\","captures":{"0":{"name":"constant.character.escape.mcfunction"}}},{"include":"#macro-name"},{"name":"meta.literals_string-single","match":"[^\\\\']","captures":{"0":{"name":"string.quoted.single.mcfunction"}}}]},"macro-name":{"patterns":[{"name":"meta.macro-name","match":"(\\$\\()([A-Za-z0-9_]*)(\\))","captures":{"1":{"name":"punctuation.definition.template-expression.begin.mcfunction"},"2":{"name":"variable.other.mcfunction"},"3":{"name":"punctuation.definition.template-expression.end.mcfunction"}}}]},"names":{"patterns":[{"name":"meta.names","match":"^(\\s*)([a-z_]+)(?=\\s)","captures":{"1":{"name":"whitespace.mcfunction"},"2":{"name":"keyword.control.flow.mcfunction"}}},{"name":"meta.names","match":"^(\\s*)(\\$)( ?)([a-z_]*)","captures":{"1":{"name":"whitespace.mcfunction"},"2":{"name":"markup.italic.mcfunction"},"3":{"name":"whitespace.mcfunction"},"4":{"name":"keyword.control.flow.mcfunction"}}},{"name":"meta.names","match":"(run)(\\s+)([a-z_]+)","captures":{"1":{"name":"entity.name.mcfunction"},"2":{"name":"whitespace.mcfunction"},"3":{"name":"keyword.control.flow.mcfunction"}}},{"include":"#resource-name"},{"name":"meta.names","match":"[A-Za-z]+(?=\\W)","captures":{"0":{"name":"entity.name.mcfunction"}}},{"name":"meta.names","match":"[A-Za-z_][A-Za-z0-9_.#%$]*","captures":{"0":{"name":"string.unquoted.mcfunction"}}},{"include":"#macro-name"},{"name":"meta.names","match":"([#%$]|((?\u003c=\\s)\\.))[A-Za-z0-9_.#%$\\-]+","captures":{"0":{"name":"variable.other.mcfunction"}}}]},"operators":{"patterns":[{"name":"meta.operators","match":"[~^]","captures":{"0":{"name":"constant.numeric.mcfunction"}}},{"name":"meta.operators","match":"[\\-%?!+*\u003c\u003e\\\\/|\u0026=.:,;]","captures":{"0":{"name":"keyword.operator.mcfunction"}}}]},"property":{"patterns":[{"name":"meta.property.curly","begin":"\\{","end":"\\}","patterns":[{"include":"#resource-name"},{"include":"#literals"},{"include":"#property_key"},{"include":"#operators"},{"include":"#property_value"},{"include":"$self"}],"captures":{"0":{"name":"punctuation.mcfunction"}},"applyEndPatternLast":true},{"name":"meta.property.square","begin":"\\[","end":"\\]","patterns":[{"include":"#resource-name"},{"include":"#literals"},{"include":"#property_key"},{"include":"#operators"},{"include":"#property_value"},{"include":"$self"}],"captures":{"0":{"name":"variable.other.mcfunction"}},"applyEndPatternLast":true},{"name":"meta.property.paren","begin":"\\(","end":"\\)","patterns":[{"include":"#resource-name"},{"include":"#literals"},{"include":"#property_key"},{"include":"#operators"},{"include":"#property_value"},{"include":"$self"}],"captures":{"0":{"name":"punctuation.mcfunction"}},"applyEndPatternLast":true}]},"property_key":{"patterns":[{"name":"meta.property_key","match":"#?[a-z_][a-z_\\.\\-]*\\:[a-z0-9_\\.\\-/]+(?=\\s*\\=:)","captures":{"0":{"name":"variable.other.mcfunction"}}},{"name":"meta.property_key","match":"#?[a-z_][a-z0-9_\\.\\-/]+","captures":{"0":{"name":"variable.other.mcfunction"}}},{"name":"meta.property_key","match":"[A-Za-z_]+[A-Za-z_\\-\\+]*","captures":{"0":{"name":"variable.other.mcfunction"}}}]},"property_value":{"patterns":[{"name":"meta.property_value","match":"#?[a-z_][a-z_\\.\\-]*\\:[a-z0-9_\\.\\-/]+","captures":{"0":{"name":"string.unquoted.mcfunction"}}},{"name":"meta.property_value","match":"#?[a-z_][a-z0-9_\\.\\-/]+","captures":{"0":{"name":"string.unquoted.mcfunction"}}}]},"resource-name":{"patterns":[{"name":"meta.resource-name","match":"#?[a-z_][a-z0-9_.-]*:[a-z0-9_./-]+","captures":{"0":{"name":"entity.name.function.mcfunction"}}},{"name":"meta.resource-name","match":"#?[a-z0-9_\\.\\-]+\\/[a-z0-9_\\.\\-\\/]+","captures":{"0":{"name":"entity.name.function.mcfunction"}}}]},"root":{"patterns":[{"include":"#literals"},{"include":"#comments"},{"include":"#say"},{"include":"#names"},{"include":"#comments_inline"},{"include":"#subcommands"},{"include":"#property"},{"include":"#operators"},{"include":"#selectors"}]},"say":{"patterns":[{"name":"meta.say.mcfunction","begin":"^(\\s*)(say)","end":"\\n","patterns":[{"match":"\\\\\\s*\\n","captures":{"0":{"name":"constant.character.escape.mcfunction"}}},{"include":"#literals_string-double"},{"include":"#literals_string-single"}],"beginCaptures":{"1":{"name":"whitespace.mcfunction"},"2":{"name":"keyword.control.flow.mcfunction"}}},{"name":"meta.say.mcfunction","begin":"(run)(\\s+)(say)","end":"\\n","patterns":[{"match":"\\\\\\s*\\n","captures":{"0":{"name":"constant.character.escape.mcfunction"}}},{"include":"#literals_string-double"},{"include":"#literals_string-single"}],"beginCaptures":{"1":{"name":"entity.name.mcfunction"},"2":{"name":"whitespace.mcfunction"},"3":{"name":"keyword.control.flow.mcfunction"}}}]},"selectors":{"patterns":[{"name":"meta.selectors","match":"@[a-z]+","captures":{"0":{"name":"support.class.mcfunction"}}}]},"subcommands":{"patterns":[{"name":"meta.literals","match":"[a-z_]+","captures":{"0":{"name":"entity.name.class.mcfunction"}}}]}}}