github-linguist 7.18.0 → 7.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +1 -0
  3. data/grammars/liquid.injection.json +1 -0
  4. data/grammars/markdown.cadence.codeblock.json +1 -0
  5. data/grammars/markdown.curry.codeblock.json +1 -0
  6. data/grammars/markdown.prisma.codeblock.json +1 -0
  7. data/grammars/markdown.textproto.codeblock.json +1 -0
  8. data/grammars/source.2da.json +1 -0
  9. data/grammars/source.abap.json +1 -1
  10. data/grammars/source.abl.json +1 -1
  11. data/grammars/source.acucobol.json +1 -1
  12. data/grammars/source.aidl.json +1 -1
  13. data/grammars/source.alloy.json +1 -1
  14. data/grammars/source.astro.json +1 -0
  15. data/grammars/source.ats.json +1 -1
  16. data/grammars/source.ballerina.json +1 -1
  17. data/grammars/source.berry.bytecode.json +1 -0
  18. data/grammars/source.berry.json +1 -0
  19. data/grammars/source.bms.json +1 -0
  20. data/grammars/source.bmsmap.json +1 -0
  21. data/grammars/source.bnd.json +1 -0
  22. data/grammars/source.brs.json +1 -0
  23. data/grammars/source.cadence.json +1 -0
  24. data/grammars/source.cairo.json +1 -0
  25. data/grammars/source.cds.json +1 -0
  26. data/grammars/source.cl.json +1 -0
  27. data/grammars/source.clar.json +1 -0
  28. data/grammars/source.clojure.json +1 -1
  29. data/grammars/source.cmd.json +1 -0
  30. data/grammars/source.cobol.json +1 -1
  31. data/grammars/source.cobol_acu_listfile.json +1 -0
  32. data/grammars/source.cobol_mf_listfile.json +1 -0
  33. data/grammars/source.cobol_mfprep.json +1 -0
  34. data/grammars/source.cobol_pcob_listfile.json +1 -0
  35. data/grammars/source.cobolit.json +1 -0
  36. data/grammars/source.cobsql_dir.json +1 -0
  37. data/grammars/source.cs.json +1 -1
  38. data/grammars/source.csound.json +1 -1
  39. data/grammars/source.css.json +1 -1
  40. data/grammars/source.csswg.json +1 -0
  41. data/grammars/source.curlrc.json +1 -1
  42. data/grammars/source.curry.json +1 -0
  43. data/grammars/source.dart.json +1 -1
  44. data/grammars/source.data-weave.json +1 -1
  45. data/grammars/source.dds.dspf.json +1 -0
  46. data/grammars/source.dds.icff.json +1 -0
  47. data/grammars/source.dds.lf.json +1 -0
  48. data/grammars/source.dds.pf.json +1 -0
  49. data/grammars/source.dds.prtf.json +1 -0
  50. data/grammars/source.deb-control.json +1 -0
  51. data/grammars/source.debian.makefile.json +1 -0
  52. data/grammars/source.denizenscript.json +1 -0
  53. data/grammars/source.dir.json +1 -0
  54. data/grammars/source.ditroff.json +1 -1
  55. data/grammars/source.elixir.json +1 -1
  56. data/grammars/source.euphoria.json +1 -0
  57. data/grammars/source.fsharp.json +1 -1
  58. data/grammars/source.gdresource.json +1 -0
  59. data/grammars/source.gdscript.json +1 -1
  60. data/grammars/source.gdshader.json +1 -0
  61. data/grammars/source.genero-forms.json +1 -0
  62. data/grammars/source.genero.json +1 -0
  63. data/grammars/source.git-revlist.json +1 -0
  64. data/grammars/source.gitignore.json +1 -1
  65. data/grammars/source.gleam.json +1 -0
  66. data/grammars/source.gsc.json +1 -0
  67. data/grammars/source.hack.json +1 -1
  68. data/grammars/source.hlasm.json +1 -0
  69. data/grammars/source.hoon.json +1 -0
  70. data/grammars/source.hx.json +1 -1
  71. data/grammars/source.icurry.json +1 -0
  72. data/grammars/source.janet.json +1 -0
  73. data/grammars/source.jcl.json +1 -1
  74. data/grammars/source.js.json +1 -1
  75. data/grammars/source.jsligo.json +1 -0
  76. data/grammars/source.julia.json +1 -1
  77. data/grammars/source.kotlin.json +1 -1
  78. data/grammars/source.ligo.json +1 -0
  79. data/grammars/source.mc.json +1 -0
  80. data/grammars/source.mfu.json +1 -0
  81. data/grammars/source.mfupp_dir.json +1 -0
  82. data/grammars/source.mi.json +1 -0
  83. data/grammars/source.miniyaml.json +1 -0
  84. data/grammars/source.mint.json +1 -0
  85. data/grammars/source.mligo.json +1 -0
  86. data/grammars/source.mlir.json +1 -1
  87. data/grammars/source.mo.json +1 -1
  88. data/grammars/source.pcb.schematic.json +1 -1
  89. data/grammars/source.pcb.sexp.json +1 -1
  90. data/grammars/source.pli.json +1 -0
  91. data/grammars/source.pnlgrp.json +1 -0
  92. data/grammars/source.pony.json +1 -1
  93. data/grammars/source.portugol.json +1 -0
  94. data/grammars/source.procfile.json +1 -0
  95. data/grammars/source.proto.json +1 -1
  96. data/grammars/source.python.kivy.json +1 -0
  97. data/grammars/source.q.json +1 -1
  98. data/grammars/source.qsharp.json +1 -1
  99. data/grammars/source.rego.json +1 -1
  100. data/grammars/source.religo.json +1 -0
  101. data/grammars/source.renpy.json +1 -1
  102. data/grammars/source.rescript.json +1 -1
  103. data/grammars/source.rpg.json +1 -0
  104. data/grammars/source.rpgle.json +1 -0
  105. data/grammars/source.scala.json +1 -1
  106. data/grammars/source.shell.json +1 -1
  107. data/grammars/source.shellcheckrc.json +1 -1
  108. data/grammars/source.smali.json +1 -1
  109. data/grammars/source.solidity.json +1 -1
  110. data/grammars/source.sqf.json +1 -1
  111. data/grammars/source.stan.json +1 -1
  112. data/grammars/source.star.json +1 -0
  113. data/grammars/source.stl.json +1 -0
  114. data/grammars/source.swift.json +1 -1
  115. data/grammars/source.talon.json +1 -0
  116. data/grammars/source.textproto.json +1 -0
  117. data/grammars/source.ts.json +1 -1
  118. data/grammars/source.tsx.json +1 -1
  119. data/grammars/source.utreport.json +1 -0
  120. data/grammars/source.v.json +1 -1
  121. data/grammars/source.vyper.json +1 -1
  122. data/grammars/source.whiley.json +1 -0
  123. data/grammars/source.win32-messages.json +1 -0
  124. data/grammars/source.witcherscript.json +1 -0
  125. data/grammars/source.wsd.json +1 -1
  126. data/grammars/source.yara.json +1 -1
  127. data/grammars/source.yul.json +1 -0
  128. data/grammars/text.hash-commented.json +1 -0
  129. data/grammars/text.html.liquid.json +1 -1
  130. data/grammars/text.html.markdown.astro.json +1 -1
  131. data/grammars/text.html.statamic.json +1 -0
  132. data/grammars/text.rtf.json +1 -1
  133. data/grammars/text.savane.json +1 -0
  134. data/grammars/text.srt.json +1 -1
  135. data/grammars/text.vtt.json +1 -0
  136. data/grammars/version +1 -1
  137. data/lib/linguist/VERSION +1 -1
  138. data/lib/linguist/generated.rb +13 -1
  139. data/lib/linguist/generic.yml +2 -0
  140. data/lib/linguist/heuristics.yml +84 -1
  141. data/lib/linguist/languages.json +1 -1
  142. data/lib/linguist/languages.yml +455 -7
  143. data/lib/linguist/samples.json +1 -1
  144. data/lib/linguist/vendor.yml +4 -1
  145. metadata +112 -40
  146. data/grammars/source.brightauthorproject.json +0 -1
  147. data/grammars/source.brightscript.json +0 -1
  148. data/grammars/source.opencobol.json +0 -1
  149. data/grammars/source.vtt.json +0 -1
  150. data/grammars/text.html.astro.json +0 -1
  151. data/lib/linguist/linguist.so +0 -0
