github-linguist 7.27.0 → 7.29.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/ext/linguist/lex.linguist_yy.c +313 -294
  3. data/ext/linguist/lex.linguist_yy.h +5 -4
  4. data/ext/linguist/tokenizer.l +5 -2
  5. data/grammars/etc.json +1 -1
  6. data/grammars/inline.edgeql.json +1 -0
  7. data/grammars/inline.graphql.json +1 -1
  8. data/grammars/inline.graphql.markdown.codeblock.json +1 -0
  9. data/grammars/inline.graphql.rb.json +1 -0
  10. data/grammars/inline.hbs.json +1 -0
  11. data/grammars/inline.template.json +1 -0
  12. data/grammars/markdown.commonlisp.codeblock.json +1 -0
  13. data/grammars/markdown.glimmer.codeblock.json +1 -0
  14. data/grammars/markdown.lean4.codeblock.json +1 -0
  15. data/grammars/markdown.move.codeblock.json +1 -0
  16. data/grammars/mdx.LANGUAGE.codeblock.json +1 -0
  17. data/grammars/source.8xp.json +1 -0
  18. data/grammars/source.abl.json +1 -1
  19. data/grammars/source.al.json +1 -1
  20. data/grammars/source.amxxpawn.json +1 -0
  21. data/grammars/source.astro.json +1 -1
  22. data/grammars/source.bb.json +1 -0
  23. data/grammars/source.bh.json +1 -0
  24. data/grammars/source.bicep.json +1 -1
  25. data/grammars/source.brs.json +1 -1
  26. data/grammars/source.cds.json +1 -1
  27. data/grammars/source.cobol.json +1 -1
  28. data/grammars/source.commonlisp.json +1 -0
  29. data/grammars/source.cs.json +1 -1
  30. data/grammars/source.csound.json +1 -1
  31. data/grammars/source.dart.json +1 -1
  32. data/grammars/source.denizenscript.json +1 -1
  33. data/grammars/source.did.json +1 -1
  34. data/grammars/source.dm.json +1 -1
  35. data/grammars/source.earthfile.json +1 -1
  36. data/grammars/source.edgeql.json +1 -0
  37. data/grammars/source.elvish-transcript.json +1 -1
  38. data/grammars/source.fsharp.json +1 -1
  39. data/grammars/source.gdresource.json +1 -1
  40. data/grammars/source.gdscript.json +1 -1
  41. data/grammars/source.genero-4gl.json +1 -0
  42. data/grammars/source.genero-per.json +1 -0
  43. data/grammars/source.gjs.json +1 -0
  44. data/grammars/source.gsc.json +1 -1
  45. data/grammars/source.gts.json +1 -0
  46. data/grammars/source.hcl.json +1 -0
  47. data/grammars/source.hcl.terraform.json +1 -0
  48. data/grammars/source.ice.json +1 -0
  49. data/grammars/source.julia.json +1 -1
  50. data/grammars/source.kotlin.json +1 -1
  51. data/grammars/source.lean4.json +1 -0
  52. data/grammars/source.lean4.markdown.json +1 -0
  53. data/grammars/source.lua.json +1 -1
  54. data/grammars/source.matlab.json +1 -1
  55. data/grammars/source.mdx.json +1 -1
  56. data/grammars/source.meta-info.json +1 -1
  57. data/grammars/source.mojo.json +1 -0
  58. data/grammars/source.nasal.json +1 -1
  59. data/grammars/source.nim.json +1 -1
  60. data/grammars/source.nushell.json +1 -1
  61. data/grammars/source.odin.json +1 -1
  62. data/grammars/source.p4.json +1 -1
  63. data/grammars/source.pip-requirements.json +1 -0
  64. data/grammars/source.praat.json +1 -0
  65. data/grammars/source.ql.json +1 -1
  66. data/grammars/source.raku.json +1 -1
  67. data/grammars/source.rascal.json +1 -1
  68. data/grammars/source.rego.json +1 -1
  69. data/grammars/source.rescript.json +1 -1
  70. data/grammars/source.roc.json +1 -0
  71. data/grammars/source.rpgle.json +1 -1
  72. data/grammars/source.rust.json +1 -1
  73. data/grammars/source.scala.json +1 -1
  74. data/grammars/source.sentinel.json +1 -0
  75. data/grammars/source.slice.json +1 -1
  76. data/grammars/source.slint.json +1 -0
  77. data/grammars/source.sourcepawn.json +1 -1
  78. data/grammars/source.swift.json +1 -1
  79. data/grammars/source.textgrid.json +1 -0
  80. data/grammars/source.toit.json +1 -0
  81. data/grammars/source.ts.json +1 -1
  82. data/grammars/source.tsx.json +1 -1
  83. data/grammars/source.vba.json +1 -1
  84. data/grammars/source.viml.json +1 -1
  85. data/grammars/sp-jsdoc.injection.json +1 -0
  86. data/grammars/text.adblock.json +1 -1
  87. data/grammars/text.html.edge.json +1 -0
  88. data/grammars/text.html.ember-handlebars.json +1 -0
  89. data/grammars/text.html.statamic.json +1 -1
  90. data/grammars/text.md.json +1 -1
  91. data/grammars/text.srt.json +1 -1
  92. data/grammars/text.tex.json +1 -1
  93. data/grammars/text.valve-cfg.json +1 -0
  94. data/grammars/text.valve-kv.json +1 -0
  95. data/grammars/version +1 -1
  96. data/lib/linguist/VERSION +1 -1
  97. data/lib/linguist/generated.rb +27 -5
  98. data/lib/linguist/heuristics.yml +23 -2
  99. data/lib/linguist/languages.json +1 -1
  100. data/lib/linguist/languages.yml +153 -17
  101. data/lib/linguist/samples.json +1 -1
  102. metadata +41 -8
  103. data/grammars/govulncheck.json +0 -1
  104. data/grammars/markdown.graphql.codeblock.json +0 -1
  105. data/grammars/source.dmf.json +0 -1
  106. data/grammars/source.genero-forms.json +0 -1
  107. data/grammars/source.genero.json +0 -1
@@ -0,0 +1 @@
1
+ {"name":"Markdown","scopeName":"source.lean4.markdown","patterns":[{"include":"#frontMatter"},{"include":"#block"}],"repository":{"ampersand":{"name":"meta.other.valid-ampersand.markdown","match":"\u0026(?!([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+);)"},"block":{"patterns":[{"include":"#separator"},{"include":"#heading"},{"include":"#blockquote"},{"include":"#lists"},{"include":"#fenced_code_block"},{"include":"#raw_block"},{"include":"#link-def"},{"include":"#html"},{"include":"#inline"},{},{"include":"#heading-setext"},{"include":"#paragraphb"}]},"blockquote":{"name":"markup.quote.markdown","begin":"(^)[ ]{0,3}(\u003e) ?","while":"(^|\\G)\\s*(\u003e) ?","patterns":[{"include":"#block"}],"captures":{"2":{"name":"punctuation.definition.quote.begin.markdown"}}},"bold":{"name":"markup.bold.markdown","begin":"(?x) (\\*\\*(?=\\w)|(?\u003c!\\w)\\*\\*|(?\u003c!\\w)\\b__)(?=\\S) (?=\n (\n \u003c[^\u003e]*+\u003e # HTML tags\n | (?\u003craw\u003e`+)([^`]|(?!(?\u003c!`)\\k\u003craw\u003e(?!`))`)*+\\k\u003craw\u003e\n # Raw\n | \\\\[\\\\`*_{}\\[\\]()#.!+\\-\u003e]?+ # Escapes\n | \\[\n (\n (?\u003csquare\u003e # Named group\n [^\\[\\]\\\\] # Match most chars\n | \\\\. # Escaped chars\n | \\[ \\g\u003csquare\u003e*+ \\] # Nested brackets\n )*+\n \\]\n (\n ( # Reference Link\n [ ]? # Optional space\n \\[[^\\]]*+\\] # Ref name\n )\n | ( # Inline Link\n \\( # Opening paren\n [ \\t]*+ # Optional whitespace\n \u003c?(.*?)\u003e? # URL\n [ \\t]*+ # Optional whitespace\n ( # Optional Title\n (?\u003ctitle\u003e['\"])\n (.*?)\n \\k\u003ctitle\u003e\n )?\n \\)\n )\n )\n )\n | (?!(?\u003c=\\S)\\1). # Everything besides\n # style closer\n )++\n (?\u003c=\\S)(?=__\\b|\\*\\*)\\1 # Close\n)\n","end":"(?\u003c=\\S)(\\1)","patterns":[{"begin":"(?=\u003c[^\u003e]*?\u003e)","end":"(?\u003c=\u003e)","patterns":[{}],"applyEndPatternLast":true},{"include":"#escape"},{"include":"#ampersand"},{"include":"#bracket"},{"include":"#raw"},{"include":"#bold"},{"include":"#italic"},{"include":"#image-inline"},{"include":"#link-inline"},{"include":"#link-inet"},{"include":"#link-email"},{"include":"#image-ref"},{"include":"#link-ref-literal"},{"include":"#link-ref"},{"include":"#link-ref-shortcut"}],"captures":{"1":{"name":"punctuation.definition.bold.markdown"}}},"bracket":{"name":"meta.other.valid-bracket.markdown","match":"\u003c(?![a-zA-Z/?\\$!])"},"escape":{"name":"constant.character.escape.markdown","match":"\\\\[-`*_#+.!(){}\\[\\]\\\\\u003e]"},"fenced_code_block":{"patterns":[{"include":"#fenced_code_block_css"},{"include":"#fenced_code_block_basic"},{"include":"#fenced_code_block_ini"},{"include":"#fenced_code_block_java"},{"include":"#fenced_code_block_lua"},{"include":"#fenced_code_block_makefile"},{"include":"#fenced_code_block_perl"},{"include":"#fenced_code_block_r"},{"include":"#fenced_code_block_ruby"},{"include":"#fenced_code_block_php"},{"include":"#fenced_code_block_sql"},{"include":"#fenced_code_block_vs_net"},{"include":"#fenced_code_block_xml"},{"include":"#fenced_code_block_xsl"},{"include":"#fenced_code_block_yaml"},{"include":"#fenced_code_block_dosbatch"},{"include":"#fenced_code_block_clojure"},{"include":"#fenced_code_block_coffee"},{"include":"#fenced_code_block_c"},{"include":"#fenced_code_block_cpp"},{"include":"#fenced_code_block_diff"},{"include":"#fenced_code_block_dockerfile"},{"include":"#fenced_code_block_git_commit"},{"include":"#fenced_code_block_git_rebase"},{"include":"#fenced_code_block_go"},{"include":"#fenced_code_block_groovy"},{"include":"#fenced_code_block_pug"},{"include":"#fenced_code_block_js"},{"include":"#fenced_code_block_js_regexp"},{"include":"#fenced_code_block_json"},{"include":"#fenced_code_block_jsonc"},{"include":"#fenced_code_block_less"},{"include":"#fenced_code_block_objc"},{"include":"#fenced_code_block_swift"},{"include":"#fenced_code_block_scss"},{"include":"#fenced_code_block_perl6"},{"include":"#fenced_code_block_powershell"},{"include":"#fenced_code_block_python"},{"include":"#fenced_code_block_regexp_python"},{"include":"#fenced_code_block_rust"},{"include":"#fenced_code_block_scala"},{"include":"#fenced_code_block_shell"},{"include":"#fenced_code_block_ts"},{"include":"#fenced_code_block_tsx"},{"include":"#fenced_code_block_csharp"},{"include":"#fenced_code_block_fsharp"},{"include":"#fenced_code_block_dart"},{"include":"#fenced_code_block_handlebars"},{"include":"#fenced_code_block_markdown"},{"include":"#fenced_code_block_log"},{"include":"#fenced_code_block_unknown"}]},"fenced_code_block_basic":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(html|htm|shtml|xhtml|inc|tmpl|tpl)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.html","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"text.html.basic"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_c":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(c|h)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.c","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.c"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_clojure":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(clj|cljs|clojure)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.clojure","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.clojure"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_coffee":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(coffee|Cakefile|coffee.erb)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.coffee","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.coffee"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_cpp":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(cpp|c\\+\\+|cxx)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.cpp source.cpp","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.c++"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_csharp":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(cs|csharp|c#)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.csharp","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.cs"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_css":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(css|css.erb)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.css","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.css"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_dart":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(dart)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.dart","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.dart"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_diff":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(patch|diff|rej)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.diff","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.diff"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_dockerfile":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(dockerfile|Dockerfile)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.dockerfile","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.dockerfile"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_dosbatch":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(bat|batch)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.dosbatch","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.batchfile"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_fsharp":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(fs|fsharp|f#)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.fsharp","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.fsharp"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_git_commit":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(COMMIT_EDITMSG|MERGE_MSG)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.git_commit","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_git_rebase":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(git-rebase-todo)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.git_rebase","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_go":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(go|golang)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.go","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.go"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_groovy":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(groovy|gvy)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.groovy","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.groovy"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_handlebars":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(handlebars|hbs)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.handlebars","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"text.html.handlebars"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_ini":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(ini|conf)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.ini","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.ini"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_java":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(java|bsh)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.java","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.java"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_js":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(js|jsx|javascript|es6|mjs|cjs|\\{\\.js.+?\\})((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.javascript","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.js"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_js_regexp":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(regexp)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.js_regexp","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.js.regexp"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_json":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(json|json5|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.json","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.json"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_jsonc":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(jsonc)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.jsonc","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_less":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(less)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.less","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.css.less"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_log":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(log)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.log","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_lua":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(lua)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.lua","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.lua"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_makefile":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(Makefile|makefile|GNUmakefile|OCamlMakefile)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.makefile","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.makefile"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_markdown":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(markdown|md)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.markdown","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.gfm"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_objc":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(objectivec|objective-c|mm|objc|obj-c|m|h)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.objc","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.objc"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_perl":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.perl","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.perl"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_perl6":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(perl6|p6|pl6|pm6|nqp)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.perl6","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.perl.6"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_php":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(php|php3|php4|php5|phpt|phtml|aw|ctp)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.php","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"text.html.basic"},{"include":"text.html.php"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_powershell":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(powershell|ps1|psm1|psd1)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.powershell","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.powershell"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_pug":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(jade|pug)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.pug","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"text.jade"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_python":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(python|py|py3|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gyp|gypi|\\{\\.python.+?\\})((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.python","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.python"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_r":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(R|r|s|S|Rprofile|\\{\\.r.+?\\})((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.r","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.r"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_regexp_python":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(re)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.regexp_python","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.regexp.python"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_ruby":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(ruby|rb|rbx|rjs|Rakefile|rake|cgi|fcgi|gemspec|irbrc|Capfile|ru|prawn|Cheffile|Gemfile|Guardfile|Hobofile|Vagrantfile|Appraisals|Rantfile|Berksfile|Berksfile.lock|Thorfile|Puppetfile)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.ruby","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.ruby"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_rust":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(rust|rs|\\{\\.rust.+?\\})((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.rust","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.rust"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_scala":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(scala|sbt)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.scala","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.scala"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_scss":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(scss)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.scss","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.css.scss"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_shell":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\{\\.bash.+?\\})((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.shellscript","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.shell"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_sql":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(sql|ddl|dml)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.sql","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.sql"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_swift":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(swift)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.swift","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.swift"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_ts":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(typescript|ts)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.typescript","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.ts"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_tsx":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(tsx)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.typescriptreact","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.tsx"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_unknown":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?=([^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_vs_net":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(vb)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.vs_net","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_xml":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.xml","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"text.xml"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_xsl":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(xsl|xslt)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.xsl","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"text.xml.xsl"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"fenced_code_block_yaml":{"name":"markup.fenced_code.block.markdown","begin":"(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(yaml|yml)((\\s+|:|\\{)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)","patterns":[{"contentName":"meta.embedded.block.yaml","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))","patterns":[{"include":"source.yaml"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},"frontMatter":{"contentName":"meta.embedded.block.frontmatter","begin":"\\A-{3}\\s*$","end":"(^|\\G)-{3}|\\.{3}\\s*$","patterns":[{"include":"source.yaml"}]},"heading":{"name":"markup.heading.markdown","match":"(?:^|\\G)[ ]{0,3}((#{1,6})\\s+(?=[\\S[^#]]).*?\\s*(#{1,6})?)((?=-/)|$\\n?)","patterns":[{"include":"#inline"}],"captures":{"1":{"patterns":[{"name":"heading.6.markdown","match":"(#{6})\\s+(?=[\\S[^#]])(.*?)\\s*(\\s+#+)?$\\n?","captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown"},"3":{"name":"punctuation.definition.heading.markdown"}}},{"name":"heading.5.markdown","match":"(#{5})\\s+(?=[\\S[^#]])(.*?)\\s*(\\s+#+)?$\\n?","captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown"},"3":{"name":"punctuation.definition.heading.markdown"}}},{"name":"heading.4.markdown","match":"(#{4})\\s+(?=[\\S[^#]])(.*?)\\s*(\\s+#+)?$\\n?","captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown"},"3":{"name":"punctuation.definition.heading.markdown"}}},{"name":"heading.3.markdown","match":"(#{3})\\s+(?=[\\S[^#]])(.*?)\\s*(\\s+#+)?$\\n?","captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown"},"3":{"name":"punctuation.definition.heading.markdown"}}},{"name":"heading.2.markdown","match":"(#{2})\\s+(?=[\\S[^#]])(.*?)\\s*(\\s+#+)?$\\n?","captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown"},"3":{"name":"punctuation.definition.heading.markdown"}}},{"name":"heading.1.markdown","match":"(#{1})\\s+(?=[\\S[^#]])(.*?)\\s*(\\s+#+)?$\\n?","captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown"},"3":{"name":"punctuation.definition.heading.markdown"}}}]}}},"heading-setext":{"patterns":[{"name":"markup.heading.setext.1.markdown","match":"^(={3,})(?=[ \\t]*$\\n?)"},{"name":"markup.heading.setext.2.markdown","match":"^(-{3,})(?=[ \\t]*$\\n?)"}]},"html":{"patterns":[{"name":"comment.block.html","begin":"(^|\\G)\\s*(\u003c!--)","end":"(--\u003e)","captures":{"1":{"name":"punctuation.definition.comment.html"},"2":{"name":"punctuation.definition.comment.html"}}},{"begin":"(?i)(^|\\G)\\s*(?=\u003c(script|style|pre)(\\s|$|\u003e)(?!.*?\u003c/(script|style|pre)\u003e))","end":"(?i)(.*)((\u003c/)(script|style|pre)(\u003e))","patterns":[{"begin":"(\\s*|$)","while":"(?i)^(?!.*\u003c/(script|style|pre)\u003e)","patterns":[{}]}],"endCaptures":{"1":{"patterns":[{}]},"2":{"name":"meta.tag.structure.$4.end.html"},"3":{"name":"punctuation.definition.tag.begin.html"},"4":{"name":"entity.name.tag.html"},"5":{"name":"punctuation.definition.tag.end.html"}}},{"begin":"(?i)(^|\\G)\\s*(?=\u003c/?[a-zA-Z]+[^\\s/\u0026gt;]*(\\s|$|/?\u003e))","while":"^(?!\\s*$)","patterns":[{}]},{"begin":"(^|\\G)\\s*(?=(\u003c[a-zA-Z0-9\\-](/?\u003e|\\s.*?\u003e)|\u003c/[a-zA-Z0-9\\-]\u003e)\\s*$)","while":"^(?!\\s*$)","patterns":[{}]}]},"image-inline":{"name":"meta.image.inline.markdown","match":"(?x)\n (\\!\\[)((?\u003csquare\u003e[^\\[\\]\\\\]|\\\\.|\\[\\g\u003csquare\u003e*+\\])*+)(\\])\n # Match the link text.\n (\\() # Opening paren for url\n (\u003c?)(\\S+?)(\u003e?) # The url\n [ \\t]* # Optional whitespace\n (?:\n ((\\().+?(\\))) # Match title in parens…\n | ((\").+?(\")) # or in quotes.\n )? # Title is optional\n \\s* # Optional whitespace\n (\\))\n","captures":{"1":{"name":"punctuation.definition.string.begin.markdown"},"10":{"name":"punctuation.definition.string.markdown"},"11":{"name":"punctuation.definition.string.markdown"},"12":{"name":"string.other.link.description.title.markdown"},"13":{"name":"punctuation.definition.string.markdown"},"14":{"name":"punctuation.definition.string.markdown"},"15":{"name":"punctuation.definition.metadata.markdown"},"2":{"name":"string.other.link.description.markdown"},"4":{"name":"punctuation.definition.string.end.markdown"},"5":{"name":"punctuation.definition.metadata.markdown"},"6":{"name":"punctuation.definition.link.markdown"},"7":{"name":"markup.underline.link.image.markdown"},"8":{"name":"punctuation.definition.link.markdown"},"9":{"name":"string.other.link.description.title.markdown"}}},"image-ref":{"name":"meta.image.reference.markdown","match":"(\\!\\[)((?\u003csquare\u003e[^\\[\\]\\\\]|\\\\.|\\[\\g\u003csquare\u003e*+\\])*+)(\\])[ ]?(\\[)(.*?)(\\])","captures":{"1":{"name":"punctuation.definition.string.begin.markdown"},"2":{"name":"string.other.link.description.markdown"},"4":{"name":"punctuation.definition.string.begin.markdown"},"5":{"name":"punctuation.definition.constant.markdown"},"6":{"name":"constant.other.reference.link.markdown"},"7":{"name":"punctuation.definition.constant.markdown"}}},"inline":{"patterns":[{"include":"#ampersand"},{"include":"#bracket"},{"include":"#bold"},{"include":"#italic"},{"include":"#raw"},{"include":"#escape"},{"include":"#image-inline"},{"include":"#image-ref"},{"include":"#link-email"},{"include":"#link-inet"},{"include":"#link-inline"},{"include":"#link-ref"},{"include":"#link-ref-literal"},{"include":"#link-ref-shortcut"}]},"italic":{"name":"markup.italic.markdown","begin":"(?x) (\\*(?=\\w)|(?\u003c!\\w)\\*|(?\u003c!\\w)\\b_)(?=\\S) # Open\n (?=\n (\n \u003c[^\u003e]*+\u003e # HTML tags\n | (?\u003craw\u003e`+)([^`]|(?!(?\u003c!`)\\k\u003craw\u003e(?!`))`)*+\\k\u003craw\u003e\n # Raw\n | \\\\[\\\\`*_{}\\[\\]()#.!+\\-\u003e]?+ # Escapes\n | \\[\n (\n (?\u003csquare\u003e # Named group\n [^\\[\\]\\\\] # Match most chars\n | \\\\. # Escaped chars\n | \\[ \\g\u003csquare\u003e*+ \\] # Nested brackets\n )*+\n \\]\n (\n ( # Reference Link\n [ ]? # Optional space\n \\[[^\\]]*+\\] # Ref name\n )\n | ( # Inline Link\n \\( # Opening paren\n [ \\t]*+ # Optional whtiespace\n \u003c?(.*?)\u003e? # URL\n [ \\t]*+ # Optional whtiespace\n ( # Optional Title\n (?\u003ctitle\u003e['\"])\n (.*?)\n \\k\u003ctitle\u003e\n )?\n \\)\n )\n )\n )\n | \\1\\1 # Must be bold closer\n | (?!(?\u003c=\\S)\\1). # Everything besides\n # style closer\n )++\n (?\u003c=\\S)(?=_\\b|\\*)\\1 # Close\n )\n","end":"(?\u003c=\\S)(\\1)((?!\\1)|(?=\\1\\1))","patterns":[{"begin":"(?=\u003c[^\u003e]*?\u003e)","end":"(?\u003c=\u003e)","patterns":[{}],"applyEndPatternLast":true},{"include":"#escape"},{"include":"#ampersand"},{"include":"#bracket"},{"include":"#raw"},{"include":"#bold"},{"include":"#image-inline"},{"include":"#link-inline"},{"include":"#link-inet"},{"include":"#link-email"},{"include":"#image-ref"},{"include":"#link-ref-literal"},{"include":"#link-ref"},{"include":"#link-ref-shortcut"}],"captures":{"1":{"name":"punctuation.definition.italic.markdown"}}},"link-def":{"name":"meta.link.reference.def.markdown","match":"(?x)\n \\s* # Leading whitespace\n (\\[)([^]]+?)(\\])(:) # Reference name\n [ \\t]* # Optional whitespace\n (\u003c?)(\\S+?)(\u003e?) # The url\n [ \\t]* # Optional whitespace\n (?:\n ((\\().+?(\\))) # Match title in quotes…\n | ((\").+?(\")) # or in parens.\n )? # Title is optional\n \\s* # Optional whitespace\n $\n","captures":{"1":{"name":"punctuation.definition.constant.markdown"},"10":{"name":"punctuation.definition.string.end.markdown"},"11":{"name":"string.other.link.description.title.markdown"},"12":{"name":"punctuation.definition.string.begin.markdown"},"13":{"name":"punctuation.definition.string.end.markdown"},"2":{"name":"constant.other.reference.link.markdown"},"3":{"name":"punctuation.definition.constant.markdown"},"4":{"name":"punctuation.separator.key-value.markdown"},"5":{"name":"punctuation.definition.link.markdown"},"6":{"name":"markup.underline.link.markdown"},"7":{"name":"punctuation.definition.link.markdown"},"8":{"name":"string.other.link.description.title.markdown"},"9":{"name":"punctuation.definition.string.begin.markdown"}}},"link-email":{"name":"meta.link.email.lt-gt.markdown","match":"(\u003c)((?:mailto:)?[-.\\w]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)(\u003e)","captures":{"1":{"name":"punctuation.definition.link.markdown"},"2":{"name":"markup.underline.link.markdown"},"4":{"name":"punctuation.definition.link.markdown"}}},"link-inet":{"name":"meta.link.inet.markdown","match":"(\u003c)((?:https?|ftp)://.*?)(\u003e)","captures":{"1":{"name":"punctuation.definition.link.markdown"},"2":{"name":"markup.underline.link.markdown"},"3":{"name":"punctuation.definition.link.markdown"}}},"link-inline":{"name":"meta.link.inline.markdown","match":"(?x)\n (\\[)((?\u003csquare\u003e[^\\[\\]\\\\]|\\\\.|\\[\\g\u003csquare\u003e*+\\])*+)(\\])\n # Match the link text.\n (\\() # Opening paren for url\n (\u003c?)((?\u003curl\u003e(?\u003e[^\\s()]+)|\\(\\g\u003curl\u003e*\\))*)(\u003e?) # The url\n [ \\t]* # Optional whitespace\n (?:\n ((\\().+?(\\))) # Match title in parens…\n | ((\").+?(\")) # or in quotes.\n )? # Title is optional\n \\s* # Optional whitespace\n (\\))\n","captures":{"1":{"name":"punctuation.definition.string.begin.markdown"},"10":{"name":"string.other.link.description.title.markdown"},"11":{"name":"punctuation.definition.string.begin.markdown"},"12":{"name":"punctuation.definition.string.end.markdown"},"13":{"name":"string.other.link.description.title.markdown"},"14":{"name":"punctuation.definition.string.begin.markdown"},"15":{"name":"punctuation.definition.string.end.markdown"},"16":{"name":"punctuation.definition.metadata.markdown"},"2":{"name":"string.other.link.title.markdown"},"4":{"name":"punctuation.definition.string.end.markdown"},"5":{"name":"punctuation.definition.metadata.markdown"},"6":{"name":"punctuation.definition.link.markdown"},"7":{"name":"markup.underline.link.markdown"},"9":{"name":"punctuation.definition.link.markdown"}}},"link-ref":{"name":"meta.link.reference.markdown","match":"(\\[)((?\u003csquare\u003e[^\\[\\]\\\\]|\\\\.|\\[\\g\u003csquare\u003e*+\\])*+)(\\])(\\[)([^\\]]*+)(\\])","captures":{"1":{"name":"punctuation.definition.string.begin.markdown"},"2":{"name":"string.other.link.title.markdown"},"4":{"name":"punctuation.definition.string.end.markdown"},"5":{"name":"punctuation.definition.constant.begin.markdown"},"6":{"name":"constant.other.reference.link.markdown"},"7":{"name":"punctuation.definition.constant.end.markdown"}}},"link-ref-literal":{"name":"meta.link.reference.literal.markdown","match":"(\\[)((?\u003csquare\u003e[^\\[\\]\\\\]|\\\\.|\\[\\g\u003csquare\u003e*+\\])*+)(\\])[ ]?(\\[)(\\])","captures":{"1":{"name":"punctuation.definition.string.begin.markdown"},"2":{"name":"string.other.link.title.markdown"},"4":{"name":"punctuation.definition.string.end.markdown"},"5":{"name":"punctuation.definition.constant.begin.markdown"},"6":{"name":"punctuation.definition.constant.end.markdown"}}},"link-ref-shortcut":{"name":"meta.link.reference.markdown","match":"(\\[)(\\S+?)(\\])","captures":{"1":{"name":"punctuation.definition.string.begin.markdown"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.string.end.markdown"}}},"list_paragraph":{"name":"meta.paragraph.markdown","begin":"(^)(?=\\S)(?![*+-\u003e]\\s|[0-9]+\\.\\s)","while":"(^|\\G)(?!-/|\\s*$|#|[ ]{0,3}([-*_\u003e][ ]{2,}){3,}[ \\t]*$\\n?|[ ]{0,3}[*+-\u003e]|[ ]{0,3}[0-9]+\\.)","patterns":[{"include":"#inline"},{},{"include":"#heading-setext"}]},"lists":{"patterns":[{"name":"markup.list.unnumbered.markdown","begin":"(^)([ ]{0,3})([*+-])([ \\t])(?!.*-/)","while":"((^|\\G)(?!.*-/)([ ]{2,4}|\\t))|(^[ \\t]*$)","patterns":[{"include":"#block"},{"include":"#list_paragraph"}],"beginCaptures":{"3":{"name":"punctuation.definition.list.begin.markdown"}}},{"name":"markup.list.numbered.markdown","begin":"(^)([ ]{0,3})([0-9]+\\.)([ \\t])(?!.*-/)","while":"((^|\\G)(?!.*-/)([ ]{2,4}|\\t))|(^[ \\t]*$)","patterns":[{"include":"#block"},{"include":"#list_paragraph"}],"beginCaptures":{"3":{"name":"punctuation.definition.list.begin.markdown"}}}]},"paragraph":{"name":"meta.paragraph.markdown","begin":"(^)[ ]{0,3}(?=\\S)","while":"(^|\\G)((?=\\s*[-=]{3,}\\s*$)|[ ]{4,}(?=\\S))","patterns":[{"include":"#inline"},{},{"include":"#heading-setext"}]},"raw":{"name":"markup.inline.raw.string.markdown","match":"(`+)([^`]|(?!(?\u003c!`)\\1(?!`))`)*+(\\1)","captures":{"1":{"name":"punctuation.definition.raw.markdown"},"3":{"name":"punctuation.definition.raw.markdown"}}},"raw_block_disabled":{"name":"markup.raw.block.markdown","begin":"(^)([ ]{4}|\\t)","while":"(^|\\G)([ ]{4}|\\t)"},"separator":{"name":"meta.separator.markdown","match":"(^|\\G)[ ]{0,3}([\\*\\-\\_])([ ]{0,2}\\2){2,}[ \\t]*$\\n?"}}}
@@ -1 +1 @@
1
- {"name":"Lua","scopeName":"source.lua","patterns":[{"name":"meta.function.lua","begin":"\\b(?:(local)\\s+)?(function)\\s*(?:\\s+([a-zA-Z_][a-zA-Z0-9_]*(?:([\\.:])[a-zA-Z_][a-zA-Z0-9_]*)?)\\s*)?(\\()","end":"\\)","patterns":[{"name":"variable.parameter.function.lua","match":"[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"punctuation.separator.arguments.lua","match":","}],"beginCaptures":{"1":{"name":"storage.modifier.local.lua"},"2":{"name":"keyword.control.lua"},"3":{"name":"entity.name.function.lua"},"4":{"name":"punctuation.separator.parameter.lua"},"5":{"name":"punctuation.definition.parameters.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.lua"}}},{"name":"constant.numeric.integer.hexadecimal.lua","match":"(?\u003c![\\w\\d.])0[xX][0-9A-Fa-f]+(?![pPeE.0-9])"},{"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.integer.lua","match":"(?\u003c![\\w\\d.])\\d+(?![pPeE.0-9])"},{"name":"constant.numeric.float.lua","match":"(?\u003c![\\w\\d.])\\d+(\\.\\d+)?([eE]-?\\d*)?"},{"name":"string.quoted.single.lua","begin":"'","end":"'","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":"\"","patterns":[{"include":"#escaped_char"}],"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\\])","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\\]","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}}},{"name":"comment.line.shebang.lua","match":"\\A(#!).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.lua"}}},{"begin":"(^[ \\t]+)?(?=--)","end":"(?!\\G)((?!^)[ \\t]+\\n)?","patterns":[{"name":"comment.block.lua","begin":"--\\[(=*)\\[","end":"\\]\\1\\]","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"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.lua"}},"endCaptures":{"1":{"name":"punctuation.whitespace.comment.trailing.lua"}}},{"match":"\\b(goto)\\s+([a-zA-Z_][a-zA-Z0-9_]*)","captures":{"1":{"name":"keyword.control.goto.lua"},"2":{"name":"constant.other.placeholder.lua"}}},{"name":"constant.other.placeholder.lua","match":"(::)[a-zA-Z_][a-zA-Z0-9_]*(::)","captures":{"1":{"name":"punctuation.definition.label.begin.lua"},"2":{"name":"punctuation.definition.label.end.lua"}}},{"name":"keyword.control.lua","match":"\\b(break|do|else|for|if|elseif|goto|return|then|repeat|while|until|end|function|local|in)\\b"},{"name":"constant.language.lua","match":"(?\u003c![^.]\\.|:)\\b(false|nil|true|_G|_VERSION|math\\.(pi|huge))\\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|loadfile|loadstring|module|next|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|unpack|xpcall)\\b(?=\\s*(?:[({\"']|\\[\\[))"},{"name":"support.function.library.lua","match":"(?\u003c![^.]\\.|:)\\b(coroutine\\.(create|resume|running|status|wrap|yield)|string\\.(byte|char|dump|find|format|gmatch|gsub|len|lower|match|rep|reverse|sub|upper)|table\\.(concat|insert|maxn|remove|sort)|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?)|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\\.(cpath|loaded|loadlib|path|preload|seeall)|debug\\.(debug|[gs]etfenv|[gs]ethook|getinfo|[gs]etlocal|[gs]etmetatable|getregistry|[gs]etupvalue|traceback))\\b(?=\\s*(?:[({\"']|\\[\\[))"},{"name":"keyword.operator.lua","match":"\\b(and|or|not)\\b"},{"name":"support.function.any-method.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(?:[({\"']|\\[\\[))"},{"name":"variable.other.lua","match":"(?\u003c=[^.]\\.|:)\\b([a-zA-Z_][a-zA-Z0-9_]*)"},{"name":"keyword.operator.lua","match":"\\+|-|%|#|\\*|\\/|\\^|==?|~=|\u003c=?|\u003e=?|(?\u003c!\\.)\\.{2}(?!\\.)"}],"repository":{"escaped_char":{"patterns":[{"name":"constant.character.escape.lua","match":"\\\\[abfnrtvz\\\\\"'\\n]"},{"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":"\\\\."}]}}}
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 +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!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.for.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.for.matlab"}}},{"name":"meta.if.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(if)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.if.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]},{"name":"meta.elseif.matlab","match":"(?:\\s*)(?\u003c=^|[\\s,;])(elseif)\\b","patterns":[{"name":"meta.elseif.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]}],"captures":{"1":{"name":"keyword.control.elseif.matlab"}}},{"name":"meta.else.matlab","match":"(?:\\s*)(?\u003c=^|[\\s,;])(else)\\b","end":"^","captures":{"1":{"name":"keyword.control.else.matlab"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.if.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.if.matlab"},"2":{"patterns":[{"include":"$self"}]}}},{"name":"meta.for.parallel.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(parfor)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.for.parallel.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.for.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.for.matlab"}}},{"name":"meta.repeat.parallel.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(spmd)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.repeat.parallel.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.repeat.parallel.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.repeat.parallel.matlab"}}},{"name":"meta.switch.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(switch)\\s+([a-zA-Z0-9][a-zA-Z0-9_]*)","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.case.matlab","match":"(\\s*)(?\u003c=^|[\\s,;])(case)\\b(.*?)(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","captures":{"2":{"name":"keyword.control.switch.case.matlab"},"3":{"name":"meta.case.declaration.matlab","begin":"\\G(?!$)","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","patterns":[{"include":"$self"}]}}},{"name":"meta.otherwise.matlab","match":"(\\s*)(?\u003c=^|[\\s,;])(otherwise)\\b","captures":{"2":{"name":"keyword.control.switch.otherwise.matlab"},"3":{"patterns":[{"include":"$self"}]}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.switch.matlab"},"2":{"name":"variable.other.constant.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.switch.matlab"}}},{"name":"meta.try.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(try)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.catch.matlab","match":"(\\s*)(?\u003c=^|[\\s,;])(catch)\\b\\s*(\\w+)?","captures":{"2":{"name":"keyword.control.catch.matlab"},"3":{"name":"variable.other.constant.matlab"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.try.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.try.matlab"}}},{"name":"meta.while.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(while)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.while.declaration.matlab","begin":"\\G","end":"(?\u003c!\\.\\.\\.)(?:(?=([,;])(?![^(]*\\)))|$)","endCaptures":{"1":{"include":"$self"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.while.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.while.matlab"}}}]},"braced_validator_list":{"contentName":"meta.block.validation.matlab","begin":"\\s*({)\\s*","end":"}","patterns":[{"include":"#braced_validator_list"},{"include":"#validator_strings"},{"include":"#line_continuation"},{"name":"punctuation.accessor.dot.matlab","match":"\\."}],"beginCaptures":{"1":{"name":"punctuation.section.block.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.matlab"}}},"classdef":{"patterns":[{"name":"meta.class.matlab","begin":"(?x)\n\t\t\t\t\t\t\t^\\s* \t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t(classdef)\n\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.class.declaration.matlab","begin":"\\G","end":"(?\u003c!\\.\\.\\.)(?=\\n)","patterns":[{"begin":"\\G(\\([^)]*\\))?\\s*","end":"(?\u003c!\\.\\.\\.)(?=\\s*%|\\n)","patterns":[{"begin":"\\G\\s*([a-zA-Z][a-zA-Z0-9_]*)","end":"(?\u003c!\\.\\.\\.)(?=\\n)","patterns":[{"name":"punctuation.separator.lt.inheritance.matlab","match":"\u003c"},{"name":"meta.inherited-class.matlab","begin":"(?\u003c!\\.)\\b(?=[a-zA-Z])","end":"(?\u003c=[a-zA-Z0-9_])(?!\\.)","patterns":[{"name":"entity.other.inherited-class.matlab","match":"(?\u003c=[\\s.\u003c])[a-zA-Z][a-zA-Z0-9_]*(?=\\s|$)"},{"name":"entity.name.namespace.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.accessor.dot.matlab","match":"\\."}]},{"name":"keyword.operator.type.matlab","match":"\u0026"},{"include":"#comments"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"entity.name.type.class.matlab"}}},{"include":"#comments"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"patterns":[{"name":"punctuation.section.parens.begin.matlab","match":"(?\u003c=\\s)\\("},{"name":"punctuation.section.parens.end.matlab","match":"\\)\\z"},{"name":"punctuation.separator.modifier.comma.matlab","match":","},{"name":"storage.modifier.class.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"(=)\\s*","end":"(?=\\)|,)","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"include":"#string"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.matlab"}}},{"include":"#comments"},{"include":"#line_continuation"}]}}}]},{"name":"meta.properties.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(properties)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"include":"#validators"},{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.properties.matlab"},"3":{"patterns":[{"name":"storage.modifier.properties.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"(=)\\s*","end":",|(?=\\))","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"storage.modifier.access.matlab","match":"public|protected|private"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.matlab"}}}]}},"endCaptures":{"1":{"name":"keyword.control.end.properties.matlab"}}},{"name":"meta.methods.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(methods)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.methods.matlab"},"3":{"patterns":[{"name":"storage.modifier.methods.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"=\\s*","end":",|(?=\\))","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"storage.modifier.access.matlab","match":"public|protected|private"}]}]}},"endCaptures":{"1":{"name":"keyword.control.end.methods.matlab"}}},{"name":"meta.events.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(events)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.assignment.definition.event.matlab","match":"(?:^\\s*|,\\s*)([a-zA-Z0-9_]+)","captures":{"1":{"name":"entity.name.type.event.matlab"}}},{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.events.matlab"},"3":{"patterns":[{"name":"variable.parameter.events.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"=\\s*","end":",|(?=\\))","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"storage.modifier.access.matlab","match":"public|protected|private"}]}]}},"endCaptures":{"1":{"name":"keyword.control.end.events.matlab"}}},{"name":"meta.enum.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(enumeration)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.assignment.definition.enummember.matlab","match":"(?:^\\s*|,\\s*)([a-zA-Z0-9_]+)","captures":{"1":{"name":"variable.other.enummember.matlab"}}},{"name":"punctuation.separator.comma.matlab","match":","},{"include":"#parentheses"},{"include":"#comments"}],"beginCaptures":{"2":{"name":"keyword.control.enum.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.enum.matlab"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"storage.type.class.matlab"}},"endCaptures":{"1":{"name":"storage.type.class.end.matlab"}}}]},"command_dual":{"name":"meta.function-call.command.matlab","match":"(?\u003c=^|[^.]\\n|;|,|=)([^\\S\\n]*)(?# A\u003e )(\\b\\w+\\b)([^\\S\\n]+)(?# B\u003e )((?!(\\+|-|\\*|\\.\\*|\\/|\\.\\/|\\\\|\\.\\\\|\\^|\\.\\^|==|~=|\u0026|\u0026\u0026|\\||\\|\\||=|:|\u003e|\u003e=|\u003c|\u003c=|\\.\\.\\.)[^\\S\\n])[^\\s({=;%][^\\n;%]*)","captures":{"2":{"name":"entity.name.function.command.matlab","patterns":[{"include":"$self"}]},"4":{"name":"string.unquoted.matlab","patterns":[{"include":"#string_quoted_single"}]}}},"comment_block":{"name":"comment.block.percentage.matlab","begin":"(^[\\s]*)(%\\{)[^\\S\\n]*+\\n","end":"(^[\\s]*)(%\\})[^\\S\\n]*+(?:\\n|$)","patterns":[{"include":"#comment_block"},{"match":"^[^\\n]*\\n"}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"},"2":{"name":"punctuation.definition.comment.begin.matlab"}},"endCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"},"2":{"name":"punctuation.definition.comment.end.matlab"}}},"comments":{"patterns":[{"begin":"(^[ \\t]+)?(?=%%\\s)","end":"\\Z","patterns":[{"name":"comment.line.double-percentage.matlab","begin":"%%","end":"\\n","patterns":[{"contentName":"entity.name.section.matlab","begin":"\\G[^\\S\\n]*(?![\\n\\s])","end":"(?=\\n)","beginCaptures":{"0":{"name":"punctuation.whitespace.comment.leading.matlab"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.matlab"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"}}},{"include":"#comment_block"},{"begin":"(^[ \\t]+)?(?=%)","end":"\\Z","patterns":[{"name":"comment.line.percentage.matlab","begin":"%","end":"\\Z","beginCaptures":{"0":{"name":"punctuation.definition.comment.matlab"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"}}}]},"conjugate_transpose":{"name":"keyword.operator.transpose.matlab","match":"((?\u003c=[^\\s])|(?\u003c=\\])|(?\u003c=\\))|(?\u003c=\\}))'"},"constants":{"patterns":[{"name":"constant.numeric.matlab","match":"(?\u003c!\\.)\\b(eps|Inf|inf|intmax|intmin|namelengthmax|realmax|realmin|pi)\\b"},{"name":"constant.language.nan.matlab","match":"(?\u003c!\\.)\\b(NaN|nan|NaT|nat)\\b"},{"name":"constant.language.boolean.matlab","match":"(?\u003c!\\.)\\b(on|off|false|true)\\b"}]},"control_statements":{"name":"meta.control.matlab","match":"\\s*(?\u003c=^|[\\s,;])(break|continue|return)\\b","captures":{"1":{"name":"keyword.control.flow.matlab"}}},"curly_brackets":{"contentName":"meta.cell.literal.matlab","begin":"\\{","end":"\\}","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.matlab"}}},"end_in_parentheses":{"name":"keyword.operator.word.matlab","match":"\\bend\\b"},"function":{"patterns":[{"name":"meta.function.matlab","begin":"(?x)\n\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t(function)\n\t\t\t\t\t\t\t\\s+\n\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b(\\s*\\n)?","patterns":[{"name":"meta.function.declaration.matlab","begin":"\\G","end":"(?\u003c=[\\)\\n])","patterns":[{"contentName":"meta.assignment.variable.output.matlab","begin":"\\G(?=.*?=)","end":"\\s*(=)\\s*","patterns":[{"name":"punctuation.section.assignment.group.begin.matlab","match":"\\G\\["},{"match":"(\\])\\s*\\z","captures":{"1":{"name":"punctuation.section.assignment.group.end.matlab"}}},{"name":"variable.parameter.output.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.separator.parameter.comma.matlab","match":","},{"include":"#comments"},{"include":"#line_continuation"}],"endCaptures":{"1":{"name":"keyword.operator.assignment.matlab"}}},{"name":"entity.name.function.matlab","match":"[a-zA-Z][a-zA-Z0-9_.]*(?=[^a-zA-Z0-9_.])","patterns":[{"name":"punctuation.accessor.dot.matlab","match":"\\."},{"include":"#line_continuation"}]},{"name":"meta.parameters.matlab","begin":"(?\u003c=[a-zA-Z0-9_])\\s*\\(","end":"\\)","patterns":[{"name":"variable.parameter.input.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"variable.language.anonymous.matlab","match":"~"},{"name":"punctuation.separator.parameter.comma.matlab","match":","},{"include":"#comments"},{"include":"#line_continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.matlab"}}},{"include":"#comments"}]},{"name":"meta.arguments.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(arguments)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"keyword.operator.other.matlab","match":"(?\u003c=\\w)\\.\\?(?=\\w)"},{"include":"#validators"},{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.arguments.matlab"},"3":{"name":"meta.arguments.declaration.matlab","patterns":[{"name":"punctuation.section.parens.begin.matlab","match":"\\("},{"name":"storage.modifier.arguments.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.section.parens.end.matlab","match":"\\)"}]}},"endCaptures":{"1":{"name":"keyword.control.end.arguments.matlab"}}},{"include":"$self"}],"beginCaptures":{"2":{"name":"storage.type.function.matlab"}},"endCaptures":{"1":{"name":"storage.type.function.end.matlab"}}}]},"function_call":{"name":"meta.function-call.parens.matlab","begin":"([a-zA-Z][a-zA-Z0-9_]*)\\s*(\\()","end":"(\\)|(?\u003c!\\.\\.\\.)\\n)","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"name":"entity.name.function.matlab","patterns":[{"include":"$self"}]},"2":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"global_persistent":{"match":"^\\s*(global|persistent)\\b","captures":{"1":{"name":"storage.modifier.matlab"}}},"import":{"name":"meta.import.matlab","match":"\\b(import)\\b[^\\S\\n]+([a-zA-Z0-9.\\*]*)[^\\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*(\\.)(\\()","end":"(\\)|(?\u003c!\\.\\.\\.)\\n)","patterns":[{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"name":"variable.other.readwrite.matlab"},"2":{"name":"punctuation.accessor.dot.matlab"},"3":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"indexing_curly_brackets":{"begin":"([a-zA-Z][a-zA-Z0-9_\\.]*\\s*)\\{","end":"(\\}|(?\u003c!\\.\\.\\.)\\n)","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"patterns":[{"name":"variable.other.readwrite.matlab","match":"([a-zA-Z][a-zA-Z0-9_]*)(?=\\s*\\{)"},{"include":"$self"}]}}},"line_continuation":{"name":"meta.continuation.line.matlab","match":"(\\.\\.\\.)(.*)$","captures":{"1":{"name":"punctuation.separator.continuation.line.matlab"},"2":{"name":"comment.continuation.line.matlab"}}},"multiple_assignment":{"contentName":"meta.assignment.variable.group.matlab","begin":"\\[(?=[^\\]]+\\]\\s*=[a-zA-Z0-9_\\s(])","end":"\\]","patterns":[{"name":"variable.language.anonymous.matlab","match":"(?\u003c=[\\[,])\\s{0,4}~\\s{0,4}(?=[\\],])"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.assignment.group.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.assignment.group.end.matlab"}}},"numbers":{"patterns":[{"name":"constant.numeric.decimal.matlab","match":"(?\u003c=[\\s\\+\\-\\*\\/\\\\=:\\[\\(\\{,^]|^)\\d*\\.?\\d+([eE][+-]?\\d)?([0-9\u0026\u0026[^\\.]])*(i|j)?\\b","captures":{"3":{"name":"storage.type.number.imaginary.matlab"}}},{"name":"constant.numeric.hex.matlab","match":"(?\u003c=[\\s\\+\\-\\*\\/\\\\=:\\[\\(\\{,^]|^)0[xX][[:xdigit:]]+([su](?:8|16|32|64))?\\b","captures":{"1":{"name":"storage.type.number.hex.matlab"}}},{"name":"constant.numeric.binary.matlab","match":"(?\u003c=[\\s\\+\\-\\*\\/\\\\=:\\[\\(\\{,^]|^)0[bB][10]+([su](?:8|16|32|64))?\\b","captures":{"1":{"name":"storage.type.number.binary.matlab"}}}]},"operators":{"patterns":[{"name":"keyword.operator.storage.at.matlab","match":"(?\u003c!\\w)@(?=\\s{,4}\\w)"},{"name":"keyword.operator.other.question.matlab","match":"(?\u003c!\\w)\\?(?=\\w)"},{"name":"keyword.operator.arithmetic.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(\\+|-|\\*|\\.\\*|/|\\./|\\\\|\\.\\\\|\\^|\\.\\^)(?=[a-zA-Z0-9\\s])"},{"name":"keyword.operator.logical.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(==|~=|\u0026|\u0026\u0026|\\||\\|\\|)(?=[a-zA-Z0-9\\s])"},{"name":"keyword.operator.assignment.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(=)(?!=)"},{"name":"keyword.operator.vector.colon.matlab","match":"(?\u003c=[a-zA-Z0-9_\\s(){,]|^):(?=[a-zA-Z0-9_\\s()},]|$)"},{"name":"keyword.operator.relational.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(\u003e|\u003e=|\u003c|\u003c=)(?=\\s)"}]},"parentheses":{"contentName":"meta.parens.matlab","begin":"\\(","end":"(\\)|(?\u003c!\\.\\.\\.)\\n)","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"property":{"name":"variable.other.property.matlab","match":"(?\u003c=\\.)[a-zA-Z][a-zA-Z0-9_]*(?![a-zA-Z0-9_]|(?:\\(|\\{|\\.\\())"},"property_access":{"name":"punctuation.accessor.dot.matlab","match":"\\."},"punctuation":{"patterns":[{"name":"punctuation.accessor.dot.matlab","match":"(?\u003c=\\w)\\.(?!\\()"},{"name":"punctuation.separator.comma.matlab","match":","},{"name":"punctuation.terminator.semicolon.matlab","match":";(?=\\s|$)"}]},"readwrite_operations":{"match":"(?\u003c![a-zA-Z0-9_]|\\.)[a-zA-Z][a-zA-Z0-9_]*(?:\\.[a-zA-Z][a-zA-Z0-9_]*)*(?![a-zA-Z0-9_]|(?:\\(|\\{|\\.\\())","captures":{"0":{"patterns":[{"include":"#property"},{"include":"#readwrite_variable"},{"include":"#property_access"}]}}},"readwrite_variable":{"name":"variable.other.readwrite.matlab","match":"(?\u003c![a-zA-Z0-9_]|\\.)[a-zA-Z][a-zA-Z0-9_]*(?![a-zA-Z0-9_]|(?:\\(|\\{|\\.\\())"},"rules_after_command_dual":{"patterns":[{"include":"#string"},{"include":"#line_continuation"},{"include":"#comments"},{"include":"#conjugate_transpose"},{"include":"#transpose"},{"include":"#constants"},{"include":"#variables"},{"include":"#numbers"},{"include":"#operators"},{"include":"#punctuation"}]},"rules_before_command_dual":{"patterns":[{"include":"#classdef"},{"include":"#function"},{"include":"#blocks"},{"include":"#control_statements"},{"include":"#global_persistent"},{"include":"#import"},{"include":"#superclass_method_call"},{"include":"#anonymous_function"},{"include":"#function_call"},{"include":"#parentheses"},{"include":"#indexing_curly_brackets"},{"include":"#indexing_by_expression"},{"include":"#multiple_assignment"},{"include":"#single_assignment"},{"include":"#square_brackets"},{"include":"#curly_brackets"}]},"shell_string":{"match":"^\\s*((!)(.*)$\\n?)","captures":{"1":{"name":"meta.interpolation.shell.matlab"},"2":{"name":"punctuation.section.interpolation.begin.matlab"},"3":{"name":"source.shell.embedded.matlab","patterns":[{"include":"source.shell"}]}}},"single_assignment":{"match":"(?\u003c=^|,|;|for)\\s*([a-zA-Z][a-zA-Z0-9_.]*)(?=\\s*=)","captures":{"1":{"name":"meta.assignment.variable.single.matlab","patterns":[{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}]}}},"square_brackets":{"contentName":"meta.brackets.matlab","begin":"\\[(?![^\\]]+\\]\\s{,4}=)","end":"\\]","patterns":[{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.matlab"}}},"string":{"patterns":[{"include":"#shell_string"},{"include":"#string_quoted_single"},{"include":"#string_quoted_double"}]},"string_quoted_double":{"name":"string.quoted.double.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^))|^)\"","end":"\"(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^|\\||\\s|;|:|,)|$)","patterns":[{"name":"constant.character.escape.matlab","match":"\"\""},{"name":"invalid.illegal.unescaped-quote.matlab","match":"\"(?=.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}},"string_quoted_single":{"name":"string.quoted.single.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|/|\\\\|\\.|\\^))|^)'","end":"'(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|/|\\\\|\\.|\\^|\\s|;|:|,)|$)","patterns":[{"name":"constant.character.escape.matlab","match":"''"},{"name":"invalid.illegal.unescaped-quote.matlab","match":"'(?=.)"},{"name":"constant.character.escape.matlab","match":"((\\%([\\+\\-0]?\\d{0,3}(\\.\\d{1,3})?)(c|d|e|E|f|g|i|G|s|((b|t)?(o|u|x|X))))|\\%\\%|\\\\(b|f|n|r|t|\\\\))"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}},"superclass_method_call":{"name":"meta.method-call.parens.matlab","begin":"([a-zA-Z][a-zA-Z0-9_]*)(@)\\s*([a-zA-Z][a-zA-Z0-9_]*(?:\\.[a-zA-Z][a-zA-Z0-9_]*)*)(\\()","end":"(\\)|(?\u003c!\\.\\.\\.)\\n)","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"name":"entity.name.function.matlab","patterns":[{"include":"$self"}]},"2":{"name":"punctuation.accessor.scope-resolution.superclass.matlab"},"3":{"patterns":[{"name":"entity.name.type.class.matlab","match":"(\\w+)(?=\\s*\\z)"},{"match":"([a-zA-Z][a-zA-Z0-9_]*)(\\.)","captures":{"1":{"name":"entity.name.module.matlab"},"2":{"name":"punctuation.accessor.dot.matlab"}}},{"include":"$self"}]},"4":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"transpose":{"name":"keyword.operator.transpose.matlab","match":"\\.'"},"validator_strings":{"patterns":[{"patterns":[{"name":"string.quoted.single.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^))|^)'","end":"'(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^|\\s|;|:|,)|$)","patterns":[{"match":"''"},{"match":"'(?=.)"},{"match":"([^']+)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}},{"name":"string.quoted.double.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^))|^)\"","end":"\"(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^|\\||\\s|;|:|,)|$|\\z)","patterns":[{"match":"\"\""},{"match":"\"(?=.)"},{"match":"[^\"]+"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}}]}]},"validators":{"name":"meta.assignment.definition.property.matlab","begin":"\\s*[;]?\\s*([a-zA-Z][a-zA-Z0-9_\\.\\?]*)","end":"([;\\n%=].*)","patterns":[{"include":"#line_continuation"},{"match":"\\s*(\\()([^\\)]*)(\\))","captures":{"1":{"name":"punctuation.section.parens.begin.matlab"},"2":{"name":"meta.parens.size.matlab","patterns":[{"include":"#numbers"},{"include":"#operators"},{"include":"#punctuation"}]},"3":{"name":"punctuation.section.parens.end.matlab"}}},{"name":"storage.type.matlab","match":"[a-zA-Z][a-zA-Z0-9_\\.]*"},{"include":"#braced_validator_list"}],"beginCaptures":{"1":{"name":"variable.object.property.matlab"}},"endCaptures":{"1":{"patterns":[{"match":"([%].*)","captures":{"1":{"patterns":[{"include":"$self"}]}}},{"match":"(=[^;]*)","captures":{"1":{"patterns":[{"include":"$self"}]}}},{"match":"([\\n;]\\s*[a-zA-Z].*)","captures":{"1":{"patterns":[{"include":"#validators"}]}}},{"include":"$self"}]}}},"variables":{"name":"variable.language.function.matlab","match":"(?\u003c!\\.)\\b(nargin|nargout|varargin|varargout)\\b"}},"injections":{"source.matlab -comment -entity -support -string -variable -interpolation -source.shell":{"patterns":[{"include":"#readwrite_operations"}]}}}
1
+ {"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"}]}}}