@@ -1 +1 @@
1
- {"name":"Rego","scopeName":"source.rego","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#operator"},{"include":"#head"},{"include":"#term"}],"repository":{"call":{"name":"meta.function-call.rego","match":"([a-zA-Z_][a-zA-Z0-9_]*)\\(","captures":{"1":{"name":"support.function.any-method.rego"}}},"comment":{"name":"comment.line.number-sign.rego","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.rego"}}},"constant":{"name":"constant.language.rego","match":"\\b(?:true|false|null)\\b"},"head":{"name":"meta.function.rego","begin":"^([[:alpha:]_][[:alnum:]_]*)","end":"(=|{|\\n)","patterns":[{"include":"#term"}],"beginCaptures":{"1":{"name":"entity.name.function.declaration"}}},"keyword":{"name":"keyword.other.rego","match":"(^|\\s+)(?:(default|not|package|import|as|with|else|some|in))\\s+"},"number":{"name":"constant.numeric.rego","match":"(?x: # turn on extended mode\n -? # an optional minus\n (?:\n 0 # a zero\n | # ...or...\n [1-9] # a 1-9 character\n \\d* # followed by zero or more digits\n )\n (?:\n (?:\n \\. # a period\n \\d+ # followed by one or more digits\n )?\n (?:\n [eE] # an e character\n [+-]? # followed by an option +/-\n \\d+ # followed by one or more digits\n )? # make exponent optional\n )? # make decimal portion optional\n )"},"operator":{"patterns":[{"name":"keyword.operator.comparison.rego","match":"\\=|\\!\\=|\u003e|\u003c|\u003c\\=|\u003e\\=|\\+|-|\\*|%|/|\\||\u0026|:\\="}]},"string":{"name":"string.quoted.double.rego","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.rego","match":"(?x: # turn on extended mode\n\t \\\\ # a literal backslash\n\t (?: # ...followed by...\n\t [\"\\\\/bfnrt] # one of these characters\n\t | # ...or...\n\t u # a u\n\t [0-9a-fA-F]{4} # and four hex digits\n\t )\n\t )"},{"name":"invalid.illegal.unrecognized-string-escape.rego","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.rego"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.rego"}}},"term":{"patterns":[{"include":"#constant"},{"include":"#string"},{"include":"#number"},{"include":"#call"},{"include":"#variable"}]},"variable":{"name":"meta.identifier.rego","match":"\\b[[:alpha:]_][[:alnum:]_]*\\b"}}}
1
+ {"name":"Rego","scopeName":"source.rego","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#operator"},{"include":"#head"},{"include":"#term"}],"repository":{"call":{"name":"meta.function-call.rego","match":"([a-zA-Z_][a-zA-Z0-9_]*)\\(","captures":{"1":{"name":"support.function.any-method.rego"}}},"comment":{"name":"comment.line.number-sign.rego","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.rego"}}},"constant":{"name":"constant.language.rego","match":"\\b(?:true|false|null)\\b"},"head":{"name":"meta.function.rego","begin":"^([[:alpha:]_][[:alnum:]_]*)","end":"(=|{|\\n)","patterns":[{"include":"#term"}],"beginCaptures":{"1":{"name":"entity.name.function.declaration"}}},"keyword":{"name":"keyword.other.rego","match":"(^|\\s+)(?:(default|not|package|import|as|with|else|some|in|every))\\s+"},"number":{"name":"constant.numeric.rego","match":"(?x: # turn on extended mode\n -? # an optional minus\n (?:\n 0 # a zero\n | # ...or...\n [1-9] # a 1-9 character\n \\d* # followed by zero or more digits\n )\n (?:\n (?:\n \\. # a period\n \\d+ # followed by one or more digits\n )?\n (?:\n [eE] # an e character\n [+-]? # followed by an option +/-\n \\d+ # followed by one or more digits\n )? # make exponent optional\n )? # make decimal portion optional\n )"},"operator":{"patterns":[{"name":"keyword.operator.comparison.rego","match":"\\=|\\!\\=|\u003e|\u003c|\u003c\\=|\u003e\\=|\\+|-|\\*|%|/|\\||\u0026|:\\="}]},"string":{"name":"string.quoted.double.rego","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.rego","match":"(?x: # turn on extended mode\n\t \\\\ # a literal backslash\n\t (?: # ...followed by...\n\t [\"\\\\/bfnrt] # one of these characters\n\t | # ...or...\n\t u # a u\n\t [0-9a-fA-F]{4} # and four hex digits\n\t )\n\t )"},{"name":"invalid.illegal.unrecognized-string-escape.rego","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.rego"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.rego"}}},"term":{"patterns":[{"include":"#constant"},{"include":"#string"},{"include":"#number"},{"include":"#call"},{"include":"#variable"}]},"variable":{"name":"meta.identifier.rego","match":"\\b[[:alpha:]_][[:alnum:]_]*\\b"}}}
@@ -0,0 +1 @@
1
+ {"name":"ReasonLIGO","scopeName":"source.religo","patterns":[{"include":"#string"},{"include":"#block_comment"},{"include":"#line_comment"},{"include":"#attribute"},{"include":"#macro"},{"include":"#letbinding"},{"include":"#typedefinition"},{"include":"#controlkeywords"},{"include":"#numericliterals"},{"include":"#operators"},{"include":"#identifierconstructor"},{"include":"#module"}],"repository":{"attribute":{"name":"keyword.control.attribute.religo","match":"\\[@.*\\]"},"block_comment":{"name":"comment.block.religo","begin":"/\\*","end":"\\*\\/"},"controlkeywords":{"name":"keyword.control.religo","match":"\\b(switch|if|else|assert|failwith)\\b"},"identifierconstructor":{"match":"\\b([A-Z][a-zA-Z0-9_$]*)\\s+","captures":{"1":{"name":"variable.other.enummember.religo"}}},"letbinding":{"match":"\\b(let)\\b\\s*\\b(rec|)\\s*\\b([a-zA-Z$_][a-zA-Z0-9$_]*)","captures":{"1":{"name":"keyword.other.religo"},"2":{"name":"storage.modifier.religo"},"3":{"name":"entity.name.function.religo"}}},"line_comment":{"name":"comment.block.religo","match":"\\/\\/.*$"},"macro":{"name":"meta.preprocessor.religo","match":"^\\#[a-zA-Z]+"},"module":{"match":"\\b([A-Z][a-zA-Z0-9_$]*)\\.([a-z][a-zA-Z0-9_$]*)","captures":{"1":{"name":"storage.class.religo"},"2":{"name":"storage.var.religo"}}},"numericliterals":{"name":"constant.numeric.religo","match":"(\\+|\\-)?[0-9]+(n|tz|tez|mutez|)\\b"},"operators":{"name":"keyword.operator.religo","match":"\\s+(\\-|\\+|mod|land|lor|lxor|lsl|lsr|\u0026\u0026|\\|\\||\u003e|!=|\u003c=|=\u003e|\u003c|\u003e)\\s+"},"string":{"name":"string.quoted.double.religo","begin":"\\\"","end":"\\\""},"typedefinition":{"name":"entity.name.type.religo","match":"\\b(type)\\b"}}}
@@ -1 +1 @@
1
- {"name":"Ren'Py","scopeName":"source.renpy","patterns":[{"begin":"(^[ \\t]+)?(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.python.renpy","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.python.renpy"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.python.renpy"}}},{"name":"constant.numeric.integer.long.hexadecimal.python.renpy","match":"\\b(?i:(0x[[:xdigit:]]*)L)"},{"name":"constant.numeric.integer.hexadecimal.python.renpy","match":"\\b(?i:(0x[[:xdigit:]]*))"},{"name":"constant.numeric.integer.long.octal.python.renpy","match":"\\b(?i:(0[0-7]+)L)"},{"name":"constant.numeric.integer.octal.python.renpy","match":"\\b(0[0-7]+)"},{"name":"constant.numeric.complex.python.renpy","match":"\\b(?i:(((\\d+(\\.(?=[^a-zA-Z_])\\d*)?|(?\u003c=[^0-9a-zA-Z_])\\.\\d+)(e[\\-\\+]?\\d+)?))J)"},{"name":"constant.numeric.float.python.renpy","match":"\\b(?i:(\\d+\\.\\d*(e[\\-\\+]?\\d+)?))(?=[^a-zA-Z_])"},{"name":"constant.numeric.float.python.renpy","match":"(?\u003c=[^0-9a-zA-Z_])(?i:(\\.\\d+(e[\\-\\+]?\\d+)?))"},{"name":"constant.numeric.float.python.renpy","match":"\\b(?i:(\\d+e[\\-\\+]?\\d+))"},{"name":"constant.numeric.integer.long.decimal.python.renpy","match":"\\b(?i:([1-9]+[0-9]*|0)L)"},{"name":"constant.numeric.integer.decimal.python.renpy","match":"\\b([1-9]+[0-9]*|0)"},{"match":"\\b(global)\\b","captures":{"1":{"name":"storage.modifier.global.python.renpy"}}},{"match":"\\b(nonlocal)\\b","captures":{"1":{"name":"storage.modifier.nonlocal.python.renpy"}}},{"match":"\\b(?:(import)|(from))\\b","captures":{"1":{"name":"keyword.control.import.python.renpy"},"2":{"name":"keyword.control.import.from.python.renpy"}}},{"name":"keyword.control.conditional.python.renpy","match":"\\b(if|elif|else)\\b"},{"name":"keyword.control.exception.python.renpy","match":"\\b(except|finally|try|raise)\\b"},{"name":"keyword.control.repeat.python.renpy","match":"\\b(for|while)\\b"},{"match":"\\b(assert|del|exec|print)\\b","captures":{"1":{"name":"keyword.other.python.renpy"}}},{"name":"invalid.deprecated.operator.python.renpy","match":"\u003c\u003e"},{"name":"keyword.operator.comparison.python.renpy","match":"\u003c\\=|\u003e\\=|\\=\\=|\u003c|\u003e|\\!\\="},{"name":"keyword.operator.assignment.augmented.python.renpy","match":"\\+\\=|-\\=|\\*\\=|/\\=|//\\=|%\\=|\u0026\\=|\\|\\=|\\^\\=|\u003e\u003e\\=|\u003c\u003c\\=|\\*\\*\\="},{"name":"keyword.operator.arithmetic.python.renpy","match":"\\+|\\-|\\*|\\*\\*|/|//|%|\u003c\u003c|\u003e\u003e|\u0026|\\||\\^|~"},{"name":"keyword.operator.assignment.python.renpy","match":"\\="},{"match":"^\\s*(label)\\s*([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"keyword.python.renpy"},"2":{"name":"entity.name.section.python.renpy.label.renpy"}}},{"match":"^\\s*(menu)\\s*([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"keyword.python.renpy"},"2":{"name":"entity.name.section.python.renpy.menu.renpy"}}},{"match":"^\\s*(screen)\\s*([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"keyword.python.renpy"},"2":{"name":"entity.name.class.python.renpy.screen.renpy"}}},{"match":"^\\s*(image)\\s+([a-zA-Z_0-9 ]*)","captures":{"1":{"name":"keyword.python.renpy"},"2":{"name":"entity.name.class.image.python.renpy"}}},{"match":"^\\s*(transform)\\s+([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"keyword.python.renpy"},"2":{"name":"entity.name.section.python.renpy.transform.renpy"}}},{"match":"^\\s*(style)\\s+([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"keyword.python.renpy"},"2":{"name":"entity.name.tag.python.renpy.style.renpy"}}},{"match":"^\\s*(define|default)\\s+([a-zA-Z_0-9\\.]*)","captures":{"1":{"name":"keyword.python.renpy"},"2":{"name":"meta.definition.variable.python.renpy.renpy"}}},{"name":"meta.class.old-style.python.renpy","contentName":"entity.name.type.class.python.renpy","begin":"^\\s*(class)\\s+(?=[a-zA-Z_][a-zA-Z_0-9]*\\s*\\:)","end":"\\s*(:)","patterns":[{"include":"#entity_name_class"}],"beginCaptures":{"1":{"name":"storage.type.class.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.section.class.begin.python.renpy"}}},{"name":"meta.class.python.renpy","begin":"^\\s*(class)\\s+(?=[a-zA-Z_][a-zA-Z_0-9]*\\s*\\()","end":"(\\))\\s*(?:(\\:)|(.*$\\n?))","patterns":[{"contentName":"entity.name.type.class.python.renpy","begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#entity_name_class"}]},{"contentName":"meta.class.inheritance.python.renpy","begin":"(\\()","end":"(?=\\)|:)","patterns":[{"contentName":"entity.other.inherited-class.python.renpy","begin":"(?\u003c=\\(|,)\\s*","end":"\\s*(?:(,)|(?=\\)))","patterns":[{"include":"$self"}],"endCaptures":{"1":{"name":"punctuation.separator.inheritance.python.renpy"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.inheritance.begin.python.renpy"}}}],"beginCaptures":{"1":{"name":"storage.type.class.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.inheritance.end.python.renpy"},"2":{"name":"punctuation.section.class.begin.python.renpy"},"3":{"name":"invalid.illegal.missing-section-begin.python.renpy"}}},{"name":"meta.class.python.renpy","begin":"^\\s*(class)\\s+(?=[a-zA-Z_][a-zA-Z_0-9])","end":"(\\()|(\\s*$\\n?|#.*$\\n?)","patterns":[{"contentName":"entity.name.type.class.python.renpy","begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#entity_name_function"}]}],"beginCaptures":{"1":{"name":"storage.type.class.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.inheritance.begin.python.renpy"},"2":{"name":"invalid.illegal.missing-inheritance.python.renpy"}}},{"name":"meta.function.python.renpy","begin":"^\\s*(def)\\s+(?=[A-Za-z_][A-Za-z0-9_]*\\s*\\()","end":"(\\))\\s*(?:(\\:)|(.*$\\n?))","patterns":[{"contentName":"entity.name.function.python.renpy","begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#entity_name_function"}]},{"contentName":"meta.function.parameters.python.renpy","begin":"(\\()","end":"(?=\\)\\s*\\:)","patterns":[{"include":"#keyword_arguments"},{"match":"\\b([a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(,)|(?=[\\n\\)]))","captures":{"1":{"name":"variable.parameter.function.python.renpy"},"2":{"name":"punctuation.separator.parameters.python.renpy"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.python.renpy"}}}],"beginCaptures":{"1":{"name":"storage.type.function.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.python.renpy"},"2":{"name":"punctuation.section.function.begin.python.renpy"},"3":{"name":"invalid.illegal.missing-section-begin.python.renpy"}}},{"name":"meta.function.python.renpy","begin":"^\\s*(def)\\s+(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(\\()|\\s*($\\n?|#.*$\\n?)","patterns":[{"contentName":"entity.name.function.python.renpy","begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#entity_name_function"}]}],"beginCaptures":{"1":{"name":"storage.type.function.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.begin.python.renpy"},"2":{"name":"invalid.illegal.missing-parameters.python.renpy"}}},{"name":"meta.function.inline.python.renpy","begin":"(lambda)(?=\\s+)","end":"(\\:)","patterns":[{"contentName":"meta.function.inline.parameters.python.renpy","begin":"\\s+","end":"(?=\\:)","patterns":[{"include":"#keyword_arguments"},{"match":"\\b([a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(,)|(?=[\\n\\)\\:]))","captures":{"1":{"name":"variable.parameter.function.python.renpy"},"2":{"name":"punctuation.separator.parameters.python.renpy"}}}]}],"beginCaptures":{"1":{"name":"storage.type.function.inline.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.python.renpy"},"2":{"name":"punctuation.section.function.begin.python.renpy"},"3":{"name":"invalid.illegal.missing-section-begin.python.renpy"}}},{"match":"\\b(def|lambda)\\b","captures":{"1":{"name":"storage.type.function.python.renpy"}}},{"match":"\\b(class)\\b","captures":{"1":{"name":"storage.type.class.python.renpy"}}},{"name":"keyword.python.renpy","match":"\\$"},{"name":"keyword.python.renpy","match":"\\b(\\$|add|always|and|animation|as|assert|at|attribute|auto|bar|behind|block|break|button|call|camera|choice|circles|class|clear|clockwise|contains|continue|counterclockwise|def|default|define|del|drag|draggroup|elif|else|event|except|exec|expression|finally|fixed|for|frame|from|function|global|grid|group|has|hbox|hide|hotbar|hotspot|if|image|imagebutton|imagemap|import|in|index|init|input|is|jump|key|knot|label|lambda|layeredimage|menu|monologue|mousearea|music|new|nointeract|not|null|nvl|offset|old|on|onlayer|or|parallel|pass|pause|play|print|python|queue|raise|repeat|return|rpy|scene|screen|show|showif|side|sound|stop|strings|style|sustain|tag|take|testcase|text|textbutton|time|timer|transclude|transform|translate|try|use|vbar|vbox|viewport|voice|vpgrid|while|window|with|yield|zorder)\\b"},{"name":"entity.other.attribute-name.python.renpy","match":"\\b((?:action|activate_sound|activated|adjustment|allow|allow_underfull|alpha|alternate|alternate_keysym|arguments|arrowkeys|at|auto|cache|caption|changed|child_size|clicked|cols|copypaste|default|default_focus|drag_handle|drag_joined|drag_name|drag_offscreen|drag_raise|draggable|dragged|drop_allowable|droppable|dropped|edgescroll|exclude|focus|focus_mask|ground|height|hover|hovered|icon_tooltip|id|idle|image_style|insensitive|keysym|layer|length|mask|min_overlap|modal|mouse_drop|mousewheel|pagekeys|pixel_width|predict|prefix|properties|range|repeat|rows|scope|scrollbars|selected|selected_hover|selected_idle|selected_insensitive|sensitive|slow|slow_done|spacing|style|style_group|style_prefix|style_suffix|substitute|suffix|text_style|text_tooltip|tooltip|transpose|unhovered|value|variant|width|xadjustment|xinitial|yadjustment|yinitial|zorder))\\b"},{"name":"entity.other.attribute-name.python.renpy","match":"\\b((?:|activate_|hover_|idle_|insensitive_|selected_|selected_activate_|selected_hover_|selected_idle_|selected_insensitive_)(?:additive|adjust_spacing|align|alignaround|alpha|alt|anchor|angle|antialias|area|around|background|bar_invert|bar_resizing|bar_vertical|base_bar|black_color|blend|blur|bold|bottom_bar|bottom_gutter|bottom_margin|bottom_padding|box_layout|box_reverse|box_wrap|box_wrap_spacing|caret|child|clipping|color|corner1|corner2|crop|crop_relative|debug|delay|drop_shadow|drop_shadow_color|events|first_indent|first_spacing|fit|fit_first|focus_mask|font|foreground|gl_anisostropic|gl_blend_func|gl_color_mask|gl_depth|gl_mipmap|gl_pixel_perfect|gl_texture_wrap|hinting|hyperlink_functions|italic|justify|kerning|key_events|keyboard_focus|language|layout|left_bar|left_gutter|left_margin|left_padding|line_leading|line_spacing|margin|matrixanchor|matrixcolor|matrixtransform|maximum|maxsize|mesh|mesh_pad|min_width|minimum|minwidth|mipmap|modal|mouse|nearest|newline_indent|offset|order_reverse|outline_scaling|outlines|padding|perspective|pos|radius|rest_indent|right_bar|right_gutter|right_margin|right_padding|rotate|rotate_pad|ruby_style|shader|size|size_group|slow_abortable|slow_cps|slow_cps_multiplier|sound|spacing|strikethrough|subpixel|text_align|text_y_fudge|thumb|thumb_offset|thumb_shadow|top_bar|top_gutter|top_margin|top_padding|transform_anchor|underline|unscrollable|vertical|xalign|xanchor|xanchoraround|xaround|xcenter|xfill|xfit|xmargin|xmaximum|xminimum|xoffset|xpadding|xpan|xpos|xsize|xspacing|xtile|xysize|xzoom|yalign|yanchor|yanchoraround|yaround|ycenter|yfill|yfit|ymargin|ymaximum|yminimum|yoffset|ypadding|ypan|ypos|ysize|yspacing|ytile|yzoom|zoom|zpos|zzoom))\\b"},{"name":"entity.other.attribute-name.python.renpy","match":"\\b((?:vscrollbar_|scrollbar_)(?:|activate_|hover_|idle_|insensitive_|selected_|selected_activate_|selected_hover_|selected_idle_|selected_insensitive_)(?:align|alt|anchor|area|bar_invert|bar_resizing|bar_vertical|base_bar|bottom_bar|bottom_gutter|clipping|debug|keyboard_focus|left_bar|left_gutter|maximum|minimum|mouse|offset|pos|right_bar|right_gutter|thumb|thumb_offset|thumb_shadow|top_bar|top_gutter|unscrollable|xalign|xanchor|xcenter|xfill|xmaximum|xminimum|xoffset|xpos|xsize|xysize|yalign|yanchor|ycenter|yfill|ymaximum|yminimum|yoffset|ypos|ysize))\\b"},{"name":"entity.other.attribute-name.python.renpy","match":"\\b(side_(?:|activate_|hover_|idle_|insensitive_|selected_|selected_activate_|selected_hover_|selected_idle_|selected_insensitive_)(?:align|alt|anchor|area|clipping|debug|maximum|minimum|offset|pos|spacing|xalign|xanchor|xcenter|xfill|xmaximum|xminimum|xoffset|xpos|xsize|xysize|yalign|yanchor|ycenter|yfill|ymaximum|yminimum|yoffset|ypos|ysize))\\b"},{"name":"entity.other.attribute-name.python.renpy","match":"\\b(text_(?:|activate_|hover_|idle_|insensitive_|selected_|selected_activate_|selected_hover_|selected_idle_|selected_insensitive_)(?:adjust_spacing|align|alt|anchor|antialias|area|black_color|bold|clipping|color|debug|drop_shadow|drop_shadow_color|first_indent|font|hinting|hyperlink_functions|italic|justify|kerning|language|layout|line_leading|line_spacing|maximum|min_width|minimum|minwidth|mipmap|newline_indent|offset|outline_scaling|outlines|pos|rest_indent|ruby_style|size|slow_abortable|slow_cps|slow_cps_multiplier|strikethrough|text_align|text_y_fudge|underline|vertical|xalign|xanchor|xcenter|xfill|xmaximum|xminimum|xoffset|xpos|xsize|xysize|yalign|yanchor|ycenter|yfill|ymaximum|yminimum|yoffset|ypos|ysize))\\b"},{"name":"entity.other.attribute-name.python.renpy","match":"\\b(viewport_(?:|activate_|hover_|idle_|insensitive_|selected_|selected_activate_|selected_hover_|selected_idle_|selected_insensitive_)(?:align|alt|anchor|area|clipping|debug|maximum|minimum|offset|pos|xalign|xanchor|xcenter|xfill|xmaximum|xminimum|xoffset|xpos|xsize|xysize|yalign|yanchor|ycenter|yfill|ymaximum|yminimum|yoffset|ypos|ysize))\\b"},{"name":"meta.function.decorator.python.renpy","begin":"^\\s*(?=@\\s*[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*\\s*\\()","end":"(\\))","patterns":[{"contentName":"entity.name.function.decorator.python.renpy","begin":"(?=(@)\\s*[A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*\\s*\\()","end":"(?=\\s*\\()","patterns":[{"include":"#dotted_name"}],"beginCaptures":{"1":{"name":"punctuation.definition.decorator.python.renpy"}}},{"contentName":"meta.function.decorator.arguments.python.renpy","begin":"(\\()","end":"(?=\\))","patterns":[{"include":"#keyword_arguments"},{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.python.renpy"}}}],"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python.renpy"}}},{"name":"meta.function.decorator.python.renpy","contentName":"entity.name.function.decorator.python.renpy","begin":"^\\s*(?=@\\s*[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*)","end":"(?=\\s|$\\n?|#)","patterns":[{"begin":"(?=(@)\\s*[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*)","end":"(?=\\s|$\\n?|#)","patterns":[{"include":"#dotted_name"}],"beginCaptures":{"1":{"name":"punctuation.definition.decorator.python.renpy"}}}]},{"name":"meta.function-call.python.renpy","contentName":"meta.function-call.arguments.python.renpy","begin":"(?\u003c=\\)|\\])\\s*(\\()","end":"(\\))","patterns":[{"include":"#keyword_arguments"},{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python.renpy"}}},{"name":"meta.function-call.python.renpy","begin":"(?=[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*\\s*\\()","end":"(\\))","patterns":[{"begin":"(?=[A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*\\s*\\()","end":"(?=\\s*\\()","patterns":[{"include":"#dotted_name"}]},{"contentName":"meta.function-call.arguments.python.renpy","begin":"(\\()","end":"(?=\\))","patterns":[{"include":"#keyword_arguments"},{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.python.renpy"}}}],"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python.renpy"}}},{"name":"meta.item-access.python.renpy","begin":"(?=[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*\\s*\\[)","end":"(\\])","patterns":[{"begin":"(?=[A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*\\s*\\[)","end":"(?=\\s*\\[)","patterns":[{"include":"#dotted_name"}]},{"contentName":"meta.item-access.arguments.python.renpy","begin":"(\\[)","end":"(?=\\])","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.python.renpy"}}}],"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python.renpy"}}},{"name":"meta.item-access.python.renpy","contentName":"meta.item-access.arguments.python.renpy","begin":"(?\u003c=\\)|\\])\\s*(\\[)","end":"(\\])","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python.renpy"}}},{"include":"#line_continuation"},{"include":"#language_variables"},{"name":"constant.language.python.renpy","match":"\\b(None|True|False|Ellipsis|NotImplemented)\\b"},{"include":"#string_quoted_single"},{"include":"#string_quoted_double"},{"include":"#dotted_name"},{"begin":"(\\()","end":"(\\))","patterns":[{"include":"$self"}]},{"match":"(\\[)(\\s*(\\]))\\b","captures":{"1":{"name":"punctuation.definition.list.begin.python.renpy"},"2":{"name":"meta.empty-list.python.renpy"},"3":{"name":"punctuation.definition.list.end.python.renpy"}}},{"name":"meta.structure.list.python.renpy","begin":"(\\[)","end":"(\\])","patterns":[{"contentName":"meta.structure.list.item.python.renpy","begin":"(?\u003c=\\[|\\,)\\s*(?![\\],])","end":"\\s*(?:(,)|(?=\\]))","patterns":[{"include":"$self"}],"endCaptures":{"1":{"name":"punctuation.separator.list.python.renpy"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.list.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.list.end.python.renpy"}}},{"name":"meta.structure.tuple.python.renpy","match":"(\\()(\\s*(\\)))","captures":{"1":{"name":"punctuation.definition.tuple.begin.python.renpy"},"2":{"name":"meta.empty-tuple.python.renpy"},"3":{"name":"punctuation.definition.tuple.end.python.renpy"}}},{"name":"meta.structure.dictionary.python.renpy","match":"(\\{)(\\s*(\\}))","captures":{"1":{"name":"punctuation.definition.dictionary.begin.python.renpy"},"2":{"name":"meta.empty-dictionary.python.renpy"},"3":{"name":"punctuation.definition.dictionary.end.python.renpy"}}},{"name":"meta.structure.dictionary.python.renpy","begin":"(\\{)","end":"(\\})","patterns":[{"contentName":"meta.structure.dictionary.key.python.renpy","begin":"(?\u003c=\\{|\\,|^)\\s*(?![\\},])","end":"\\s*(?:(?=\\})|(\\:))","patterns":[{"include":"$self"}],"endCaptures":{"1":{"name":"punctuation.separator.valuepair.dictionary.python.renpy"}}},{"contentName":"meta.structure.dictionary.value.python.renpy","begin":"(?\u003c=\\:|^)\\s*","end":"\\s*(?:(?=\\})|(,))","patterns":[{"include":"$self"}],"endCaptures":{"1":{"name":"punctuation.separator.dictionary.python.renpy"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.dictionary.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.dictionary.end.python.renpy"}}}],"repository":{"builtin_exceptions":{"name":"support.type.exception.python.renpy","match":"(?x)\\b(\n\t\t\t\t(\n\t\t\t\t\tArithmetic|Assertion|Attribute|BlockingIO|BrokenPipe|Buffer|ChildProcess|\n\t\t\t\t\tConnection(Aborted|Refused|Reset)?|EOF|Environment|FileExists|\n\t\t\t\t\tFileNotFound|FloatingPoint|Interrupted|IO|IsADirectoryError|\n\t\t\t\t\tImport|Indentation|Index|Key|Lookup|Memory|Name|NotADirectory|\n\t\t\t\t\tNotImplemented|OS|Overflow|Permission|ProcessLookup|Reference|\n\t\t\t\t\tRuntime|Standard|Syntax|System|Tab|Timeout|Type|UnboundLocal|\n\t\t\t\t\tUnicode(Encode|Decode|Translate)?|Value|VMS|Windows|ZeroDivision\n\t\t\t\t)Error|\n\t\t\t\t((Pending)?Deprecation|Runtime|Syntax|User|Future|Import|Unicode|Bytes)?Warning|\n\t\t\t\t(Base)?Exception|\n\t\t\t\tSystemExit|StopIteration|NotImplemented|KeyboardInterrupt|GeneratorExit\n\t\t\t)\\b"},"builtin_functions":{"name":"support.function.builtin.python.renpy","match":"(?x)\\b(\n\t\t\t\t__import__|all|abs|any|apply|ascii|bin|callable|chr|classmethod|cmp|coerce|\n\t\t\t\tcompile|delattr|dir|divmod|enumerate|eval|execfile|filter|format|getattr|\n\t\t\t\tglobals|hasattr|hash|help|hex|id|input|intern|isinstance|issubclass|iter|\n\t\t\t\tlen|locals|map|max|min|next|oct|open|ord|pow|print|property|range|\n\t\t\t\traw_input|reduce|reload|repr|reversed|round|setattr|sorted|staticmethod|\n\t\t\t\tsum|super|type|unichr|vars|zip\n\t\t\t)\\b"},"builtin_types":{"name":"support.type.python.renpy","match":"(?x)\\b(\n\t\t\t\tbasestring|bool|buffer|bytearray|bytes|complex|dict|float|frozenset|int|\n\t\t\t\tlist|long|memoryview|object|range|set|slice|str|tuple|unicode|xrange\n\t\t\t)\\b"},"constant_placeholder":{"name":"constant.other.placeholder.tags.renpy","match":"\\{[^}]*\\}|\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]"},"docstrings":{"patterns":[{"name":"comment.block.python.renpy","begin":"^\\s*(?=[uU]?[rR]?\"\"\")","end":"(?\u003c=\"\"\")","patterns":[{"include":"#string_quoted_double"}]},{"name":"comment.block.python.renpy","begin":"^\\s*(?=[uU]?[rR]?''')","end":"(?\u003c=''')","patterns":[{"include":"#string_quoted_single"}]}]},"dotted_name":{"begin":"(?=[A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*)","end":"(?![A-Za-z0-9_\\.])","patterns":[{"begin":"(\\.)(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#magic_function_names"},{"include":"#magic_variable_names"},{"include":"#illegal_names"},{"include":"#generic_names"}]},{"begin":"(?\u003c!\\.)(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#builtin_functions"},{"include":"#builtin_types"},{"include":"#builtin_exceptions"},{"include":"#illegal_names"},{"include":"#magic_function_names"},{"include":"#magic_variable_names"},{"include":"#language_variables"},{"include":"#generic_names"}]}]},"entity_name_class":{"patterns":[{"include":"#illegal_names"},{"include":"#generic_names"}]},"entity_name_function":{"patterns":[{"include":"#magic_function_names"},{"include":"#illegal_names"},{"include":"#generic_names"}]},"escaped_char":{"match":"(\\\\x[0-9A-F]{2})|(\\\\[0-7]{3})|(\\\\\\n)|(\\\\\\\\)|(\\\\\\\")|(\\\\')|(\\\\a)|(\\\\b)|(\\\\f)|(\\\\n)|(\\\\r)|(\\\\t)|(\\\\v)","captures":{"1":{"name":"constant.character.escape.hex.python.renpy"},"10":{"name":"constant.character.escape.linefeed.python.renpy"},"11":{"name":"constant.character.escape.return.python.renpy"},"12":{"name":"constant.character.escape.tab.python.renpy"},"13":{"name":"constant.character.escape.vertical-tab.python.renpy"},"2":{"name":"constant.character.escape.octal.python.renpy"},"3":{"name":"constant.character.escape.newline.python.renpy"},"4":{"name":"constant.character.escape.backlash.python.renpy"},"5":{"name":"constant.character.escape.double-quote.python.renpy"},"6":{"name":"constant.character.escape.single-quote.python.renpy"},"7":{"name":"constant.character.escape.bell.python.renpy"},"8":{"name":"constant.character.escape.backspace.python.renpy"},"9":{"name":"constant.character.escape.formfeed.python.renpy"}}},"escaped_placeholder":{"name":"constant.character.escape.placeholder.python.renpy","match":"\\{\\{|\\[\\["},"escaped_unicode_char":{"match":"(\\\\U[0-9A-Fa-f]{8})|(\\\\u[0-9A-Fa-f]{4})|(\\\\N\\{[a-zA-Z ]+\\})","captures":{"1":{"name":"constant.character.escape.unicode.16-bit-hex.python.renpy"},"2":{"name":"constant.character.escape.unicode.32-bit-hex.python.renpy"},"3":{"name":"constant.character.escape.unicode.name.python.renpy"}}},"function_name":{"patterns":[{"include":"#magic_function_names"},{"include":"#magic_variable_names"},{"include":"#builtin_exceptions"},{"include":"#builtin_functions"},{"include":"#builtin_types"},{"include":"#generic_names"}]},"generic_names":{"match":"[A-Za-z_][A-Za-z0-9_]*"},"illegal_names":{"name":"invalid.illegal.name.python.renpy","match":"\\b(and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|global|if|import|in|is|lambda|nonlocal|not|or|print|raise|try|while|with|yield)\\b"},"keyword_arguments":{"begin":"\\b([a-zA-Z_][a-zA-Z_0-9]*)\\s*(=)(?!=)","end":"\\s*(?:(,)|(?=$\\n?|[\\)\\:]))","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"variable.parameter.function.python.renpy"},"2":{"name":"keyword.operator.assignment.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.python.renpy"}}},"language_variables":{"name":"variable.language.python.renpy","match":"\\b(self|cls)\\b"},"line_continuation":{"match":"(\\\\)(.*)$\\n?","captures":{"1":{"name":"punctuation.separator.continuation.line.python.renpy"},"2":{"name":"invalid.illegal.unexpected-text.python.renpy"}}},"magic_function_names":{"name":"support.function.magic.python.renpy","match":"(?x)\\b(__(?:\n\t\t\t\t\t\tabs|add|and|cmp|coerce|complex|contains|del|delattr|\n\t\t\t\t\t\tdelete|delitem|delslice|div|divmod|enter|eq|exit|float|\n\t\t\t\t\t\tfloordiv|ge|get|getattr|getattribute|getitem|getslice|gt|\n\t\t\t\t\t\thash|hex|iadd|iand|idiv|ifloordiv|ilshift|imod|imul|init|\n\t\t\t\t\t\tint|invert|ior|ipow|irshift|isub|iter|itruediv|ixor|le|len|\n\t\t\t\t\t\tlong|lshift|lt|mod|mul|ne|neg|new|nonzero|oct|or|pos|pow|\n\t\t\t\t\t\tradd|rand|rdiv|rdivmod|repr|rfloordiv|rlshift|rmod|rmul|ror|\n\t\t\t\t\t\trpow|rrshift|rshift|rsub|rtruediv|rxor|set|setattr|setitem|\n\t\t\t\t\t\tsetslice|str|sub|truediv|unicode|xor\n\t\t\t\t\t)__)\\b"},"magic_variable_names":{"name":"support.variable.magic.python.renpy","match":"\\b__(all|bases|class|debug|dict|doc|file|members|metaclass|methods|name|slots|weakref)__\\b"},"regular_expressions":{"patterns":[{"include":"source.regexp.python"}]},"string_quoted_double":{"patterns":[{"name":"string.quoted.double.block.unicode-raw-regex.python.renpy","begin":"([uU]r)(\"\"\")","end":"((?\u003c=\"\"\")(\")\"\"|\"\"\")","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"},{"include":"#regular_expressions"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"}}},{"name":"string.quoted.double.block.unicode-raw.python.renpy","begin":"([uU]R)(\"\"\")","end":"((?\u003c=\"\"\")(\")\"\"|\"\"\")","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"}}},{"name":"string.quoted.double.block.raw-regex.python.renpy","begin":"(r)(\"\"\")","end":"((?\u003c=\"\"\")(\")\"\"|\"\"\")","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"},{"include":"#regular_expressions"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"}}},{"name":"string.quoted.double.block.raw.python.renpy","begin":"(R)(\"\"\")","end":"((?\u003c=\"\"\")(\")\"\"|\"\"\")","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"}}},{"name":"string.quoted.double.block.unicode.python.renpy","begin":"([uU])(\"\"\")","end":"((?\u003c=\"\"\")(\")\"\"|\"\"\")","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"}}},{"name":"string.quoted.double.single-line.unicode-raw-regex.python.renpy","match":"([uU]r)(\")((?:[^\"\\\\]|\\\\.)*)(\")","captures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"},"3":{"patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"},{"include":"#regular_expressions"}]},"4":{"name":"punctuation.definition.string.end.python.renpy"}}},{"name":"string.quoted.double.single-line.unicode-raw.python.renpy","begin":"([uU]R)(\")","end":"((?\u003c=\")(\")|\")","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"},"3":{"name":"invalid.illegal.unclosed-string.python.renpy"}}},{"name":"string.quoted.double.single-line.raw-regex.python.renpy","match":"(r)(\")((?:[^\"\\\\]|\\\\.)*)(\")","captures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"},"3":{"patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"},{"include":"#regular_expressions"}]},"4":{"name":"punctuation.definition.string.end.python.renpy"}}},{"name":"string.quoted.double.single-line.raw.python.renpy","begin":"(R)(\")","end":"((?\u003c=\")(\")|\")|(\\n)","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"},"3":{"name":"invalid.illegal.unclosed-string.python.renpy"}}},{"name":"string.quoted.double.single-line.unicode.python.renpy","begin":"([uU])(\")","end":"((?\u003c=\")(\")|\")","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"},"3":{"name":"invalid.illegal.unclosed-string.python.renpy"}}},{"name":"string.quoted.double.block.python.renpy","begin":"(\"\"\")","end":"((?\u003c=\"\"\")(\")\"\"|\"\"\")","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"}}},{"name":"string.quoted.double.single-line.python.renpy","begin":"(\")","end":"((?\u003c=\")(\")|\")","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"},"3":{"name":"invalid.illegal.unclosed-string.python.renpy"}}}]},"string_quoted_single":{"patterns":[{"name":"string.quoted.single.single-line.python.renpy","match":"(?\u003c!')(')(('))(?!')","captures":{"1":{"name":"punctuation.definition.string.begin.python.renpy"},"2":{"name":"punctuation.definition.string.end.python.renpy"},"3":{"name":"meta.empty-string.single.python.renpy"}}},{"name":"string.quoted.single.block.unicode-raw-regex.python.renpy","begin":"([uU]r)(''')","end":"((?\u003c=''')(')''|''')","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"},{"include":"#regular_expressions"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.single.python.renpy"}}},{"name":"string.quoted.single.block.unicode-raw.python.renpy","begin":"([uU]R)(''')","end":"((?\u003c=''')(')''|''')","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.single.python.renpy"}}},{"name":"string.quoted.single.block.raw-regex.python.renpy","begin":"(r)(''')","end":"((?\u003c=''')(')''|''')","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"},{"include":"#regular_expressions"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.single.python.renpy"}}},{"name":"string.quoted.single.block.raw.python.renpy","begin":"(R)(''')","end":"((?\u003c=''')(')''|''')","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.single.python.renpy"}}},{"name":"string.quoted.single.block.unicode.python.renpy","begin":"([uU])(''')","end":"((?\u003c=''')(')''|''')","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.single.python.renpy"}}},{"name":"string.quoted.single.single-line.unicode-raw-regex.python.renpy","match":"([uU]r)(')((?:[^'\\\\]|\\\\.)*)(')","captures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"},"3":{"patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"},{"include":"#regular_expressions"}]},"4":{"name":"punctuation.definition.string.end.python.renpy"}}},{"name":"string.quoted.single.single-line.unicode-raw.python.renpy","begin":"([uU]R)(')","end":"(')","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"invalid.illegal.unclosed-string.python.renpy"}}},{"name":"string.quoted.single.single-line.raw-regex.python.renpy","match":"(r)(')((?:[^'\\\\]|\\\\.)*)(')","captures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"},"3":{"patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"},{"include":"#regular_expressions"}]},"4":{"name":"punctuation.definition.string.end.python.renpy"}}},{"name":"string.quoted.single.single-line.raw.python.renpy","begin":"(R)(')","end":"(')|(\\n)","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"invalid.illegal.unclosed-string.python.renpy"}}},{"name":"string.quoted.single.single-line.unicode.python.renpy","begin":"([uU])(')","end":"(')","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"invalid.illegal.unclosed-string.python.renpy"}}},{"name":"string.quoted.single.block.python.renpy","begin":"(''')","end":"((?\u003c=''')(')''|''')","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.single.python.renpy"}}},{"name":"string.quoted.single.single-line.python.renpy","begin":"(')","end":"(')","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"invalid.illegal.unclosed-string.python.renpy"}}}]},"strings":{"patterns":[{"include":"#string_quoted_double"},{"include":"#string_quoted_single"}]}}}
1
+ {"name":"Ren'Py","scopeName":"source.renpy","patterns":[{"begin":"(^[ \\t]+)?(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.python.renpy","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.python.renpy"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.python.renpy"}}},{"name":"constant.numeric.integer.long.hexadecimal.python.renpy","match":"\\b(?i:(0x[[:xdigit:]]*)L)"},{"name":"constant.numeric.integer.hexadecimal.python.renpy","match":"\\b(?i:(0x[[:xdigit:]]*))"},{"name":"constant.numeric.integer.long.octal.python.renpy","match":"\\b(?i:(0[0-7]+)L)"},{"name":"constant.numeric.integer.octal.python.renpy","match":"\\b(0[0-7]+)"},{"name":"constant.numeric.complex.python.renpy","match":"\\b(?i:(((\\d+(\\.(?=[^a-zA-Z_])\\d*)?|(?\u003c=[^0-9a-zA-Z_])\\.\\d+)(e[\\-\\+]?\\d+)?))J)"},{"name":"constant.numeric.float.python.renpy","match":"\\b(?i:(\\d+\\.\\d*(e[\\-\\+]?\\d+)?))(?=[^a-zA-Z_])"},{"name":"constant.numeric.float.python.renpy","match":"(?\u003c=[^0-9a-zA-Z_])(?i:(\\.\\d+(e[\\-\\+]?\\d+)?))"},{"name":"constant.numeric.float.python.renpy","match":"\\b(?i:(\\d+e[\\-\\+]?\\d+))"},{"name":"constant.numeric.integer.long.decimal.python.renpy","match":"\\b(?i:([1-9]+[0-9]*|0)L)"},{"name":"constant.numeric.integer.decimal.python.renpy","match":"\\b([1-9]+[0-9]*|0)"},{"match":"\\b(global)\\b","captures":{"1":{"name":"storage.modifier.global.python.renpy"}}},{"match":"\\b(nonlocal)\\b","captures":{"1":{"name":"storage.modifier.nonlocal.python.renpy"}}},{"match":"\\b(?:(import)|(from))\\b","captures":{"1":{"name":"keyword.control.import.python.renpy"},"2":{"name":"keyword.control.import.from.python.renpy"}}},{"name":"keyword.control.conditional.python.renpy","match":"\\b(if|elif|else)\\b"},{"name":"keyword.control.exception.python.renpy","match":"\\b(except|finally|try|raise)\\b"},{"name":"keyword.control.repeat.python.renpy","match":"\\b(for|while)\\b"},{"match":"\\b(assert|del|exec|print|match|case|async|await)\\b","captures":{"1":{"name":"keyword.other.python.renpy"}}},{"name":"invalid.deprecated.operator.python.renpy","match":"\u003c\u003e"},{"name":"keyword.operator.comparison.python.renpy","match":"\u003c\\=|\u003e\\=|\\=\\=|\u003c|\u003e|\\!\\="},{"name":"keyword.operator.assignment.augmented.python.renpy","match":"\\+\\=|-\\=|\\*\\=|/\\=|//\\=|%\\=|\u0026\\=|\\|\\=|\\^\\=|\u003e\u003e\\=|\u003c\u003c\\=|\\*\\*\\="},{"name":"keyword.operator.arithmetic.python.renpy","match":"\\+|\\-|\\*|\\*\\*|/|//|%|@|\u003c\u003c|\u003e\u003e|\u0026|\\||\\^|~"},{"name":"keyword.operator.assignment.python.renpy","match":"\\=|\\:\\="},{"match":"^\\s*(label)\\s*([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"keyword.python.renpy"},"2":{"name":"entity.name.section.python.renpy.label.renpy"}}},{"match":"^\\s*(menu)\\s*([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"keyword.python.renpy"},"2":{"name":"entity.name.section.python.renpy.menu.renpy"}}},{"match":"^\\s*(screen)\\s*([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"keyword.python.renpy"},"2":{"name":"entity.name.class.python.renpy.screen.renpy"}}},{"match":"^\\s*(image)\\s+([a-zA-Z_0-9 ]*)","captures":{"1":{"name":"keyword.python.renpy"},"2":{"name":"entity.name.class.image.python.renpy"}}},{"match":"^\\s*(transform)\\s+([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"keyword.python.renpy"},"2":{"name":"entity.name.section.python.renpy.transform.renpy"}}},{"match":"^\\s*(style)\\s+([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"keyword.python.renpy"},"2":{"name":"entity.name.tag.python.renpy.style.renpy"}}},{"match":"^\\s*(define|default)\\s+([a-zA-Z_0-9\\.]*)","captures":{"1":{"name":"keyword.python.renpy"},"2":{"name":"meta.definition.variable.python.renpy.renpy"}}},{"name":"meta.class.old-style.python.renpy","contentName":"entity.name.type.class.python.renpy","begin":"^\\s*(class)\\s+(?=[a-zA-Z_][a-zA-Z_0-9]*\\s*\\:)","end":"\\s*(:)","patterns":[{"include":"#entity_name_class"}],"beginCaptures":{"1":{"name":"storage.type.class.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.section.class.begin.python.renpy"}}},{"name":"meta.class.python.renpy","begin":"^\\s*(class)\\s+(?=[a-zA-Z_][a-zA-Z_0-9]*\\s*\\()","end":"(\\))\\s*(?:(\\:)|(.*$\\n?))","patterns":[{"contentName":"entity.name.type.class.python.renpy","begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#entity_name_class"}]},{"contentName":"meta.class.inheritance.python.renpy","begin":"(\\()","end":"(?=\\)|:)","patterns":[{"contentName":"entity.other.inherited-class.python.renpy","begin":"(?\u003c=\\(|,)\\s*","end":"\\s*(?:(,)|(?=\\)))","patterns":[{"include":"$self"}],"endCaptures":{"1":{"name":"punctuation.separator.inheritance.python.renpy"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.inheritance.begin.python.renpy"}}}],"beginCaptures":{"1":{"name":"storage.type.class.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.inheritance.end.python.renpy"},"2":{"name":"punctuation.section.class.begin.python.renpy"},"3":{"name":"invalid.illegal.missing-section-begin.python.renpy"}}},{"name":"meta.class.python.renpy","begin":"^\\s*(class)\\s+(?=[a-zA-Z_][a-zA-Z_0-9])","end":"(\\()|(\\s*$\\n?|#.*$\\n?)","patterns":[{"contentName":"entity.name.type.class.python.renpy","begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#entity_name_function"}]}],"beginCaptures":{"1":{"name":"storage.type.class.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.inheritance.begin.python.renpy"},"2":{"name":"invalid.illegal.missing-inheritance.python.renpy"}}},{"name":"meta.function.python.renpy","begin":"^\\s*(def)\\s+(?=[A-Za-z_][A-Za-z0-9_]*\\s*\\()","end":"(\\))\\s*(?:(\\:)|(.*$\\n?))","patterns":[{"contentName":"entity.name.function.python.renpy","begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#entity_name_function"}]},{"contentName":"meta.function.parameters.python.renpy","begin":"(\\()","end":"(?=\\)\\s*\\:)","patterns":[{"include":"#keyword_arguments"},{"match":"\\b([a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(,)|(?=[\\n\\)]))","captures":{"1":{"name":"variable.parameter.function.python.renpy"},"2":{"name":"punctuation.separator.parameters.python.renpy"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.python.renpy"}}}],"beginCaptures":{"1":{"name":"storage.type.function.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.python.renpy"},"2":{"name":"punctuation.section.function.begin.python.renpy"},"3":{"name":"invalid.illegal.missing-section-begin.python.renpy"}}},{"name":"meta.function.python.renpy","begin":"^\\s*(def)\\s+(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(\\()|\\s*($\\n?|#.*$\\n?)","patterns":[{"contentName":"entity.name.function.python.renpy","begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#entity_name_function"}]}],"beginCaptures":{"1":{"name":"storage.type.function.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.begin.python.renpy"},"2":{"name":"invalid.illegal.missing-parameters.python.renpy"}}},{"name":"meta.function.inline.python.renpy","begin":"(lambda)(?=\\s+)","end":"(\\:)","patterns":[{"contentName":"meta.function.inline.parameters.python.renpy","begin":"\\s+","end":"(?=\\:)","patterns":[{"include":"#keyword_arguments"},{"match":"\\b([a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(,)|(?=[\\n\\)\\:]))","captures":{"1":{"name":"variable.parameter.function.python.renpy"},"2":{"name":"punctuation.separator.parameters.python.renpy"}}}]}],"beginCaptures":{"1":{"name":"storage.type.function.inline.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.python.renpy"},"2":{"name":"punctuation.section.function.begin.python.renpy"},"3":{"name":"invalid.illegal.missing-section-begin.python.renpy"}}},{"match":"\\b(def|lambda)\\b","captures":{"1":{"name":"storage.type.function.python.renpy"}}},{"match":"\\b(class)\\b","captures":{"1":{"name":"storage.type.class.python.renpy"}}},{"name":"keyword.python.renpy","match":"\\$"},{"name":"keyword.python.renpy","match":"\\b(\\$|add|always|and|animation|as|assert|at|attribute|auto|bar|behind|block|break|button|call|camera|choice|circles|class|clear|clockwise|contains|continue|counterclockwise|def|default|define|del|dismiss|drag|draggroup|elif|else|event|except|exec|expression|finally|fixed|for|frame|from|function|global|grid|group|has|hbox|hide|hotbar|hotspot|if|image|imagebutton|imagemap|import|in|index|init|input|is|jump|key|knot|label|lambda|layeredimage|menu|monologue|mousearea|music|nearrect|new|nointeract|not|null|nvl|offset|old|on|onlayer|or|parallel|pass|pause|play|print|python|queue|raise|repeat|return|rpy|scene|screen|show|showif|side|sound|stop|strings|style|sustain|tag|take|testcase|text|textbutton|time|timer|transclude|transform|translate|try|use|vbar|vbox|viewport|voice|vpgrid|while|window|with|yield|zorder)\\b"},{"name":"entity.other.attribute-name.python.renpy","match":"\\b((?:action|activate_sound|activated|adjustment|allow|allow_underfull|alpha|alt|alternate|alternate_keysym|arguments|arrowkeys|at|auto|cache|caption|capture|caret_blink|changed|child_size|clicked|cols|copypaste|default|default_focus|drag_handle|drag_joined|drag_name|drag_offscreen|drag_raise|draggable|dragged|dragging|drop_allowable|droppable|dropped|edgescroll|exclude|focus|focus_mask|ground|height|hover|hovered|icon_tooltip|id|idle|image_style|insensitive|keysym|layer|length|mask|min_overlap|modal|mouse_drop|mousewheel|pagekeys|pixel_width|predict|prefer_top|prefix|properties|range|rect|released|repeat|roll_forward|rows|scope|scrollbars|selected|selected_hover|selected_idle|selected_insensitive|sensitive|slow|slow_done|spacing|style|style_group|style_prefix|style_suffix|substitute|suffix|text_style|text_tooltip|tooltip|transpose|unhovered|value|variant|width|xadjustment|xinitial|yadjustment|yinitial|zorder))\\b"},{"name":"entity.other.attribute-name.python.renpy","match":"\\b((?:|activate_|hover_|idle_|insensitive_|selected_|selected_activate_|selected_hover_|selected_idle_|selected_insensitive_)(?:additive|adjust_spacing|align|alignaround|alpha|alt|anchor|angle|antialias|area|around|background|bar_invert|bar_resizing|bar_vertical|base_bar|black_color|blend|blur|bold|bottom_bar|bottom_gutter|bottom_margin|bottom_padding|box_layout|box_reverse|box_wrap|box_wrap_spacing|caret|child|clipping|color|corner1|corner2|crop|crop_relative|debug|delay|drop_shadow|drop_shadow_color|events|first_indent|first_spacing|fit|fit_first|focus_mask|font|foreground|gl_anisotropic|gl_blend_func|gl_color_mask|gl_depth|gl_drawable_resolution|gl_mipmap|gl_pixel_perfect|gl_texture_scaling|gl_texture_wrap|hinting|hyperlink_functions|italic|justify|kerning|key_events|keyboard_focus|language|layout|left_bar|left_gutter|left_margin|left_padding|line_leading|line_spacing|margin|matrixanchor|matrixcolor|matrixtransform|maximum|maxsize|mesh|mesh_pad|min_width|minimum|minwidth|mipmap|modal|mouse|nearest|newline_indent|offset|order_reverse|outline_scaling|outlines|padding|perspective|pos|radius|rest_indent|right_bar|right_gutter|right_margin|right_padding|rotate|rotate_pad|ruby_style|shader|size|size_group|slow_abortable|slow_cps|slow_cps_multiplier|sound|spacing|strikethrough|subpixel|text_align|text_y_fudge|thumb|thumb_offset|thumb_shadow|top_bar|top_gutter|top_margin|top_padding|transform_anchor|underline|unscrollable|vertical|xalign|xanchor|xanchoraround|xaround|xcenter|xfill|xfit|xmargin|xmaximum|xminimum|xoffset|xpadding|xpan|xpos|xsize|xspacing|xtile|xycenter|xysize|xzoom|yalign|yanchor|yanchoraround|yaround|ycenter|yfill|yfit|ymargin|ymaximum|yminimum|yoffset|ypadding|ypan|ypos|ysize|yspacing|ytile|yzoom|zoom|zpos|zzoom))\\b"},{"name":"entity.other.attribute-name.python.renpy","match":"\\b((?:vscrollbar_|scrollbar_)(?:|activate_|hover_|idle_|insensitive_|selected_|selected_activate_|selected_hover_|selected_idle_|selected_insensitive_)(?:align|alt|anchor|area|bar_invert|bar_resizing|bar_vertical|base_bar|bottom_bar|bottom_gutter|clipping|debug|keyboard_focus|left_bar|left_gutter|maximum|minimum|mouse|offset|pos|right_bar|right_gutter|thumb|thumb_offset|thumb_shadow|top_bar|top_gutter|unscrollable|xalign|xanchor|xcenter|xfill|xmaximum|xminimum|xoffset|xpos|xsize|xysize|yalign|yanchor|ycenter|yfill|ymaximum|yminimum|yoffset|ypos|ysize))\\b"},{"name":"entity.other.attribute-name.python.renpy","match":"\\b(side_(?:|activate_|hover_|idle_|insensitive_|selected_|selected_activate_|selected_hover_|selected_idle_|selected_insensitive_)(?:align|alt|anchor|area|clipping|debug|maximum|minimum|offset|pos|spacing|xalign|xanchor|xcenter|xfill|xmaximum|xminimum|xoffset|xpos|xsize|xysize|yalign|yanchor|ycenter|yfill|ymaximum|yminimum|yoffset|ypos|ysize))\\b"},{"name":"entity.other.attribute-name.python.renpy","match":"\\b(text_(?:|activate_|hover_|idle_|insensitive_|selected_|selected_activate_|selected_hover_|selected_idle_|selected_insensitive_)(?:adjust_spacing|align|alt|anchor|antialias|area|black_color|bold|clipping|color|debug|drop_shadow|drop_shadow_color|first_indent|font|hinting|hyperlink_functions|italic|justify|kerning|language|layout|line_leading|line_spacing|maximum|min_width|minimum|minwidth|mipmap|newline_indent|offset|outline_scaling|outlines|pos|rest_indent|ruby_style|size|slow_abortable|slow_cps|slow_cps_multiplier|strikethrough|text_align|text_y_fudge|underline|vertical|xalign|xanchor|xcenter|xfill|xmaximum|xminimum|xoffset|xpos|xsize|xysize|yalign|yanchor|ycenter|yfill|ymaximum|yminimum|yoffset|ypos|ysize))\\b"},{"name":"entity.other.attribute-name.python.renpy","match":"\\b(viewport_(?:|activate_|hover_|idle_|insensitive_|selected_|selected_activate_|selected_hover_|selected_idle_|selected_insensitive_)(?:align|alt|anchor|area|clipping|debug|maximum|minimum|offset|pos|xalign|xanchor|xcenter|xfill|xmaximum|xminimum|xoffset|xpos|xsize|xysize|yalign|yanchor|ycenter|yfill|ymaximum|yminimum|yoffset|ypos|ysize))\\b"},{"name":"meta.function.decorator.python.renpy","begin":"^\\s*(?=@\\s*[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*\\s*\\()","end":"(\\))","patterns":[{"contentName":"entity.name.function.decorator.python.renpy","begin":"(?=(@)\\s*[A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*\\s*\\()","end":"(?=\\s*\\()","patterns":[{"include":"#dotted_name"}],"beginCaptures":{"1":{"name":"punctuation.definition.decorator.python.renpy"}}},{"contentName":"meta.function.decorator.arguments.python.renpy","begin":"(\\()","end":"(?=\\))","patterns":[{"include":"#keyword_arguments"},{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.python.renpy"}}}],"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python.renpy"}}},{"name":"meta.function.decorator.python.renpy","contentName":"entity.name.function.decorator.python.renpy","begin":"^\\s*(?=@\\s*[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*)","end":"(?=\\s|$\\n?|#)","patterns":[{"begin":"(?=(@)\\s*[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*)","end":"(?=\\s|$\\n?|#)","patterns":[{"include":"#dotted_name"}],"beginCaptures":{"1":{"name":"punctuation.definition.decorator.python.renpy"}}}]},{"name":"meta.function-call.python.renpy","contentName":"meta.function-call.arguments.python.renpy","begin":"(?\u003c=\\)|\\])\\s*(\\()","end":"(\\))","patterns":[{"include":"#keyword_arguments"},{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python.renpy"}}},{"name":"meta.function-call.python.renpy","begin":"(?=[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*\\s*\\()","end":"(\\))","patterns":[{"begin":"(?=[A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*\\s*\\()","end":"(?=\\s*\\()","patterns":[{"include":"#dotted_name"}]},{"contentName":"meta.function-call.arguments.python.renpy","begin":"(\\()","end":"(?=\\))","patterns":[{"include":"#keyword_arguments"},{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.python.renpy"}}}],"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python.renpy"}}},{"name":"meta.item-access.python.renpy","begin":"(?=[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*\\s*\\[)","end":"(\\])","patterns":[{"begin":"(?=[A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*\\s*\\[)","end":"(?=\\s*\\[)","patterns":[{"include":"#dotted_name"}]},{"contentName":"meta.item-access.arguments.python.renpy","begin":"(\\[)","end":"(?=\\])","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.python.renpy"}}}],"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python.renpy"}}},{"name":"meta.item-access.python.renpy","contentName":"meta.item-access.arguments.python.renpy","begin":"(?\u003c=\\)|\\])\\s*(\\[)","end":"(\\])","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python.renpy"}}},{"include":"#line_continuation"},{"include":"#language_variables"},{"name":"constant.language.python.renpy","match":"\\b(None|True|False|Ellipsis|NotImplemented)\\b"},{"include":"#string_quoted_single"},{"include":"#string_quoted_double"},{"include":"#dotted_name"},{"begin":"(\\()","end":"(\\))","patterns":[{"include":"$self"}]},{"match":"(\\[)(\\s*(\\]))\\b","captures":{"1":{"name":"punctuation.definition.list.begin.python.renpy"},"2":{"name":"meta.empty-list.python.renpy"},"3":{"name":"punctuation.definition.list.end.python.renpy"}}},{"name":"meta.structure.list.python.renpy","begin":"(\\[)","end":"(\\])","patterns":[{"contentName":"meta.structure.list.item.python.renpy","begin":"(?\u003c=\\[|\\,)\\s*(?![\\],])","end":"\\s*(?:(,)|(?=\\]))","patterns":[{"include":"$self"}],"endCaptures":{"1":{"name":"punctuation.separator.list.python.renpy"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.list.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.list.end.python.renpy"}}},{"name":"meta.structure.tuple.python.renpy","match":"(\\()(\\s*(\\)))","captures":{"1":{"name":"punctuation.definition.tuple.begin.python.renpy"},"2":{"name":"meta.empty-tuple.python.renpy"},"3":{"name":"punctuation.definition.tuple.end.python.renpy"}}},{"name":"meta.structure.dictionary.python.renpy","match":"(\\{)(\\s*(\\}))","captures":{"1":{"name":"punctuation.definition.dictionary.begin.python.renpy"},"2":{"name":"meta.empty-dictionary.python.renpy"},"3":{"name":"punctuation.definition.dictionary.end.python.renpy"}}},{"name":"meta.structure.dictionary.python.renpy","begin":"(\\{)","end":"(\\})","patterns":[{"contentName":"meta.structure.dictionary.key.python.renpy","begin":"(?\u003c=\\{|\\,|^)\\s*(?![\\},])","end":"\\s*(?:(?=\\})|(\\:))","patterns":[{"include":"$self"}],"endCaptures":{"1":{"name":"punctuation.separator.valuepair.dictionary.python.renpy"}}},{"contentName":"meta.structure.dictionary.value.python.renpy","begin":"(?\u003c=\\:|^)\\s*","end":"\\s*(?:(?=\\})|(,))","patterns":[{"include":"$self"}],"endCaptures":{"1":{"name":"punctuation.separator.dictionary.python.renpy"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.dictionary.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.dictionary.end.python.renpy"}}}],"repository":{"builtin_exceptions":{"name":"support.type.exception.python.renpy","match":"(?x)\\b(\n\t\t\t\t(\n\t\t\t\t\tArithmetic|Assertion|Attribute|BlockingIO|BrokenPipe|Buffer|ChildProcess|\n\t\t\t\t\tConnection(Aborted|Refused|Reset)?|EOF|Environment|FileExists|\n\t\t\t\t\tFileNotFound|FloatingPoint|Interrupted|IO|IsADirectoryError|\n\t\t\t\t\tImport|Indentation|Index|Key|Lookup|Memory|Name|NotADirectory|\n\t\t\t\t\tNotImplemented|OS|Overflow|Permission|ProcessLookup|Reference|\n\t\t\t\t\tRuntime|Standard|Syntax|System|Tab|Timeout|Type|UnboundLocal|\n\t\t\t\t\tUnicode(Encode|Decode|Translate)?|Value|VMS|Windows|ZeroDivision\n\t\t\t\t)Error|\n\t\t\t\t((Pending)?Deprecation|Runtime|Syntax|User|Future|Import|Unicode|Bytes)?Warning|\n\t\t\t\t(Base)?Exception|\n\t\t\t\tSystemExit|StopIteration|NotImplemented|KeyboardInterrupt|GeneratorExit\n\t\t\t)\\b"},"builtin_functions":{"name":"support.function.builtin.python.renpy","match":"(?x)\\b(\n\t\t\t\t__import__|all|abs|any|apply|ascii|bin|callable|chr|classmethod|cmp|coerce|\n\t\t\t\tcompile|delattr|dir|divmod|enumerate|eval|execfile|filter|format|getattr|\n\t\t\t\tglobals|hasattr|hash|help|hex|id|input|intern|isinstance|issubclass|iter|\n\t\t\t\tlen|locals|map|max|min|next|oct|open|ord|pow|print|property|range|\n\t\t\t\traw_input|reduce|reload|repr|reversed|round|setattr|sorted|staticmethod|\n\t\t\t\tsum|super|type|unichr|vars|zip\n\t\t\t)\\b"},"builtin_types":{"name":"support.type.python.renpy","match":"(?x)\\b(\n\t\t\t\tbasestring|bool|buffer|bytearray|bytes|complex|dict|float|frozenset|int|\n\t\t\t\tlist|long|memoryview|object|range|set|slice|str|tuple|unicode|xrange\n\t\t\t)\\b"},"constant_placeholder":{"name":"constant.other.placeholder.tags.renpy","match":"\\{[^}]*\\}|\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]"},"docstrings":{"patterns":[{"name":"comment.block.python.renpy","begin":"^\\s*(?=[fuUb]?[rR]?\"\"\")","end":"(?\u003c=\"\"\")","patterns":[{"include":"#string_quoted_double"}]},{"name":"comment.block.python.renpy","begin":"^\\s*(?=[fuUb]?[rR]?''')","end":"(?\u003c=''')","patterns":[{"include":"#string_quoted_single"}]}]},"dotted_name":{"begin":"(?=[A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*)","end":"(?![A-Za-z0-9_\\.])","patterns":[{"begin":"(\\.)(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#magic_function_names"},{"include":"#magic_variable_names"},{"include":"#illegal_names"},{"include":"#generic_names"}]},{"begin":"(?\u003c!\\.)(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#builtin_functions"},{"include":"#builtin_types"},{"include":"#builtin_exceptions"},{"include":"#illegal_names"},{"include":"#magic_function_names"},{"include":"#magic_variable_names"},{"include":"#language_variables"},{"include":"#generic_names"}]}]},"entity_name_class":{"patterns":[{"include":"#illegal_names"},{"include":"#generic_names"}]},"entity_name_function":{"patterns":[{"include":"#magic_function_names"},{"include":"#illegal_names"},{"include":"#generic_names"}]},"escaped_char":{"match":"(\\\\x[0-9A-F]{2})|(\\\\[0-7]{3})|(\\\\\\n)|(\\\\\\\\)|(\\\\\\\")|(\\\\')|(\\\\a)|(\\\\b)|(\\\\f)|(\\\\n)|(\\\\r)|(\\\\t)|(\\\\v)","captures":{"1":{"name":"constant.character.escape.hex.python.renpy"},"10":{"name":"constant.character.escape.linefeed.python.renpy"},"11":{"name":"constant.character.escape.return.python.renpy"},"12":{"name":"constant.character.escape.tab.python.renpy"},"13":{"name":"constant.character.escape.vertical-tab.python.renpy"},"2":{"name":"constant.character.escape.octal.python.renpy"},"3":{"name":"constant.character.escape.newline.python.renpy"},"4":{"name":"constant.character.escape.backlash.python.renpy"},"5":{"name":"constant.character.escape.double-quote.python.renpy"},"6":{"name":"constant.character.escape.single-quote.python.renpy"},"7":{"name":"constant.character.escape.bell.python.renpy"},"8":{"name":"constant.character.escape.backspace.python.renpy"},"9":{"name":"constant.character.escape.formfeed.python.renpy"}}},"escaped_placeholder":{"name":"constant.character.escape.placeholder.python.renpy","match":"\\{\\{|\\[\\["},"escaped_unicode_char":{"match":"(\\\\U[0-9A-Fa-f]{8})|(\\\\u[0-9A-Fa-f]{4})|(\\\\N\\{[a-zA-Z ]+\\})","captures":{"1":{"name":"constant.character.escape.unicode.16-bit-hex.python.renpy"},"2":{"name":"constant.character.escape.unicode.32-bit-hex.python.renpy"},"3":{"name":"constant.character.escape.unicode.name.python.renpy"}}},"function_name":{"patterns":[{"include":"#magic_function_names"},{"include":"#magic_variable_names"},{"include":"#builtin_exceptions"},{"include":"#builtin_functions"},{"include":"#builtin_types"},{"include":"#generic_names"}]},"generic_names":{"match":"[A-Za-z_][A-Za-z0-9_]*"},"illegal_names":{"name":"invalid.illegal.name.python.renpy","match":"\\b(and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|global|if|import|in|is|lambda|nonlocal|not|or|print|raise|try|while|with|yield)\\b"},"keyword_arguments":{"begin":"\\b([a-zA-Z_][a-zA-Z_0-9]*)\\s*(=)(?!=)","end":"\\s*(?:(,)|(?=$\\n?|[\\)\\:]))","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"variable.parameter.function.python.renpy"},"2":{"name":"keyword.operator.assignment.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.python.renpy"}}},"language_variables":{"name":"variable.language.python.renpy","match":"\\b(self|cls)\\b"},"line_continuation":{"match":"(\\\\)(.*)$\\n?","captures":{"1":{"name":"punctuation.separator.continuation.line.python.renpy"},"2":{"name":"invalid.illegal.unexpected-text.python.renpy"}}},"magic_function_names":{"name":"support.function.magic.python.renpy","match":"(?x)\\b(__(?:abs|add|and|cmp|coerce|complex|contains|del|delattr|delete|delitem|delslice|div|divmod|enter|eq|exit|float|floordiv|ge|get|getattr|getattribute|getitem|getslice|gt|hash|hex|iadd|iand|idiv|ifloordiv|ilshift|imod|imul|init|int|invert|ior|ipow|irshift|isub|iter|itruediv|ixor|le|len|long|lshift|lt|mod|mul|ne|neg|new|nonzero|oct|or|pos|pow|radd|rand|rdiv|rdivmod|repr|rfloordiv|rlshift|rmod|rmul|ror|rpow|rrshift|rshift|rsub|rtruediv|rxor|set|setattr|setitem|setslice|str|sub|truediv|unicode|xor)__)\\b"},"magic_variable_names":{"name":"support.variable.magic.python.renpy","match":"\\b__(all|bases|class|debug|dict|doc|file|members|metaclass|methods|name|slots|weakref)__\\b"},"regular_expressions":{"patterns":[{"include":"source.regexp.python"}]},"string_quoted_double":{"patterns":[{"name":"string.quoted.double.block.unicode-raw-regex.python.renpy","begin":"([fuUb]r)(\"\"\")","end":"((?\u003c=\"\"\")(\")\"\"|\"\"\")","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"},{"include":"#regular_expressions"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"}}},{"name":"string.quoted.double.block.unicode-raw.python.renpy","begin":"([fuUb]R)(\"\"\")","end":"((?\u003c=\"\"\")(\")\"\"|\"\"\")","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"}}},{"name":"string.quoted.double.block.raw-regex.python.renpy","begin":"(r)(\"\"\")","end":"((?\u003c=\"\"\")(\")\"\"|\"\"\")","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"},{"include":"#regular_expressions"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"}}},{"name":"string.quoted.double.block.raw.python.renpy","begin":"(R)(\"\"\")","end":"((?\u003c=\"\"\")(\")\"\"|\"\"\")","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"}}},{"name":"string.quoted.double.block.unicode.python.renpy","begin":"([fuUb])(\"\"\")","end":"((?\u003c=\"\"\")(\")\"\"|\"\"\")","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"}}},{"name":"string.quoted.double.single-line.unicode-raw-regex.python.renpy","match":"([fuUb]r)(\")((?:[^\"\\\\]|\\\\.)*)(\")","captures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"},"3":{"patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"},{"include":"#regular_expressions"}]},"4":{"name":"punctuation.definition.string.end.python.renpy"}}},{"name":"string.quoted.double.single-line.unicode-raw.python.renpy","begin":"([fuUb]R)(\")","end":"((?\u003c=\")(\")|\")","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"},"3":{"name":"invalid.illegal.unclosed-string.python.renpy"}}},{"name":"string.quoted.double.single-line.raw-regex.python.renpy","match":"(r)(\")((?:[^\"\\\\]|\\\\.)*)(\")","captures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"},"3":{"patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"},{"include":"#regular_expressions"}]},"4":{"name":"punctuation.definition.string.end.python.renpy"}}},{"name":"string.quoted.double.single-line.raw.python.renpy","begin":"(R)(\")","end":"((?\u003c=\")(\")|\")|(\\n)","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"},"3":{"name":"invalid.illegal.unclosed-string.python.renpy"}}},{"name":"string.quoted.double.single-line.unicode.python.renpy","begin":"([fuUb])(\")","end":"((?\u003c=\")(\")|\")","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"},"3":{"name":"invalid.illegal.unclosed-string.python.renpy"}}},{"name":"string.quoted.double.block.python.renpy","begin":"(\"\"\")","end":"((?\u003c=\"\"\")(\")\"\"|\"\"\")","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"}}},{"name":"string.quoted.double.single-line.python.renpy","begin":"(\")","end":"((?\u003c=\")(\")|\")","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.double.python.renpy"},"3":{"name":"invalid.illegal.unclosed-string.python.renpy"}}}]},"string_quoted_single":{"patterns":[{"name":"string.quoted.single.single-line.python.renpy","match":"(?\u003c!')(')(('))(?!')","captures":{"1":{"name":"punctuation.definition.string.begin.python.renpy"},"2":{"name":"punctuation.definition.string.end.python.renpy"},"3":{"name":"meta.empty-string.single.python.renpy"}}},{"name":"string.quoted.single.block.unicode-raw-regex.python.renpy","begin":"([fuUb]r)(''')","end":"((?\u003c=''')(')''|''')","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"},{"include":"#regular_expressions"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.single.python.renpy"}}},{"name":"string.quoted.single.block.unicode-raw.python.renpy","begin":"([fuUb]R)(''')","end":"((?\u003c=''')(')''|''')","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.single.python.renpy"}}},{"name":"string.quoted.single.block.raw-regex.python.renpy","begin":"(r)(''')","end":"((?\u003c=''')(')''|''')","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"},{"include":"#regular_expressions"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.single.python.renpy"}}},{"name":"string.quoted.single.block.raw.python.renpy","begin":"(R)(''')","end":"((?\u003c=''')(')''|''')","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.single.python.renpy"}}},{"name":"string.quoted.single.block.unicode.python.renpy","begin":"([fuUb])(''')","end":"((?\u003c=''')(')''|''')","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.single.python.renpy"}}},{"name":"string.quoted.single.single-line.unicode-raw-regex.python.renpy","match":"([fuUb]r)(')((?:[^'\\\\]|\\\\.)*)(')","captures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"},"3":{"patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"},{"include":"#regular_expressions"}]},"4":{"name":"punctuation.definition.string.end.python.renpy"}}},{"name":"string.quoted.single.single-line.unicode-raw.python.renpy","begin":"([fuUb]R)(')","end":"(')","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"invalid.illegal.unclosed-string.python.renpy"}}},{"name":"string.quoted.single.single-line.raw-regex.python.renpy","match":"(r)(')((?:[^'\\\\]|\\\\.)*)(')","captures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"},"3":{"patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"},{"include":"#regular_expressions"}]},"4":{"name":"punctuation.definition.string.end.python.renpy"}}},{"name":"string.quoted.single.single-line.raw.python.renpy","begin":"(R)(')","end":"(')|(\\n)","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"invalid.illegal.unclosed-string.python.renpy"}}},{"name":"string.quoted.single.single-line.unicode.python.renpy","begin":"([fuUb])(')","end":"(')","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_unicode_char"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"storage.type.string.python.renpy"},"2":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"invalid.illegal.unclosed-string.python.renpy"}}},{"name":"string.quoted.single.block.python.renpy","begin":"(''')","end":"((?\u003c=''')(')''|''')","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"meta.empty-string.single.python.renpy"}}},{"name":"string.quoted.single.single-line.python.renpy","begin":"(')","end":"(')","patterns":[{"include":"#escaped_placeholder"},{"include":"#constant_placeholder"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.python.renpy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.python.renpy"},"2":{"name":"invalid.illegal.unclosed-string.python.renpy"}}}]},"strings":{"patterns":[{"include":"#string_quoted_double"},{"include":"#string_quoted_single"}]}}}
@@ -1 +1 @@
1
- {"name":"ReScript","scopeName":"source.rescript","patterns":[{"include":"#storage"},{"include":"#constant"},{"include":"#commentLine"},{"include":"#commentBlock"},{"include":"#character"},{"include":"#typeParameter"},{"include":"#string"},{"include":"#attribute"},{"include":"#function"},{"include":"#list"},{"include":"#bracketAccess"},{"include":"#jsx"},{"include":"#operator"},{"include":"#number"},{"include":"#openOrIncludeModule"},{"include":"#moduleDeclaration"},{"include":"#moduleAccess"},{"include":"#constructor"},{"include":"#keyword"},{"include":"#punctuations"}],"repository":{"RE_ATTRIBUTE":{"match":"[A-Za-z_][A-Za-z0-9_\\.]*"},"RE_IDENT":{"match":"[a-z_][0-9a-zA-Z_]*"},"RE_KEYWORDS":{"name":"keyword.control","match":"\\b(and|as|assert|constraint|downto|else|exception|external|false|for|if|in|include|lazy|let|module|mutable|of|open|rec|switch|to|true|try|type|when|while|with)\\b"},"RE_LITERAL":{"name":"constant.language","match":"\\b(true|false)\\b"},"RE_MODULE_IDENT":{"name":"entity.name.namespace","match":"[A-Z_][0-9a-zA-Z_]*"},"attribute":{"patterns":[{"match":"(%%?|@@?)([A-Za-z_][A-Za-z0-9_\\.]*)","captures":{"1":{"name":"storage.modifier punctuation.definition.annotation"},"2":{"patterns":[{"name":"invalid.deprecated","match":"bs\\.send\\.pipe"},{"name":"invalid.illegal","match":"splice"},{"match":"(bs\\.)?([A-Za-z_][A-Za-z0-9_\\.]*)","captures":{"1":{"name":"invalid.deprecated"},"2":{"name":"variable.annotation"}}},{"name":"variable.annotation","match":"[A-Za-z_][A-Za-z0-9_\\.]*"}]}}}]},"bracketAccess":{"patterns":[{"name":"punctuation.section.brackets.begin","match":"\\["},{"name":"punctuation.section.brackets.end","match":"\\]"}]},"character":{"patterns":[{"name":"string.quoted.single","match":"'[\\x00-\\x7F]'"}]},"commentBlock":{"name":"comment.block","begin":"/\\*","end":"\\*/","patterns":[{"include":"#commentBlock"}]},"commentLine":{"name":"comment.line","match":"//.*"},"constant":{"patterns":[{"include":"#RE_LITERAL"}]},"constructor":{"patterns":[{"name":"variable.function variable.other","match":"\\b[A-Z][0-9a-zA-Z_]*\\b"},{"match":"(#)(\\.\\.\\.)?([a-zA-Z][0-9a-zA-Z_]*)\\b","captures":{"1":{"name":"punctuation.definition.keyword"},"2":{"name":"punctuation.definition.keyword"},"3":{"name":"variable.function variable.other"}}},{"match":"(#)","captures":{"1":{"name":"punctuation.definition.keyword"}}}]},"function":{"patterns":[{"name":"storage.type.function keyword.declaration.function","match":"=\u003e"}]},"jsx":{"patterns":[{"match":"\u003c\u003e|\u003c/\u003e|/\u003e"},{"match":"\u003c/([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"entity.name.namespace"}}},{"match":"\u003c/([a-z_][0-9a-zA-Z_]*)"},{"match":"\u003c([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"entity.name.namespace"}}}]},"keyword":{"patterns":[{"include":"#RE_KEYWORDS"}]},"list":{"patterns":[{"match":"\\b(list)(\\{)","captures":{"1":{"name":"keyword"},"2":{"name":"punctuation.section.braces.begin"}}},{"name":"punctuation.section.braces.end","match":"\\}"}]},"moduleAccess":{"patterns":[{"match":"\\b([A-Z_][0-9a-zA-Z_]*)(\\.)","captures":{"1":{"name":"entity.name.namespace"},"2":{"name":"punctuation.accessor"}}}]},"moduleAccessEndsWithModule":{"patterns":[{"name":"entity.name.namespace","match":"[A-Z_][0-9a-zA-Z_]*"},{"match":"(\\.)([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"punctuation.accessor"},"2":{"name":"entity.name.namespace"}}}]},"moduleDeclaration":{"patterns":[{"match":"\\b(module)\\s+(type\\s+)?(of\\s+)?([A-Z_][0-9a-zA-Z_]*)","patterns":[{"match":"\\s*:\\s*([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"entity.name.namespace"}}}],"captures":{"1":{"name":"keyword"},"2":{"name":"keyword"},"3":{"name":"keyword"},"4":{"name":"entity.name.namespace"}}}]},"number":{"patterns":[{"name":"constant.numeric","match":"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]+)?([eE][-+]?[0-9_]+)?)?)\\b"}]},"openOrIncludeModule":{"patterns":[{"match":"\\b(open|include)\\s+([A-Z_][0-9a-zA-Z_]*((\\.)([A-Z_][0-9a-zA-Z_]*))*)","captures":{"1":{"name":"keyword"},"2":{"patterns":[{"include":"#moduleAccessEndsWithModule"}]}}},{"name":"keyword","match":"\\b(open|include)\\s+"}]},"operator":{"patterns":[{"name":"keyword.operator keyword","match":"-\u003e|\\|\\||\u0026\u0026|\\+\\+|\\*\\*|\\+\\.|\\+|-\\.|-|\\*\\.|\\*|/\\.|/|\\.\\.\\.|\\.\\.|===|==|\\^|:=|!|\u003e=(?! *\\?)|\u003c=|="},{"name":"invalid.deprecated","match":"\\|\u003e"}]},"punctuations":{"patterns":[{"name":"punctuation.definition.keyword","match":"~"},{"name":"punctuation.terminator","match":";"},{"name":"punctuation.accessor","match":"\\."},{"name":"punctuation.separator","match":"\\,"},{"name":"punctuation.separator","match":"\\?|:"},{"name":"punctuation.separator","match":"\\|(?!\\|)"},{"name":"punctuation.section.braces.begin","match":"\\{"},{"name":"punctuation.section.braces.end","match":"\\}"},{"name":"punctuation.section.parens.begin","match":"\\("},{"name":"punctuation.section.parens.end","match":"\\)"}]},"storage":{"patterns":[{"name":"storage.type","match":"\\btype\\b"}]},"string":{"patterns":[{"name":"string.quoted.double","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape","match":"\\\\."}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end"}}},{"name":"string.template","begin":"([a-z_][0-9a-zA-Z_]*)?(`)","end":"`","patterns":[{"name":"meta.template.expression","begin":"\\$\\{","end":"\\}","patterns":[{"match":"[a-z_][0-9a-zA-Z_]*"},{"include":"#operator"},{"include":"#punctuations"},{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.section.interpolation.begin"}},"endCaptures":{"0":{"name":"punctuation.section.interpolation.end"}}}],"beginCaptures":{"1":{"name":"variables.annotation"},"2":{"name":"punctuation.definition.string.template.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.string.template.end"}}}]},"typeParameter":{"patterns":[{"name":"support.type","match":"'[A-Za-z][A-Za-z0-9_]*"}]}}}
1
+ {"name":"ReScript","scopeName":"source.rescript","patterns":[{"include":"#storage"},{"include":"#constant"},{"include":"#commentLine"},{"include":"#commentBlock"},{"include":"#character"},{"include":"#typeParameter"},{"include":"#string"},{"include":"#attribute"},{"include":"#function"},{"include":"#list"},{"include":"#bracketAccess"},{"include":"#jsx"},{"include":"#operator"},{"include":"#number"},{"include":"#openOrIncludeModule"},{"include":"#moduleDeclaration"},{"include":"#moduleAccess"},{"include":"#constructor"},{"include":"#keyword"},{"include":"#punctuations"},{"include":"#defaultIdIsVariable"}],"repository":{"RE_CONSTANTS_BOOL":{"name":"constant.language.boolean","match":"\\b(false|true)\\b"},"RE_KEYWORD":{"name":"storage.type","match":"\\b(include|let|module|of|open|type)\\b"},"RE_KEYWORD_CONTROL":{"name":"keyword.control","match":"\\b(and|as|assert|constraint|downto|else|exception|external|for|if|in|lazy|mutable|rec|switch|to|try|when|while|with)\\b"},"RE_TO_DOWNTO_AS_LABELS":{"patterns":[{"match":"(to|downto)\\s*(=)","captures":{"1":{"name":"variable"},"2":{"name":"keyword.operator keyword"}}},{"match":"(to|downto)\\s*(as)","captures":{"1":{"name":"variable"},"2":{"name":"keyword.control"}}}]},"attribute":{"patterns":[{"match":"(%%?|@@?)([A-Za-z_][A-Za-z0-9_\\.]*)","captures":{"1":{"name":"punctuation.decorator"},"2":{"patterns":[{"name":"invalid.deprecated","match":"bs\\.send\\.pipe"},{"name":"invalid.illegal","match":"splice"},{"match":"(bs\\.)?([A-Za-z_][A-Za-z0-9_\\.]*)","captures":{"1":{"name":"invalid.deprecated"},"2":{"name":"entity.name.function"}}},{"name":"entity.name.function","match":"[A-Za-z_][A-Za-z0-9_\\.]*"}]}}}]},"bracketAccess":{"patterns":[{"name":"punctuation.section.brackets.begin","match":"\\["},{"name":"punctuation.section.brackets.end","match":"\\]"}]},"character":{"patterns":[{"name":"string.quoted.single","match":"'[\\x00-\\x7F]'"}]},"commentBlock":{"name":"comment.block","begin":"/\\*","end":"\\*/","patterns":[{"include":"#commentBlock"}]},"commentLine":{"name":"comment.line","match":"//.*"},"constant":{"patterns":[{"include":"#RE_CONSTANTS_BOOL"}]},"constructor":{"patterns":[{"name":"variable.other.enummember","match":"\\b[A-Z][0-9a-zA-Z_]*\\b"},{"match":"(#)\\s*([a-zA-Z][0-9a-zA-Z_]*)\\b","captures":{"1":{"name":"variable.other.enummember"},"2":{"name":"variable.other.enummember"}}},{"match":"(#)\\s*(\\.\\.\\.)\\b","captures":{"1":{"name":"variable.other.enummember"},"2":{"name":"variable.other.enummember"}}},{"match":"(#)","captures":{"1":{"name":"variable.other.enummember"}}}]},"defaultIdIsVariable":{"patterns":[{"name":"variable","match":"[A-Za-z_][A-Za-z0-9_]*"}]},"function":{"patterns":[{"name":"storage.type.function keyword.declaration.function","match":"=\u003e"}]},"jsx":{"patterns":[{"name":"punctuation.definition.tag","match":"\u003c\u003e|\u003c/\u003e|\u003c/|/\u003e"},{"match":"\u003c/([A-Z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"entity.name.class"}}},{"match":"\u003c/([a-z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"variable"}}},{"match":"\u003c([A-Z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"entity.name.class"}}}]},"keyword":{"patterns":[{"include":"#RE_TO_DOWNTO_AS_LABELS"},{"include":"#RE_KEYWORD_CONTROL"},{"include":"#RE_KEYWORD"}]},"list":{"patterns":[{"match":"\\b(list)(\\{)","captures":{"1":{"name":"keyword"},"2":{"name":"punctuation.section.braces.begin"}}},{"name":"punctuation.section.braces.end","match":"\\}"}]},"moduleAccess":{"patterns":[{"match":"\\b([A-Z_][0-9a-zA-Z_]*)(\\.)","captures":{"1":{"name":"entity.name.class"},"2":{"name":"punctuation.accessor"}}}]},"moduleAccessEndsWithModule":{"patterns":[{"name":"entity.name.class","match":"[A-Z_][0-9a-zA-Z_]*"},{"match":"(\\.)([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"punctuation.accessor"},"2":{"name":"entity.name.class"}}}]},"moduleDeclaration":{"patterns":[{"match":"\\b(module)\\s+(type\\s+)?(of\\s+)?([A-Z_][0-9a-zA-Z_]*)","patterns":[{"match":"\\s*:\\s*([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"entity.name.class"}}}],"captures":{"1":{"name":"keyword"},"2":{"name":"keyword"},"3":{"name":"keyword"},"4":{"name":"entity.name.class"}}}]},"number":{"patterns":[{"name":"constant.numeric","match":"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]+)?([eE][-+]?[0-9_]+)?)?)\\b"}]},"openOrIncludeModule":{"patterns":[{"match":"\\b(open|include)\\s+([A-Z_][0-9a-zA-Z_]*((\\.)([A-Z_][0-9a-zA-Z_]*))*)","captures":{"1":{"name":"keyword"},"2":{"patterns":[{"include":"#moduleAccessEndsWithModule"}]}}},{"name":"keyword","match":"\\b(open|include)\\s+"}]},"operator":{"patterns":[{"name":"keyword.operator","match":"-\u003e|\\|\\||\u0026\u0026|\\+\\+|\\*\\*|\\+\\.|\\+|-\\.|-|\\*\\.|\\*|/\\.|/|\\.\\.\\.|\\.\\.|===|==|\\^|:=|!|\u003e=(?! *\\?)|\u003c=|="},{"name":"invalid.deprecated","match":"\\|\u003e"}]},"punctuations":{"patterns":[{"name":"punctuation.definition.keyword","match":"~"},{"name":"punctuation.terminator","match":";"},{"name":"punctuation.accessor","match":"\\."},{"name":"punctuation.separator","match":"\\,"},{"name":"punctuation.separator","match":"\\?|:"},{"name":"punctuation.separator","match":"\\|(?!\\|)"},{"name":"punctuation.section.braces.begin","match":"\\{"},{"name":"punctuation.section.braces.end","match":"\\}"},{"name":"punctuation.section.parens.begin","match":"\\("},{"name":"punctuation.section.parens.end","match":"\\)"}]},"string":{"patterns":[{"name":"string.quoted.double","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape","match":"\\\\."}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end"}}},{"name":"string.template","begin":"([a-z_][0-9a-zA-Z_]*)?(`)","end":"(?\u003c!\\\\)`","patterns":[{"name":"meta.template.expression","begin":"\\$\\{","end":"\\}","patterns":[{"match":"[a-z_][0-9a-zA-Z_]*"},{"include":"#operator"},{"include":"#punctuations"},{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end"}}}],"beginCaptures":{"1":{"name":"variables.annotation"},"2":{"name":"punctuation.definition.string.template.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.string.template.end"}}}]},"typeParameter":{"patterns":[{"name":"support.type","match":"'[A-Za-z][A-Za-z0-9_]*"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"RPG","scopeName":"source.rpg","patterns":[{"include":"#ctarrays"},{"include":"#comments"},{"include":"#sql"},{"include":"#constants"},{"include":"#keywords"},{"include":"#gutter"},{"include":"#strings"}],"repository":{"comments":{"patterns":[{"name":"comment.line.rpg","begin":"(?i)((?\u003c=((?\u003c=^\\s{5}(F|L|I|O)).{68})))|(?\u003c=((?\u003c=^\\s{5}E).{51}))|(?\u003c=((?\u003c=^\\s{5}C).{53}))","end":"\n"},{"name":"comment.line.rpg","begin":"(?i)^.{5}.\\*","end":"\n"},{"name":"comment.line.rpg","begin":"[*]{2}.","end":"\n"}]},"constants":{"patterns":[{"name":"constant.language.rpg.h.datefmt","match":"(?i)(?\u003c=((?\u003c=^.{5}H).{12}))(M|D|Y)"},{"name":"constant.language.rpg.h.datedit","match":"(?i)(?\u003c=((?\u003c=^.{5}H).{13}))(\u0026)"},{"name":"constant.language.rpg.h.invprint","match":"(?i)(?\u003c=((?\u003c=^.{5}H).{14}))(I|J|D)"},{"name":"constant.language.rpg.h.altseq","match":"(?i)(?\u003c=((?\u003c=^.{5}H).{19}))(S|D)"},{"name":"constant.language.rpg.h.filetrans","match":"(?i)(?\u003c=((?\u003c=^.{5}H).{36}))(F)"},{"name":"constant.language.rpg.f.type","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{8})))(I|O|U|C)"},{"name":"constant.language.rpg.f.designation","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{9})).{3})(P|S|R|T|F)"},{"name":"constant.language.rpg.f.eof","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{10})).{2})(E)"},{"name":"constant.language.rpg.f.sequence","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{11})).{1})(A|D)"},{"name":"constant.language.rpg.f.format","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{12})))(F|E)"},{"name":"constant.language.rpg.f.recordlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f|E|e).{9})([0-9]|\\s){4}"},{"name":"constant.language.rpg.f.mode","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f|E|e).{8})(L)"},{"name":"constant.language.rpg.f.keyfieldlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f|E|e).{9})([0-9]|\\s){2}"},{"name":"constant.language.rpg.f.addrtype","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f).{11})(A|P)"},{"name":"constant.language.rpg.f.organization","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f).{12})(I|T)"},{"name":"constant.language.rpg.f.ovind","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f).{13})(O([A-G]|V))"},{"name":"constant.language.rpg.f.extncode","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f).{19})(E|L)"},{"name":"constant.language.rpg.f.device","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|E).{20})(WORKSTN|DISK|PRINTER|SPECIAL|SEQ)"},{"name":"constant.language.rpg.f.continuation","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|E).{33})(K)"},{"name":"constant.language.rpg.f.addition","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|E).{46})(A)"},{"name":"constant.language.rpg.f.condition","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|E).{51})([U]([1-8]|C))"},{"name":"constant.language.rpg.fx.addrtype","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(E|e).{11})(K)"},{"name":"constant.language.rpg.e.entriesrecord","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{26}))[\\s|0-9]{3}"},{"name":"constant.language.rpg.e.entriestable","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{29}))[\\s|0-9]{4}"},{"name":"constant.language.rpg.e.entrylen","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{33}))[\\s|0-9]{3}"},{"name":"constant.language.rpg.e.pblr","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{36}))(P|B|L|R)"},{"name":"constant.language.rpg.e.dec","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{37}))[0-9]"},{"name":"constant.language.rpg.e.seq","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{38}))(A|D)"},{"name":"constant.language.rpg.e.len","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{45}))[\\s|0-9]{3}"},{"name":"constant.language.rpg.e.pblr","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{48}))(P|B|L|R)"},{"name":"constant.language.rpg.e.dec","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{49}))[0-9]"},{"name":"constant.language.rpg.e.seq","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{50}))(A|D)"},{"name":"constant.language.rpg.l.lineno","match":"(?i)(?\u003c=((?\u003c=^.{5}L).{8}))[0-9]{3}"},{"name":"constant.language.rpg.l.formlen","match":"(?i)(?\u003c=((?\u003c=^.{5}L).{11}))(FL)"},{"name":"constant.language.rpg.l.ovlineno","match":"(?i)(?\u003c=((?\u003c=^.{5}L).{13}))[0-9]{3}"},{"name":"constant.language.rpg.l.ovline","match":"(?i)(?\u003c=((?\u003c=^.{5}L).{16}))(OL)"},{"name":"constant.language.rpg.i.ds","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}I).{12}))(DS))(DS)"},{"name":"constant.language.rpg.i.ds.number","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}I).{9})).{3}(DS)).{1}(E)"},{"name":"constant.language.rpg.i.ds.option","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}I).{11})).{1}(DS))(S|U|I)"},{"name":"constant.language.rpg.i.constant","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{36}))C"},{"name":"constant.language.rpg.i.subfinit","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{0}))\\sI"},{"name":"constant.language.rpg.i.seq","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{8}))[A-Za-z0-9]{2}"},{"name":"constant.language.rpg.i.num","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{10}))(1|N)"},{"name":"constant.language.rpg.i.option","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{11}))O"},{"name":"constant.language.rpg.i.recordid","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{12}))(([0-9]{2})|((L|H)[1-9])|(RT|\\*\\*)|(U[1-8]))"},{"name":"constant.language.rpg.i.id1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{14}))([\\s|0-9]{4})(\\s|1|N)(C|Z|D)(.)"},{"name":"constant.language.rpg.i.id2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{21}))([\\s|0-9]{4})(\\s|1|N)(C|Z|D)(.)"},{"name":"constant.language.rpg.i.id3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{28}))([\\s|0-9]{4})(\\s|1|N)(C|Z|D)(.)"},{"name":"constant.language.rpg.i.pblr","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{36}))(P|B|L|R)"},{"name":"constant.language.rpg.i.from","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{37}))(([0-9]|\\s){4})"},{"name":"constant.language.rpg.i.to","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{41}))(([0-9]|\\s){4})"},{"name":"constant.language.rpg.i.decpos","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{45}))([0-9])"},{"name":"constant.language.rpg.i.ctrl","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{52}))(L[1-9]|\\s)"},{"name":"constant.language.rpg.i.matching","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{54}))(M[1-9]|\\s)"},{"name":"constant.language.rpg.i.fldrcdrel","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{56}))((([0-9]|\\s){2})|((L|H)[1-9])|(MR|RT)|(U[1-8]))"},{"name":"constant.language.rpg.i.posfld","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{58}))((([0-9]|\\s){2})|(H[1-9])|(RT)|(U[1-8]))"},{"name":"constant.language.rpg.i.negfield","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{60}))((([0-9]|\\s){2})|(H[1-9])|(RT)|(U[1-8]))"},{"name":"constant.language.rpg.i.zeroblank","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{62}))((([0-9]|\\s){2})|(H[1-9])|(RT)|(U[1-8]))"},{"name":"constant.language.rpg.c.level","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{0}))((L([1-9]|O|R))|SR|AN|OR)"},{"name":"constant.language.rpg.c.n01","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{2}))((N|\\s)(([0-9]{2})|(L([1-9]|O|R))|(K[A-NP-Y])|MR|RT|(H[1-9])|(O([A-G]|V))|(U[1-8])))"},{"name":"constant.language.rpg.c.n02","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{5}))((N|\\s)(([0-9]{2})|(L([1-9]|O|R))|(K[A-NP-Y])|MR|RT|(H[1-9])|(O([A-G]|V))|(U[1-8])))"},{"name":"constant.language.rpg.c.n03","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{8}))((N|\\s)(([0-9]{2})|(L([1-9]|O|R))|(K[A-NP-Y])|MR|RT|(H[1-9])|(O([A-G]|V))|(U[1-8])))"},{"name":"constant.language.rpg.c.len","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{42}))(([0-9]|\\s){3})"},{"name":"constant.language.rpg.c.decpos","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{45}))(([0-9]|\\s){1})"},{"name":"constant.language.rpg.c.opext","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{46}))(H|N|P)"},{"name":"constant.language.rpg.c.hi","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{47}))((i?)((([0-9]{2})|(L([1-9]|O|R)))|(K([A-MP-Y]))|RT|(H[1-9])|(O([A-G]|V))|(U[1-8])))"},{"name":"constant.language.rpg.c.lo","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{49}))((i?)((([0-9]{2})|(L([1-9]|O|R)))|(K([A-MP-Y]))|RT|(H[1-9])|(O([A-G]|V))|(U[1-8])))"},{"name":"constant.language.rpg.c.eq","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{51}))((i?)((([0-9]{2})|(L([1-9]|O|R)))|(K([A-MP-Y]))|RT|(H[1-9])|(O([A-G]|V))|(U[1-8])))"},{"name":"constant.language.rpg.o.type","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{8}))(H|D|T|E)"},{"name":"constant.language.rpg.o.adddel","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{9}))(ADD|DEL)"},{"name":"constant.language.rpg.o.n01","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{16}))((\\s|N)?(([0-9]{2})|(K[A-GN-Y])|((H|L)([1-9]|R))|(MR|RT|1P)|(U[1-8])|(O([A-G]|V))))"},{"name":"constant.language.rpg.o.n02","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{19}))((\\s|N)?(([0-9]{2})|(K[A-GN-Y])|((H|L)([1-9]|R))|(MR|RT|1P)|(U[1-8])|(O([A-G]|V))))"},{"name":"constant.language.rpg.o.n03","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{22}))((\\s|N)?(([0-9]{2})|(K[A-GN-Y])|((H|L)([1-9]|R))|(MR|RT|1P)|(U[1-8])|(O([A-G]|V))))"},{"name":"constant.language.rpg.o.editcode","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{31}))((([0-9])|A|B|C|D|J|K|L|M|N|O|P|Q|X|Y|Z))"},{"name":"constant.language.rpg.o.blankafter","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{32}))B"},{"name":"constant.language.rpg.o.endpos","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{33}))(((\\+|N)NNN)|\\s*(K([1-8]))|\\s*([0-9]){3})"},{"name":"constant.language.rpg.o.pblr","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{37}))(P|B|L|R)"},{"name":"constant.language.rpg.indicator","match":"(?i)[*]\\b(IN)([0-9]{0,2})\\b"},{"name":"constant.numeric.rpg","match":"\\b(([0-9]+)|([0-9]*[.][0-9]))\\b"},{"name":"constant.numeric.rpg","match":"(?i)(?\u003c=((?\u003c=^.{5}[C]).{26}))([0-9]+)"},{"name":"constant.language.rpg","match":"(?i)[*]\\b(INLR|BLANK|BLANKS|ZERO|ZEROS|HIVAL|LOVAL|ALL|ON|OFF|DATE|MONTH|DAY|YEAR|CANCL|DETC|DETL|GETIN|INIT|OFL|TERM|TOTC|TOTL|DEFN|ENTRY|INZSR|LDA|LIKE|LOCK|NAMVAR|OFF|ON|PDA|PSSR|FILE|EQUATE|PLACE)\\b"},{"name":"constant.language.rpg","match":"(?i)(UDATE|UMONTH|UDAY|UYEAR)"}]},"ctarrays":{"patterns":[{"name":"variable.other.rpg.ctarrays","begin":"(?=^(\\*{2})(?!free))","end":"(E-\\*-O-\\*-F)","patterns":[{"name":"string.other.rpg.ctarray","begin":"(\\*{2})"}]}]},"gutter":{"patterns":[{"name":"comment.gutter","match":"^.{5}"}]},"keywords":{"patterns":[{"name":"keyword.other.rpg.precompiler.title","begin":"(?i)^.{5}(H)?[\\/](TITLE)","end":"\n","patterns":[{"name":"comment.line.rpg.precompiler.title","match":".*"}]},{"name":"keyword.other.rpg.precompiler.copy","begin":"(?i)^.{5}(C|\\s)[/](COPY)\\s","end":"\n","patterns":[{"name":"string.other.rpg.precompiler.copy","begin":"\\S","end":"\\s"},{"name":"comment.other.rpg.precompiler.copy","match":".*"}]},{"name":"keyword.other.rpg.precompiler","begin":"(?i)^.{0,5}.(/)(EJECT|COPY|TITLE|SPACE)","end":"\n"},{"name":"keyword.other.rpg","match":"(?i)(?\u003c=^.{5})[H|F|E|L|I|C|O]"},{"name":"keyword.other.rpg","match":"(?i)(?\u003c=((?\u003c=^.{5}[C|c]).{21}))(IF|WH|DOW|DOU|DO|CAB|CAS|AND|OR)(GT|LT|EQ|NE|GE|LE)"},{"name":"keyword.other.rpg","match":"(:|\\,|\\-|\\+|\\.)"},{"name":"keyword.other.rpg","match":"(?i)(ENDDO|ENDIF|ENDCS|ENDSL)"},{"name":"keyword.other.rpg","match":"(?i)(?\u003c=((?\u003c=^.{5}[C|c]).{21}))(Z-SUB|Z-ADD|XLATE|XFOOT|WRITE|WH|UPDAT|UNLCK|TIME|TESTZ|TESTN|TESTB|TAG|SUBST|SUB|SQRT|SORTA|SHTDN|SETON|SETOF|SETLL|SETGT|SELEC|SCAN|ROLBK|RETRN|RESET|REL|REDPE|READP|READE|READC|READ|POST|PLIST|PARM|OUT|OTHER|OR|OPEN|OCUR|NEXT|MVR|MULT|MOVEL|MOVEA|MOVE|MLLZO|MLHZO|MHLZO|MHHZO|LOKUP|LEAVE|KLIST|KFLD|ITER|IN|IF|GOTO|FREE|FORCE|FEOD|EXSR|EXFMT|EXCPT|ENDSR|END|ELSE|DUMP|DSPLY|DOW|DOU|DO|DIV|DELET|DEFN|DEBUG|COMP|COMIT|CLOSE|CLEAR|CHEKR|CHECK|CHAIN|CAT|CAS|CALL|CAB|BITON|BITOF|BEGSR|AND|ADD|ACQ)"}]},"sql":{"patterns":[{"name":"variable.other.rpg.sql","begin":"(?i)(?=((?\u003c=^.{5}[C]))(\\/EXEC\\sSQL))","end":"(?i)(?=((?\u003c=^.{5}[C]))(\\/END\\-EXEC))","patterns":[{"name":"keyword.other.rpg.sql.precompiler","match":"(?i)((/)(EXEC\\s+SQL))"},{"name":"keyword.other.rpg.sql.c","match":"(?i)^.{5}[C]"},{"name":"variable.parameter.rpg.sql","match":"[:][a-zA-Z_][a-zA-Z0-9_]*"},{"include":"source.sql"},{"name":"variable.other.rpg.sql.identifier","match":"[a-zA-Z_][a-zA-Z0-9_]*"}]},{"name":"keyword.other.rpg.sql.precompiler","match":"(?i)(/END\\-EXEC)"}]},"strings":{"patterns":[{"name":"string.other.rpg.hex","begin":"(?i)x'","end":"'"},{"name":"string.quoted.single.rpg","begin":"'","end":"(\n|')","patterns":[{"name":"constant.character.escape.rpg","match":"\\\\."}]}]}}}
@@ -0,0 +1 @@
1
+ {"name":"RPGLE","scopeName":"source.rpgle","patterns":[{"name":"rpgle.free.allfree","begin":"(?i)(?=(\\s*\\*\\*(FREE)))","end":"(E-\\*-O-\\*-F)","patterns":[{"name":"keyword.other.rpgle.free.precompiler.allfree","match":"(?i)^\\s*\\*\\*FREE"},{"include":"#freeSQL"},{"include":"#rpglecommon"},{"include":"#freeformat"}]},{"include":"#tempfreeformat"},{"include":"#fixedSQL"},{"include":"#freeSQL"},{"include":"#precompiler"},{"include":"#ctarrays"},{"include":"#fixedcomment"},{"include":"#rpglecommon"},{"include":"#fixedformat"},{"include":"#freeformat"}],"repository":{"comments":{"patterns":[{"name":"comment.line.rpgle.free","match":"(//).*"}]},"constants":{"patterns":[{"name":"constant.language.rpgle.indicator","match":"(?i)[*]\\b(IN)([0-9]{0,2})\\b"},{"name":"constant.language.rpgle","match":"[*][a-zA-Z][a-zA-Z0-9]*"},{"name":"constant.numeric.rpgle","match":"\\b\\d+\\.?\\d*?\\b"}]},"ctarrays":{"patterns":[{"begin":"(?=^(\\*{2})(?!free))","end":"(E-\\*-O-\\*-F)","patterns":[{"name":"string.other.rpgle.ctarray","begin":"(\\*{2})"}]}]},"fixedSQL":{"patterns":[{"begin":"(?i)(?=(^.{5}(C)(\\/EXEC)\\s+(SQL)\\b))","end":"(?i)(?=(^.{5}(C)(\\/END\\-EXEC)\\b))","patterns":[{"name":"keyword.other.rpgle.sql","match":"(?i)(C)(\\/EXEC)\\s+(sql)\\b"},{"include":"#fixedcomment"},{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(C[\\+|\\/])"},{"include":"#sqlcommon"}]},{"name":"keyword.other.rpgle.sql","match":"(?i)(\\/END\\-EXEC)"}]},"fixedcomment":{"patterns":[{"name":"comment.line.rpgle.fixed","begin":"(?i)^.{5}.[*]","end":"\n"},{"name":"comment.gutter","match":"^.{5}"},{"name":"comment.block.line.rpgle.fixed","begin":"(?i)(?\u003c=((?\u003c=^.{5}((H|F|D|I|C|O|P))).{74}))","end":"\n"}]},"fixedformat":{"patterns":[{"include":"#fixedcomment"},{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(?\u003c=^.{5})[H|F|D|I|C|O|P]"},{"name":"rpgle.fixed.h","begin":"(?i)(?\u003c=^.{5}H)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"entity.name.function.rpgle.fixed.h.keywords","match":"\\b(?i)(VALIDATE|USRPRF|TIMFMT|THREAD|TEXT|SRTSEQ|PRFDTA|OPTION|OPTIMIZE|OPENOPT|NOMAIN|MAIN|LANGID|INTPREC|INDENT|GENLVL|FTRANS|FORMSALIGN|FLTDIV|FIXNBR|EXTBININT|EXPROPTS|ENBPFRCOL|DFTNAME|DFTACTGRP|DECEDIT|DEBUG|DATFMT|DATEDIT|CVTOPT|DCLOPT|CURSYM|COPYRIGHT|CCSIDCVT|CCSID|COPYNEST|BNDDIR|AUT|ALWNULL|ALTSEQ|ALLOC|ACTGRP)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.f","begin":"(?i)(?\u003c=^.{5}F)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.f.type","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{10})))(I|O|U|C)"},{"name":"constant.language.rpgle.fixed.f.designation","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{11})).{3})(P|S|R|T|F)"},{"name":"constant.language.rpgle.fixed.f.eof","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{12})).{2})E"},{"name":"constant.language.rpgle.fixed.f.addition","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{13})).{2})A"},{"name":"constant.language.rpgle.fixed.f.sequence","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{14})).{2})(A|D)"},{"name":"constant.language.rpgle.fixed.f.format","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{15})).{2})(E|F)"},{"name":"constant.language.rpgle.fixed.fi.recordlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}F)([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.f.limitproc","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{5})L"},{"name":"constant.language.rpgle.fixed.fi.keyfieldlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F).{6})([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.f.addrtype","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{11})(A|D|F|G|K|P|T|Z)"},{"name":"constant.language.rpgle.fixed.fi.fileorg","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}F.{12})(?i)(I|T)"},{"name":"constant.language.rpgle.fixed.f.device","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{13})(PRINTER|DISK|WORKSTN|SPECIAL|SEQ)"},{"name":"entity.name.function.rpgle.fixed.f","match":"\\b(?i)(WORKSTN|USROPN|USAGE|TIMFMT|TEMPLATE|STATIC|SPECIAL|SLN|SFILE|SEQ|SAVEIND|SAVEDS|RENAME|RECNO|RAFDATA|QUALIFIED|PRTCTL|PRINTER|PREFIX|PLIST|PGMNAME|PASS|OFLIND|MAXDEV|LIKEFILE|KEYLOC|KEYED|INFSR|INFDS|INDDS|INCLUDE|IGNORE|HANDLER|FORMOFL|FORMLEN|EXTMBR|EXTIND|EXTFILE|EXTDESC|DISK|DEVID|DATFMT|DATA|COMMIT|BLOCK|ALIAS)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.d","begin":"(?i)(?\u003c=^.{5}D)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"string.quoted.single.rpgle.fixed","begin":"'","end":"'","patterns":[{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(?\u003c=^.{5})[H|F|D|I|C|O|P]"}]},{"name":"variable.other.rpgle.fixed.d.extended.name","match":"(?i)(?\u003c=^.{5}D).{1,71}\\.{3}"},{"name":"constant.language.rpgle.fixed.d.external","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{15}))E"},{"name":"constant.language.rpgle.fixed.d.dstype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{16}))(S|U)"},{"name":"constant.language.rpgle.fixed.d.dectype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{17}))(DS|PI|PR|(S\\s)|(C\\s))"},{"name":"constant.language.rpgle.fixed.d.from","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{21}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.d.to","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{26}))((\\+|\\-|\\s)(([0-9]|\\s){6}))"},{"name":"constant.language.rpgle.fixed.d.datatype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{33}))(A|B|D|F|G|I|N|P|S|T|U|Z|\\*)"},{"name":"constant.language.rpgle.fixed.d.decpos","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{34}))([0-9]|\\s){2}"},{"name":"entity.name.function.rpgle.fixed.d.keywords","match":"\\b(?i)(ZONED|VARYING|VARUCS2|VARGRAPH|VARCHAR|VALUE|UNS|UCS2|TOFILE|TIMFMT|TIMESTAMP|TIME|TEMPLATE|STATIC|RTNPARM|QUALIFIED|PSDS|PROCPTR|PREFIX|POS|POINTER|PERRCD|PACKEVEN|PACKED|OVERLAY|OPTIONS|OPDESC|OCCURS|OBJECT|NOOPT|LIKEREC|LIKEFILE|LIKEDS|LIKE|LEN|INZ|IND|INT|IMPORT|GRAPH|FROMFILE|FLOAT|EXTPROC|EXTPGM|EXTNAME|EXTFMT|EXTFLD|EXT|EXPORT|DTAARA|DIM|DESCEND|DATFMT|DATE|CTDATA|CONST|CLASS|CHAR|CCSID|BINDEC|BASED|ASCEND|ALTSEQ|ALT|ALIGN|ALIAS)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.i","begin":"(?i)(?\u003c=^.{5}I)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.i.seq","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{10}))[A-Za-z0-9]{2}"},{"name":"constant.language.rpgle.fixed.i.number","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{12}))N"},{"name":"constant.language.rpgle.fixed.i.option","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{13}))O"},{"name":"constant.language.rpgle.fixed.i.recordid","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{14}))(([0-9]{2})|((H|L)([1-9]))|(RT)|((U)([1-8]))|(\\*\\*))"},{"name":"constant.language.rpgle.fixed.i.pos1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{16}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{21}))N"},{"name":"constant.language.rpgle.fixed.i.czd1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{22}))(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{23}))([A-Z0-9])"},{"name":"constant.language.rpgle.fixed.i.pos2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{24}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{29}))N"},{"name":"constant.language.rpgle.fixed.i.czd2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{30}))(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{31}))([A-Z0-9])"},{"name":"constant.language.rpgle.fixed.i.pos3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{32}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{37}))N"},{"name":"constant.language.rpgle.fixed.i.czd3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{38}))(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{39}))([A-Z0-9])"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.c","begin":"(?i)(?\u003c=^.{5}C)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.c.ctrl","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{0}))((L[0-9])|LR|SR|AN)"},{"name":"constant.language.rpgle.fixed.c.n01","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{2}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|(U[1-8])|(O[A-G])|OV))"},{"name":"keyword.other.rpgle.fixed.c.extfactor2","begin":"(?i)(?\u003c=((?\u003c=^.{5}C).{19}))((\\s{10})|CALLP|WHEN\\s{2}|RETURN|ON-ERROR|IF\\s{2}|FOR|EVALR|EVAL|ELSEIF|DOW\\s{2}|DOU\\s{2})","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"include":"#rpglecommon"},{"name":"keyword.other.rpgle","match":"((?i)(AND|COMP|CAB|CAS|DOU|DOW|FOR|IF|OR|WHEN)(GT|LT|EQ|NE|GE|LE|(\\s{2})))"},{"name":"variable.other","match":"((?i)[@#a-zA-Z_][@#a-zA-Z0-9_]*)|\\(|\\)|\\%"}]},{"include":"#rpglecommon"},{"name":"keyword.other.rpgle","match":"((?i)\\b(AND|COMP|CAB|CAS|DOU|DOW|IF|OR|WHEN)(GT|LT|EQ|NE|GE|LE|(\\s{2})))"},{"name":"keyword.other.rpgle.fixed.c.operation","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{19}))(Z\\-SUB|Z\\-ADD|XML\\-SAX|XML\\-INTO|XLATE|XFOOT|WRITE|WHEN|UPDATE|UNLOCK|TIME|TESTZ|TESTN|TESTB|TEST|TAG|SUBST|SUBDIR|SUB|SQRT|SORTA|SHTDN|SETON|SETOFF|SETLL|SETGT|SELECT|SCAN|ROLBK|RETURN|RESET|REL|REALLOC|READPE|READP|READE|READC|READ|POST|PLIST|PARM|OUT|OTHER|OR|OPEN|ON\\-EXIT|ON\\-ERROR|OCCUR|NEXT|MVR|MULT|MOVEL|MOVEA|MOVE|MONITOR|MLLZO|MLHZO|MHLZO|MHHZO|LOOKUP|LEAVESR|LEAVE|KLIST|KFLD|ITER|IN|IF|GOTO|FORCE|FOR|FEOD|EXTRCT|EXSR|EXFMT|EXCEPT|EVAL-CORR|EVALR|EVAL|ENDFOR|ENDSR|ENDIF|ENDDO|ENDCS|ENDWH|ENDSL|END|ELSEIF|ELSE|DUMP|DSPLY|DOW|DOU|DO|DIV|DELETE|DEFINE|DEALLOC|DATA-INTO|COMP|COMMIT|CLOSE|CLEAR|CHECKR|CHECK|CHAIN|CAT|CAS|CALLP|CALLB|CALL|CAB|BITON|BITOFF|BEGSR|AND|ALLOC|ADDUR|ADD|ACQ)"},{"name":"constant.language.rpgle.fixed.c.len","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{57}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.c.decpos","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{62}))([0-9]|\\s){2}"},{"name":"constant.language.rpgle.fixed.c.hi","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{64}))(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|(U[1-8])|(O[A-G])|OV)"},{"name":"constant.language.rpgle.fixed.c.lo","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{66}))(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|(U[1-8])|(O[A-G])|OV)"},{"name":"constant.language.rpgle.fixed.c.eq","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{68}))(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|(U[1-8])|(O[A-G])|OV)"}]},{"name":"rpgle.fixed.o","begin":"(?i)(?\u003c=^.{5}O)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.o.type","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{10}))(H|D|T|E)"},{"name":"constant.language.rpgle.fixed.o.fetch","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{11}))(F|R)"},{"name":"constant.language.rpgle.fixed.o.n01","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{14}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.n02","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{17}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.n03","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{20}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.spacebefore","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{33}))([0-9]|\\s){3}"},{"name":"constant.language.rpgle.fixed.o.spaceafter","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{36}))([0-9]|\\s){3}"},{"name":"constant.language.rpgle.fixed.o.skipbefore","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{39}))([0-9]|\\s){3}"},{"name":"constant.language.rpgle.fixed.o.skipafter","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{42}))([0-9]|\\s){3}"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.p","begin":"(?i)(?\u003c=^.{5}P)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.p.beginend","match":"(?i)(?\u003c=((?\u003c=^.{5}P).{17}))(B|E)"},{"name":"entity.name.function.rpgle.fixed.p.keywords","match":"(?i)(?\u003c=((?\u003c=^.{5}P).{37}))(SERIALIZE|REQPROTO|PGMINFO|EXPORT)"},{"include":"#rpglecommon"}]}]},"freeSQL":{"patterns":[{"begin":"(?i)(?=(^\\s*(EXEC)\\s+(SQL)\\b))","end":"(?=(;))","patterns":[{"name":"keyword.other.rpgle.sql","match":"(?i)(EXEC)\\s+(SQL)\\b"},{"include":"#sqlcommon"}]},{"name":"comment.line.rpgle.sql","match":"(?\u003c=(;))\\s*.*"},{"name":"rpgle.free.sql.end","match":";"}]},"freedefkeywords":{"patterns":[{"name":"entity.name.function.rpgle.free.definition.keywords","match":"(?i)\\b(ZONED|VARYING|VARUCS2|VARGRAPH|VARCHAR|VALUE|UNS|UCS2|TOFILE|TIMFMT|TIMESTAMP|TIME|TEMPLATE|STATIC|SQLTYPE|SAMEPOS|RTNPARM|REQPROTO|QUALIFIED|PSDS|PROCPTR|PREFIX|POS|POINTER|PGMINFO|PERRCD|PACKEVEN|PACKED|OVERLOAD|OVERLAY|OPTIONS|OPDESC|OCCURS|OBJECT|NULLIND|NOOPT|LIKEREC|LIKEFILE|LIKEDS|LIKE|LEN|INZ|IND|INT|IMPORT|GRAPH|FROMFILE|FLOAT|EXTPROC|EXTPGM|EXTNAME|EXTFMT|EXTFLD|EXT|EXPORT|DTAARA|DIM|DESCEND|DATFMT|DATE|CTDATA|CONST|CLASS|CHAR|CCSID|BINDEC|BASED|ASCEND|ALTSEQ|ALT|ALIGN|ALIAS)\\b"}]},"freeformat":{"patterns":[{"name":"rpgle.free.control","begin":"(?i)\\b(?=CTL\\-OPT)\\b","end":";","patterns":[{"include":"#rpglecommon"},{"name":"storage.type.rpgle.free.control","match":"(?i)\\b(CTL\\-OPT)\\b"},{"name":"entity.name.function.rpgle.free.control.keywords","match":"(?i)\\b(VALIDATE|USRPRF|TRUNCNBR|TIMFMT|THREAD|TEXT|STGMDL|SRTSEQ|REQPREXP|PRFDTA|PGMINFO|OPTION|OPTIMIZE|OPENOPT|NOMAIN|MAIN|LANGID|INTPREC|INDENT|GENLVL|FTRANS|FORMSALIGN|FLTDIV|FIXNBR|EXTBININT|EXPROPTS|ENBPFRCOL|DFTNAME|DFTACTGRP|DECPREC|DECEDIT|DEBUG|DATFMT|DATEDIT|DCLOPT|CVTOPT|CURSYM|COPYRIGHT|COPYNEST|CCSIDCVT|CCSID|BNDDIR|AUT|ALWNULL|ALTSEQ|ACTGRP|ALLOC)\\b"}]},{"name":"rpgle.free.file","begin":"(?i)\\b(?=DCL\\-F)\\b","end":";","patterns":[{"include":"#rpglecommon"},{"name":"storage.type.rpgle.free.file","match":"(?i)\\b(DCL\\-F)\\b"},{"name":"entity.name.function.rpgle.free.file.keywords","match":"(?i)\\b(WORKSTN|USROPN|USAGE|TIMFMT|TEMPLATE|STATIC|SPECIAL|SLN|SFILE|SEQ|SAVEIND|SAVEDS|RENAME|RECNO|RAFDATA|QUALIFIED|PRTCTL|PRINTER|PREFIX|PLIST|PGMNAME|PASS|OFLIND|MAXDEV|LIKEFILE|KEYLOC|KEYED|INFSR|INFDS|INDDS|INCLUDE|IGNORE|HANDLER|FORMOFL|FORMLEN|EXTMBR|EXTIND|EXTFILE|EXTDESC|DISK|DEVID|DATFMT|DATA|COMMIT|BLOCK|ALIAS)\\b"}]},{"name":"storage.type.rpgle.free.definition.subr","match":"(?i)\\b(BEG|END)SR\\b"},{"name":"rpgle.free.definition.simple","begin":"(?i)(?=(\\b(DCL\\-)(S|C|PARM)\\b))","end":"\n","patterns":[{"name":"storage.type.rpgle.free.definition.simple","match":"(?i)\\b(DCL\\-)(S|C|PARM)\\b"},{"include":"#freeidentifiers"},{"name":"comment.line.rpgle.free","match":"(//).*"}]},{"name":"rpgle.free.definition.complex","begin":"(?i)(?=(\\b(DCL\\-)(DS|PROC|PR|PI)\\b))","end":"\n","patterns":[{"name":"storage.type.rpgle.free.definition.complex.dcl","match":"(?i)\\b(DCL\\-)(DS|PROC|PR|PI)\\b"},{"name":"storage.type.rpgle.free.definition.complex.end","match":"(?i)\\b(END\\-)(DS|PROC|PR|PI)\\b"},{"include":"#freedefkeywords"},{"include":"#rpglecommon"}]},{"name":"storage.type.rpgle.free.definition.complex.end","match":"(?i)\\b(END\\-)(DS|PROC|PR|PI)\\b"},{"name":"keyword.other.rpgle.free","match":"(?i)\\b(Z\\-SUB|Z\\-ADD|XML\\-SAX|XML\\-INTO|XLATE|XFOOT|WRITE|WHEN|UPDATE|UNLOCK|TIME|TESTZ|TESTN|TESTB|TEST|TAG|SUBST|SUBDIR|SUB|SQRT|SQLSTATE|SQLCODE|SORTA|SND\\-MSG|SHTDN|SETON|SETOFF|SETLL|SETGT|SELECT|SCAN|ROLBK|RETURN|RESET|REL|REALLOC|READPE|READP|READE|READC|READ|POST|PLIST|PARM|OUT|OTHER|OR|OPEN|ON\\-EXIT|ON\\-EXCP|ON\\-ERROR|OCCUR|NEXT|MVR|MULT|MOVEL|MOVEA|MOVE|MONITOR|MLLZO|MLHZO|MHLZO|MHHZO|LOOKUP|LEAVESR|LEAVE|KLIST|KFLD|ITER|IN|IF|GOTO|FORCE|FOR\\-EACH|FOR|FEOD|EXTRCT|EXSR|EXFMT|EXCEPT|EVAL-CORR|EVALR|EVAL|ENDSR|ENDMON|ENDFOR|ENDIF|ENDDO|ENDCS|ENDWH|ENDSL|END|ELSEIF|ELSE|DUMP|DSPLY|DOW|DOU|DO|DIV|DELETE|DEFINE|DEALLOC|DATA-INTO|COMP|COMMIT|CLOSE|CLEAR|CHECKR|CHECK|CHAIN|CAT|CAS|CALLP|CALLB|CALL|CAB|BITON|BITOFF|BEGSR|AND|ALLOC|ADDUR|ADD|ACQ)\\b"},{"include":"#freeidentifiers"},{"include":"#rpglecommon"}]},"freeidentifiers":{"patterns":[{"name":"rpgle.free.definition.identifier","begin":"[a-zA-Z_][a-zA-Z0-9_]*","end":"(?=\n)","patterns":[{"include":"#freedefkeywords"},{"include":"#rpglecommon"}]}]},"keywords":{"patterns":[{"name":"keyword.other.rpgle","match":":|\\.|\\,|\\*{1,2}(=)?|=|\u003c\u003e|((\u003c|\u003e|\\+|\\-|\\/)(=)?)|((\\b(?i)(TO|BY|DOWNTO|AND|IN|OR|NOT)\\b))"},{"name":"keyword.other.rpgle.bif","match":"[%](?i)(YEARS|XML|XLATE|XFOOT|UPPER|UNSH|UNS|UCS2|TRIMR|TRIML|TRIM|TLOOKUPLT|TLOOKUPLE|TLOOKUPGT|TLOOKUPGE|TLOOKUP|TIMESTAMP|TIME|THIS|TARGET|SUBST|SUBDT|SUBARR|STR|STATUS|SQRT|SPLIT|SIZE|SHTDN|SECONDS|SCANRPL|SCANR|SCAN|REPLACE|REM|REALLOC|RANGE|PROC|PARSER|PARMNUM|PARMS|PADDR|OPEN|OCCUR|NULLIND|MSG|MSECONDS|MONTHS|MINUTES|MINARR|MIN|MAXARR|MAX|LOWER|LOOKUPLT|LOOKUPLE|LOOKUPGT|LOOKUPGE|LOOKUP|LIST|LEN|KDS|INTH|INT|HOURS|HANDLER|GRAPH|FOUND|FLOAT|FIELDS|ERROR|EQUAL|EOF|ELEM|EDITW|EDITFLT|EDITC|DIV|DIFF|DECPOS|DECH|DEC|DAYS|DATE|DATA|CHECKR|CHECK|CHAR|BITXOR|BITOR|BITNOT|BITAND|ALLOC|ADDR|ABS)"}]},"precompiler":{"patterns":[{"name":"keyword.other.rpgle.fixed.precompiler.title","begin":"(?i)(?\u003c=^.{5})(H|\\s)[\\/](TITLE)","end":"\n","patterns":[{"name":"comment.line.rpgle.fixed.precompiler.title","match":".*"}]},{"name":"keyword.other.rpgle.fixed.precompiler.title","begin":"(?i)^(\\s)*(C)?(\\s)*[\\/](TITLE)","end":"\n","patterns":[{"name":"comment.line.rpgle.free.precompiler.title","match":".*"}]},{"name":"keyword.other.rpgle.fixed.precompiler.include","begin":"(?i)^(\\s)*(C)?(\\s)*[\\/](INCLUDE|COPY)\\s","end":"\n","patterns":[{"name":"string.other.rpgle.precompiler.include","begin":"\\S","end":"\\s"},{"name":"comment.other.rpgle.precompiler.include","match":".*"}]},{"name":"rpgle.precompiler.conditional","begin":"(?i)(?=(^[\\s]*\\/IF))","end":"(?i)(?=(^[\\s]*\\/ENDIF))","patterns":[{"name":"keyword.other.rpgle.precompiler.if","match":"(?i)^[\\s]*\\/(ELSEIF|IF)"},{"name":"keyword.other.rpgle.precompiler.defcheck","match":"(?i)\\s*\\b(NOT|UNDEFINED|DEFINED)\\b"},{"include":"#freedefkeywords"},{"include":"#freeformat"}]},{"name":"keyword.other.rpgle.fixed.precompiler.misc","match":"(?i)^[\\s]*[\\/](EJECT|COPY|INCLUDE|ENDIF|ELSE|EOF|UNDEFINE|DEFINE|TITLE|SPACE|FREE|END-FREE)\\b","patterns":[{"name":"keyword.other.rpgle.precompiler","match":".*"}]}]},"rpglecommon":{"patterns":[{"include":"#comments"},{"include":"#freedefkeywords"},{"include":"#constants"},{"include":"#precompiler"},{"include":"#keywords"},{"include":"#strings"}]},"sqlcommon":{"patterns":[{"name":"comment.line.rpgle.rpgle.sql","match":"//.*"},{"name":"constant.language.rpgle.sql.globals","match":"(?i)\\b(CLIENT_HOST|CLIENT_IPADDR|CLIENT_PORT|JOB_NAME|PACKAGE_NAME|PACKAGE_SCHEMA|PACKAGE_VERSION|PROCESS_ID|ROUTINE_SCHEMA|ROUTINE_SPECIFIC_NAME|ROUTINE_TYPE|SERVER_MODE_JOB_NAME|THREAD_ID)\\b"},{"name":"support.function.rpgle.sql","match":"[a-zA-Z_][a-zA-Z0-9_]*(?=\\()"},{"name":"constant.language.rpgle.sql.schema","match":"[a-zA-Z_][a-zA-Z0-9_]*(\\.|\\/)[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"variable.parameter.rpgle.sql","match":"[:][a-zA-Z_@#][a-zA-Z0-9_@#\\.]*"},{"name":"keyword.operator.rpgle.sql.reserved","match":"(?i)\\b(ZONE|YES|YEARS|YEAR|XSROBJECT|XSLTRANSFORM|XMLVALIDATE|XMLTEXT|XMLTABLE|XMLSERIALIZE|XMLROW|XMLPI|XMLPARSE|XMLNAMESPACES|XMLGROUP|XMLFOREST|XMLELEMENT|XMLDOCUMENT|XMLCONCAT|XMLCOMMENT|XMLCAST|XMLATTRIBUTES|XMLAGG|WRKSTNNAME|WRITE|WRAPPER|WRAPPED|WITHOUT|WITHIN|WITH|WHILE|WHERE|WHENEVER|WHEN|WAIT|VOLATILE|VIEW|VERSION|VCAT|VARIANT|VARIABLE|VALUES|VALUE|USING|USERID|USER|USE|USAGE|URI|UPDATING|UPDATE|UNTIL|UNNEST|UNIT|UNIQUE|UNION|UNDO|TYPE|TRUNCATE|TRIM_ARRAY|TRIM|TRIGGER|TRANSFER|TRANSACTION|TO|TIMESTAMP|TIME|THREADSAFE|THEN|TABLESPACES|TABLESPACE|TABLE|SYSTEM_USER|SYNONYM|SUMMARY|SUBSTRING|STOGROUP|STATIC|STATEMENT|STARTING|START|STACKED|SQLID|SQL|SPECIFIC|SOURCE|SOME|SNAN|SKIP|SIMPLE|SIGNAL|SET|SESSION_USER|SESSION|SEQUENCE|SENSITIVE|SELECT|SECURED|SECQTY|SECONDS|SECOND|SEARCH|SCROLL|SCRATCHPAD|SCHEMA|SBCS|SAVEPOINT|RUN|RRN|ROW_NUMBER|ROWS|ROWNUMBER|ROW|ROUTINE|ROLLUP|ROLLBACK|RIGHT|RID|REVOKE|RETURNS|RETURNING|RETURN|RESULT_SET_LOCATOR|RESULT|RESTART|RESIGNAL|RESET|REPEAT|RENAME|RELEASE|REGEXP_LIKE|REFRESH|REFERENCING|REFERENCES|RECOVERY|READS|READ|RCDFMT|RANK|RANGE|QUERY|PROGRAMID|PROGRAM|PROCEDURE|PRIVILEGES|PRIQTY|PRIOR|PRIMARY|PREVVAL|PREPARE|POSITION|PLAN|PIPE|PIECESIZE|PERMISSION|PCTFREE|PATH|PASSWORD|PASSING|PARTITIONS|PARTITIONING|PARTITIONED|PARTITION|PART|PARAMETER|PAGESIZE|PAGE|PADDED|PACKAGE|OVERRIDING|OVERLAY|OVER|OUTER|OUT|ORGANIZE|ORDINALITY|ORDER|OR|OPTION|OPTIMIZE|OPEN|ONLY|ON|OMIT|OLD_TABLE|OLD|OFFSET|OF|OBID|NVARCHAR|NULLS|NULL|NOT|NORMALIZED|NOORDER|NONE|NOMINVALUE|NOMAXVALUE|NODENUMBER|NODENAME|NOCYCLE|NOCACHE|NO|NEXTVAL|NEW_TABLE|NEW|NESTED|NCLOB|NCHAR|NATIONAL|NAN|NAMESPACE|MONTHS|MONTH|MODIFIES|MODE|MIXED|MINVALUE|MINUTES|MINUTE|MINPCTUSED|MICROSECONDS|MICROSECOND|MERGE|MAXVALUE|MATERIALIZED|MATCHED|MASK|MAINTAINED|LOOP|LONG|LOGGED|LOG|LOCKSIZE|LOCK|LOCATOR|LOCATION|LOCALTIMESTAMP|LOCALTIME|LOCALDATE|LOCAL|LISTAGG|LINKTYPE|LIMIT|LIKE|LEVEL2|LEFT|LEAVE|LATERAL|LANGUAGE|LABEL|KEY|KEEP|JSON_VALUE|JSON_TABLE|JSON_QUERY|JSON_OBJECTAGG|JSON_OBJECT|JSON_EXISTS|JSON_ARRAYAGG|JSON_ARRAY|JOIN|JAVA|ITERATE|ISOLATION|IS|INTO|INTERSECT|INTEGRITY|INSERTING|INSERT|INSENSITIVE|INOUT|INNER|INLINE|INHERIT|INFINITY|INF|INDICATOR|INDEXBP|INDEX|INCREMENT|INCLUSIVE|INCLUDING|INCLUDE|IMPLICITLY|IMMEDIATE|IGNORE|IF|IDENTITY|ID|HOURS|HOUR|HOLD|HINT|HAVING|HASHED_VALUE|HASH|HANDLER|GROUP|GRAPHIC|GRANT|GOTO|GO|GLOBAL|GET|GENERATED|GENERAL|GBPCACHE|FUNCTION|FULL|FROM|FREEPAGE|FREE|FORMAT|FOREIGN|FOR|FINAL|FILE|FIELDPROC|FETCH|FENCED|EXTRACT|EXTERNAL|EXTEND|EXIT|EXISTS|EXECUTE|EXCLUSIVE|EXCLUDING|EXCEPTION|EXCEPT|EVERY|ESCAPE|ERROR|ENFORCED|ENDING|END|ENCRYPTION|ENCODING|ENABLE|EMPTY|ELSEIF|ELSE|EACH|DYNAMIC|DROP|DOUBLE|DOCUMENT|DO|DISTINCT|DISCONNECT|DISALLOW|DISABLE|DIAGNOSTICS|DETERMINISTIC|DESCRIPTOR|DESCRIBE|DESC|DENSE_RANK|DENSERANK|DELETING|DELETE|DEFINITION|DEFINE|DEFER|DEFAULTS|DEFAULT|DECLARE|DEALLOCATE|DEACTIVATE|DBPARTITIONNUM|DBPARTITIONNAME|DBINFO|DB2SQL|DB2GENRL|DB2GENERAL|DAYS|DAY|DATE|DATAPARTITIONNUM|DATAPARTITIONNAME|DATABASE|DATA|CYCLE|CURSOR|CURRENT_USER|CURRENT_TIMEZONE|CURRENT_TIMESTAMP|CURRENT_TIME|CURRENT_SERVER|CURRENT_SCHEMA|CURRENT_PATH|CURRENT_DATE|CURRENT|CUBE|CROSS|CREATEIN|CREATE|COUNT_BIG|COUNT|COPY|CONTINUE|CONTENT|CONTAINS|CONSTRAINT|CONSTANT|CONNECT_BY_ROOT|CONNECTION|CONNECT|CONDITION|CONCURRENT|CONCAT|COMPRESS|COMPACT|COMMIT|COMMENT|COLUMN|COLLECTION|COLLECT|CLUSTER|CLOSE|CL|CHECK|CHARACTER|CHAR|CCSID|CAST|CASE|CARDINALITY|CALLED|CALL|CACHE|BY|BUFFERPOOL|BIT|BIND|BINARY|BETWEEN|BEGIN|BEFORE|AUTONOMOUS|AUTHORIZATION|ATTRIBUTES|ATOMIC|AT|ASSOCIATE|ASENSITIVE|ASC|AS|ARRAY_AGG|ARRAY|APPLNAME|APPEND|ANY|AND|ALTER|ALLOW|ALLOCATE|ALL|ALIAS|ADD|ACTIVATE|ACTION|ACCTNG|ACCORDING|ABSENT)\\b"},{"include":"source.sql"}]},"strings":{"patterns":[{"name":"string.other.rpgle.hex","begin":"(?i)x'","end":"'"},{"name":"string.quoted.single.rpgle","begin":"'","end":"'"}]},"tempfreeformat":{"patterns":[{"begin":"(?i)(?=((\\/FREE\\b)))","end":"(?i)(?=((\\/END-FREE\\b)))","patterns":[{"name":"keyword.other.rpgle.precompiler","match":"(?i)^.*(\\/FREE\\b)"},{"include":"#rpglecommon"},{"include":"#freeformat"},{"include":"#freeSQL"}]},{"name":"keyword.other.rpgle.precompiler","match":"^.*(\\/END-FREE\\b)"}]}}}