github-linguist 7.14.0 → 7.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +115 -71
  3. data/grammars/annotation.liquidhaskell.haskell.json +1 -1
  4. data/grammars/etc.json +1 -1
  5. data/grammars/go.mod.json +1 -0
  6. data/grammars/go.sum.json +1 -0
  7. data/grammars/hint.haskell.json +1 -1
  8. data/grammars/hint.message.haskell.json +1 -1
  9. data/grammars/hint.type.haskell.json +1 -1
  10. data/grammars/markdown.bicep.codeblock.json +1 -0
  11. data/grammars/markdown.codeblock.proto.json +1 -0
  12. data/grammars/markdown.mcfunction.codeblock.json +1 -0
  13. data/grammars/source.abap.json +1 -1
  14. data/grammars/source.aidl.json +1 -0
  15. data/grammars/source.al.json +1 -1
  16. data/grammars/source.angelscript.json +1 -1
  17. data/grammars/source.avro.json +1 -1
  18. data/grammars/source.ballerina.json +1 -1
  19. data/grammars/source.batchfile.json +1 -1
  20. data/grammars/source.bc.json +1 -0
  21. data/grammars/source.bicep.json +1 -1
  22. data/grammars/source.boo.json +1 -1
  23. data/grammars/source.bp.json +1 -0
  24. data/grammars/source.cil.json +1 -0
  25. data/grammars/source.cirru.json +1 -1
  26. data/grammars/source.cs.json +1 -1
  27. data/grammars/source.csound.json +1 -1
  28. data/grammars/source.css.json +1 -1
  29. data/grammars/source.cue.json +1 -0
  30. data/grammars/source.cuesheet.json +1 -0
  31. data/grammars/source.dart.json +1 -1
  32. data/grammars/source.dc.json +1 -0
  33. data/grammars/source.ditroff.json +1 -1
  34. data/grammars/source.dotenv.json +1 -0
  35. data/grammars/source.ebnf.json +1 -1
  36. data/grammars/source.ecl.json +1 -0
  37. data/grammars/source.ed.json +1 -0
  38. data/grammars/source.fnl.json +1 -0
  39. data/grammars/source.fontforge.json +1 -1
  40. data/grammars/source.fstar.json +1 -1
  41. data/grammars/source.ftl.json +1 -0
  42. data/grammars/source.gcode.json +1 -1
  43. data/grammars/source.gdscript.json +1 -1
  44. data/grammars/source.hack.json +1 -1
  45. data/grammars/source.haskell.json +1 -1
  46. data/grammars/source.hlcode.json +1 -0
  47. data/grammars/source.hsig.json +1 -1
  48. data/grammars/source.hx.json +1 -1
  49. data/grammars/source.hy.json +1 -1
  50. data/grammars/source.jest.snap.json +1 -0
  51. data/grammars/source.jq.json +1 -1
  52. data/grammars/source.json.json +1 -1
  53. data/grammars/source.julia.json +1 -1
  54. data/grammars/source.kakscript.json +1 -0
  55. data/grammars/source.keyvalues.json +1 -0
  56. data/grammars/source.kotlin.json +1 -1
  57. data/grammars/source.lean.json +1 -1
  58. data/grammars/source.m2.json +1 -1
  59. data/grammars/source.matlab.json +1 -1
  60. data/grammars/source.mcfunction.json +1 -1
  61. data/grammars/source.odin.json +1 -1
  62. data/grammars/source.opentype.json +1 -1
  63. data/grammars/source.pegjs.json +1 -0
  64. data/grammars/source.postscript.json +1 -1
  65. data/grammars/source.powershell.json +1 -1
  66. data/grammars/source.proto.json +1 -0
  67. data/grammars/source.purescript.json +1 -1
  68. data/grammars/source.regexp.json +1 -1
  69. data/grammars/source.regexp.oniguruma.json +1 -0
  70. data/grammars/source.rego.json +1 -1
  71. data/grammars/source.renpy.json +1 -1
  72. data/grammars/source.rescript.json +1 -1
  73. data/grammars/source.sed.json +1 -1
  74. data/grammars/source.sepolicy.json +1 -0
  75. data/grammars/source.shellcheckrc.json +1 -0
  76. data/grammars/source.sqf.json +1 -1
  77. data/grammars/source.swift.json +1 -1
  78. data/grammars/source.sy.json +1 -1
  79. data/grammars/source.tm-properties.json +1 -0
  80. data/grammars/source.ts.json +1 -1
  81. data/grammars/source.tsx.json +1 -1
  82. data/grammars/source.v.json +1 -1
  83. data/grammars/source.viml.json +1 -1
  84. data/grammars/source.webassembly.json +1 -1
  85. data/grammars/source.ws.json +1 -0
  86. data/grammars/source.wsd.json +1 -1
  87. data/grammars/source.xojo.json +1 -1
  88. data/grammars/source.yara.json +1 -1
  89. data/grammars/source.yasnippet.json +1 -1
  90. data/grammars/source.zig.json +1 -1
  91. data/grammars/text.html.astro.json +1 -0
  92. data/grammars/text.html.markdown.astro.json +1 -0
  93. data/grammars/text.info.json +1 -0
  94. data/grammars/text.lesshst.json +1 -0
  95. data/grammars/text.marko.json +1 -1
  96. data/grammars/text.sfd.json +1 -1
  97. data/grammars/text.tex.latex.haskell.json +1 -1
  98. data/grammars/text.xml.svg.json +1 -1
  99. data/grammars/textmate.format-string.json +1 -0
  100. data/grammars/version +1 -1
  101. data/lib/linguist/VERSION +1 -1
  102. data/lib/linguist/documentation.yml +1 -0
  103. data/lib/linguist/generated.rb +13 -0
  104. data/lib/linguist/heuristics.rb +6 -2
  105. data/lib/linguist/heuristics.yml +18 -4
  106. data/lib/linguist/language.rb +6 -3
  107. data/lib/linguist/languages.json +1 -1
  108. data/lib/linguist/languages.yml +385 -43
  109. data/lib/linguist/linguist.bundle +0 -0
  110. data/lib/linguist/linguist.so +0 -0
  111. data/lib/linguist/repository.rb +7 -3
  112. data/lib/linguist/samples.json +1 -1
  113. data/lib/linguist/shebang.rb +4 -1
  114. data/lib/linguist/strategy/modeline.rb +4 -0
  115. data/lib/linguist/vendor.yml +3 -0
  116. metadata +36 -5
  117. data/grammars/source.SASLog.json +0 -1
  118. data/grammars/source.mcfunction-snapshot.json +0 -1
  119. data/grammars/source.protobuf.json +0 -1
@@ -1 +1 @@
1
- {"name":"Regular Expression","scopeName":"source.regexp","patterns":[{"include":"source.regexp.extended#injection"},{"include":"source.sy#injection"},{"include":"#main"}],"repository":{"alternation":{"name":"keyword.operator.logical.or.regexp","match":"\\|"},"anchor":{"patterns":[{"name":"keyword.control.anchor.line-start.regexp","match":"\\^"},{"name":"keyword.control.anchor.line-end.regexp","match":"\\$"},{"name":"keyword.control.anchor.string-start.regexp","match":"\\\\A"},{"name":"keyword.control.anchor.string-end-line.regexp","match":"\\\\Z"},{"name":"keyword.control.anchor.string-end.regexp","match":"\\\\z"},{"name":"keyword.control.anchor.search-start.regexp","match":"\\\\G"},{"name":"meta.unicode-boundary.regexp","match":"(?:(\\\\b)|(\\\\B))(\\{)(\\w+)(})","captures":{"1":{"name":"keyword.control.anchor.word-boundary.regexp"},"2":{"name":"keyword.control.anchor.non-word-boundary.regexp"},"3":{"name":"punctuation.definition.unicode-boundary.bracket.curly.begin.regexp"},"4":{"name":"entity.property.name.regexp"},"5":{"name":"punctuation.definition.unicode-boundary.bracket.curly.end.regexp"}}},{"name":"keyword.control.anchor.word-boundary.regexp","match":"\\\\b"},{"name":"keyword.control.anchor.non-word-boundary.regexp","match":"\\\\B"}]},"assertion":{"patterns":[{"name":"meta.assertion.positive.look-ahead.regexp","begin":"\\(\\?=","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.assertion.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.assertion.end.regexp"}}},{"name":"meta.assertion.negative.look-ahead.regexp","begin":"\\(\\?!","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.assertion.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.assertion.end.regexp"}}},{"name":"meta.assertion.negative.look-behind.regexp","begin":"\\(\\?\u003c!","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.assertion.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.assertion.end.regexp"}}},{"name":"meta.assertion.positive.look-behind.regexp","begin":"\\(\\?\u003c=","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.assertion.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.assertion.end.regexp"}}}]},"calloutBrackets":{"begin":"{","end":"}","patterns":[{"include":"#calloutBrackets"},{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.curly.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.end.regexp"}}},"class":{"name":"meta.character-class.set.regexp","begin":"\\[","end":"\\]","patterns":[{"include":"#classInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.character-class.set.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.character-class.set.end.regexp"}}},"classInnards":{"patterns":[{"name":"keyword.operator.logical.not.regexp","match":"\\G\\^"},{"name":"constant.character.escape.backspace.regexp","match":"\\\\b"},{"begin":"(\u0026\u0026)(\\[)","end":"\\]","patterns":[{"include":"#classInnards"}],"beginCaptures":{"1":{"name":"keyword.operator.logical.intersect.regexp"},"2":{"name":"punctuation.definition.character-class.set.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.character-class.set.end.regexp"}}},{"name":"keyword.operator.logical.intersect.regexp","match":"\u0026\u0026"},{"name":"punctuation.separator.range.dash.regexp","match":"(?\u003c!\\G|\\\\[dwshDWSHN])-(?!\\])"},{"include":"source.regexp.posix#charClass"},{"name":"constant.character.escape.backslash.regexp","match":"\\\\\\[|\\\\\\]"},{"match":"\\^|\\$|\\(|\\)|\\["},{"include":"#escape"},{"include":"#main"},{"name":"constant.single.character.character-class.regexp","match":"[^\\]]"}]},"comment":{"name":"comment.block.regexp","begin":"\\(\\?#","end":"\\)","patterns":[{"name":"constant.character.escape.backslash.regexp","match":"\\\\."}]},"conditional":{"name":"meta.conditional.regexp","begin":"(\\()(\\?)(?=\\()","end":"\\)","patterns":[{"name":"punctuation.separator.condition.if-else.regexp","match":"\\|"},{"include":"#assertion"},{"name":"meta.condition.function-call.regexp","begin":"\\G\\(","end":"\\)","patterns":[{"name":"storage.type.function.subpattern.regexp","match":"\\GDEFINE"},{"name":"keyword.other.assertion.regexp","match":"\\Gassert"},{"match":"\\G(?:(\u003c)([^\u003e]+)(\u003e)|(')([^\u003e]+)('))","captures":{"1":{"name":"punctuation.definition.group-reference.bracket.angle.begin.regexp"},"2":{"name":"entity.group.name.regexp"},"3":{"name":"punctuation.definition.group-reference.bracket.angle.end.regexp"},"4":{"name":"punctuation.definition.group-reference.quote.single.begin.regexp"},"5":{"name":"entity.group.name.regexp"},"6":{"name":"punctuation.definition.group-reference.quote.single.end.regexp"}}},{"match":"\\G(R(\u0026))(\\w+)","captures":{"1":{"name":"keyword.other.recursion.specific.regexp"},"2":{"name":"punctuation.definition.reference.regexp"},"3":{"name":"entity.group.name.regexp"}}},{"name":"keyword.other.recursion.specific-group.regexp","match":"\\GR\\d+"},{"name":"keyword.other.recursion.overall.regexp","match":"\\GR"},{"name":"keyword.other.reference.absolute.regexp","match":"\\G\\d+"},{"name":"keyword.other.reference.relative.regexp","match":"\\G[-+]\\d+"},{"name":"entity.group.name.regexp","match":"\\G\\w+"}],"beginCaptures":{"0":{"name":"punctuation.section.condition.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.section.condition.end.regexp"}}},{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.section.condition.begin.regexp"},"2":{"name":"keyword.control.flow.regexp"}},"endCaptures":{"0":{"name":"punctuation.section.condition.end.regexp"}}},"escape":{"patterns":[{"name":"constant.character.escape.decimal.regexp","match":"\\\\d"},{"name":"constant.character.escape.whitespace.regexp","match":"\\\\s"},{"name":"constant.character.escape.word-char.regexp","match":"\\\\w"},{"name":"constant.character.escape.newline.regexp","match":"\\\\n"},{"name":"constant.character.escape.tab.regexp","match":"\\\\t"},{"name":"constant.character.escape.return.regexp","match":"\\\\r"},{"name":"constant.character.escape.non-decimal.regexp","match":"\\\\D"},{"name":"constant.character.escape.non-whitespace.regexp","match":"\\\\S"},{"name":"constant.character.escape.non-word-char.regexp","match":"\\\\W"},{"name":"constant.character.escape.alarm.regexp","match":"\\\\a"},{"name":"constant.character.escape.escape-char.regexp","match":"\\\\e"},{"name":"constant.character.escape.form-feed.regexp","match":"\\\\f"},{"name":"constant.character.escape.vertical-tab.regexp","match":"\\\\v"},{"name":"constant.character.escape.numeric.regexp","match":"\\\\x[0-9A-Fa-f]{2}"},{"name":"meta.character-escape.hex.regexp","match":"(\\\\x)({)([0-9A-Fa-f]+(?\u003e\\s+[0-9A-Fa-f]+)*)\\s*(})","captures":{"1":{"name":"keyword.operator.unicode-escape.hex.regexp"},"2":{"name":"punctuation.definition.unicode-escape.bracket.curly.begin.regexp"},"3":{"patterns":[{"name":"constant.numeric.codepoint.hex.regexp","match":"\\S+"}]},"4":{"name":"punctuation.definition.unicode-escape.bracket.curly.end.regexp"}}},{"name":"meta.character-escape.octal.regexp","match":"(\\\\o)({)([0-7]+(?\u003e\\s+[0-7]+)*)\\s*(})","captures":{"1":{"name":"keyword.operator.unicode-escape.octal.regexp"},"2":{"name":"punctuation.definition.unicode-escape.bracket.curly.begin.regexp"},"3":{"patterns":[{"name":"constant.numeric.codepoint.octal.regexp","match":"\\S+"}]},"4":{"name":"punctuation.definition.unicode-escape.bracket.curly.end.regexp"}}},{"name":"meta.unicode-property.regexp","match":"(\\\\[Pp])(\\{)(\\^?)([^{}]+)(\\})","captures":{"1":{"name":"keyword.operator.unicode-property.regexp"},"2":{"name":"punctuation.definition.unicode-escape.bracket.curly.begin.regexp"},"3":{"name":"keyword.operator.logical.not.regexp"},"4":{"name":"entity.property.name.regexp","patterns":[{"include":"#propInnards"}]},"5":{"name":"punctuation.definition.unicode-escape.bracket.curly.end.regexp"}}},{"name":"meta.unicode-property.single-letter.regexp","match":"(\\\\[Pp])(\\w)","captures":{"1":{"name":"keyword.operator.unicode-property.regexp"},"2":{"name":"entity.property.name.regexp"}}},{"name":"meta.group-reference.regexp","contentName":"entity.group.name.regexp","begin":"(\\\\[kg])(\u003c)","end":"\u003e","patterns":[{"include":"#groupRefInnards"}],"beginCaptures":{"1":{"name":"keyword.operator.group-reference.regexp"},"2":{"name":"punctuation.definition.group-reference.bracket.angle.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group-reference.bracket.angle.end.regexp"}}},{"name":"meta.group-reference.regexp","contentName":"entity.group.name.regexp","begin":"(\\\\[kg])(')","end":"'","patterns":[{"include":"#groupRefInnards"}],"beginCaptures":{"1":{"name":"keyword.operator.group-reference.regexp"},"2":{"name":"punctuation.definition.group-reference.quote.single.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group-reference.quote.single.end.regexp"}}},{"name":"meta.group-reference.regexp","contentName":"entity.group.name.regexp","begin":"(\\\\[kg])({)","end":"}","beginCaptures":{"1":{"name":"keyword.operator.group-reference.regexp"},"2":{"name":"punctuation.definition.group-reference.bracket.curly.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group-reference.bracket.curly.end.regexp"}}},{"name":"meta.group-reference.single-letter.regexp","match":"(\\\\g)(\\d)","captures":{"1":{"name":"keyword.operator.group-reference.regexp"},"2":{"name":"entity.group.name.regexp"}}},{"name":"meta.named-char.regexp","match":"(\\\\N)(\\{)([^{}]+)(\\})","captures":{"1":{"name":"keyword.operator.named-char.regexp"},"2":{"name":"punctuation.definition.unicode-escape.bracket.curly.begin.regexp"},"3":{"name":"entity.character.name.regexp","patterns":[{"name":"punctuation.separator.colon.regexp","match":":"},{"name":"punctuation.separator.codepoint.regexp","match":"(?\u003c=U)\\+(?=[A-Fa-f0-9])"}]},"4":{"name":"punctuation.definition.unicode-escape.bracket.curly.end.regexp"}}},{"name":"meta.quoted-chars.regexp","contentName":"markup.raw.verbatim.string.regexp","begin":"\\\\Q(?=.*?\\\\E)","end":"\\\\E","beginCaptures":{"0":{"name":"keyword.control.quote-mode.begin.regexp"}},"endCaptures":{"0":{"name":"keyword.control.quote-mode.end.regexp"}}},{"name":"constant.character.escape.octal.numeric.regexp","match":"\\\\(?:\\d{3}|0\\d)"},{"name":"constant.character.escape.null-byte.numeric.regexp","match":"\\\\0"},{"name":"keyword.other.back-reference.$1.regexp","match":"\\\\(\\d{1,2})"},{"name":"constant.character.escape.control-char.regexp","match":"\\\\(?:c|C-)[?-_]"},{"name":"constant.character.escape.hex-digit.regexp","match":"\\\\h"},{"name":"constant.character.escape.non-hex-digit.regexp","match":"\\\\H"},{"name":"keyword.control.end-mode.regexp","match":"\\\\E"},{"name":"keyword.control.quote-mode.regexp","match":"\\\\Q"},{"name":"keyword.control.foldcase-mode.regexp","match":"\\\\F"},{"name":"keyword.control.lowercase-mode.regexp","match":"\\\\L"},{"name":"keyword.control.titlecase-mode.regexp","match":"\\\\U"},{"name":"keyword.control.keep-out.regexp","match":"\\\\K"},{"name":"constant.character.escape.lowercase-next.regexp","match":"\\\\l"},{"name":"constant.character.escape.titlecase-next.regexp","match":"\\\\u"},{"name":"constant.character.escape.non-newline.regexp","match":"\\\\N"},{"name":"constant.character.escape.extended-grapheme.regexp","match":"\\\\X"},{"name":"constant.character.escape.linebreak-grapheme.regexp","match":"\\\\R"},{"name":"constant.character.escape.non-vertical-whitespace.regexp","match":"\\\\V"},{"name":"constant.character.escape.meta-control.regexp","match":"\\\\M-\\\\C-[?-_]"},{"name":"constant.character.escape.meta-char.regexp","match":"\\\\M-."},{"name":"constant.character.escape.any-char.regexp","match":"\\\\O"},{"name":"keyword.control.anchor.text-boundary.regexp","match":"\\\\[yY]"},{"name":"constant.character.escape.misc.regexp","match":"\\\\."}]},"fixedGroups":{"patterns":[{"name":"meta.group-reference.reset.regexp","match":"(\\()(\\?[R0])(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.other.back-reference.regexp"},"3":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.group.scoped-modifiers.regexp","match":"(\\(\\?)((?:y{[\\w]+}|[-A-Za-z^])*)(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"patterns":[{"include":"#scopedModifiers"}]},"3":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.control-verb.regexp","match":"(\\(\\*)(\\w*)(?:([:=])([^\\s()]*))?(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.control.verb.regexp"},"3":{"name":"punctuation.separator.key-value.regexp"},"4":{"name":"variable.parameter.control-verb.regexp"},"5":{"name":"punctuation.definition.group.begin.regexp"}}},{"name":"meta.group-reference.named.regexp","match":"(\\()(\\?(?:\u0026|P[\u003e=]))(\\w+)(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.other.back-reference.regexp"},"3":{"name":"entity.group.name.regexp"},"4":{"name":"punctuation.definition.group.begin.regexp"}}},{"name":"meta.group-reference.relative.regexp","match":"(\\()(\\?[-+]\\d+)(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.other.back-reference.regexp"},"3":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.callout.regexp","match":"(\\()(\\?C\\d*)(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.control.callout.regexp"},"3":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.callout.regexp","match":"(?x)\n(\\(\\*)\n([_A-Za-z][_A-Za-z0-9]*) # Name\n((\\[)([_A-Za-z][_A-Za-z0-9]*)(\\])) # [tag]\n(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"entity.name.callout.regexp"},"3":{"name":"entity.name.tag.callout-tag.regexp"},"4":{"name":"punctuation.definition.callout-tag.begin.regexp"},"5":{"name":"callout-tag.constant.other.regexp"},"6":{"name":"punctuation.definition.callout-tag.end.regexp"},"7":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.absent-function.clear-range.regexp","match":"(\\()(\\?~)(\\|)(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.control.flow.regexp"},"3":{"name":"punctuation.separator.delimiter.pipe.regexp"},"4":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.absent-stopper.regexp","match":"(\\()(\\?~)(\\|)([^|\\)]*)(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.control.flow.regexp"},"3":{"name":"punctuation.separator.delimiter.pipe.regexp"},"4":{"name":"variable.parameter.absent-function.regexp","patterns":[{"include":"#main"}]},"5":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.absent-expression.regexp","match":"(?x)\n(\\()\n(\\?~)\n(\\|) ([^|\\)]*)\n(\\|) ([^|\\)]*)\n(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.control.flow.regexp"},"3":{"name":"punctuation.separator.delimiter.pipe.regexp"},"4":{"name":"variable.parameter.absent-function.regexp","patterns":[{"include":"#main"}]},"5":{"name":"punctuation.separator.delimiter.pipe.regexp"},"6":{"name":"variable.parameter.absent-function.regexp","patterns":[{"include":"#main"}]},"7":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.absent-repeater.regexp","match":"(\\()(\\?~)([^|\\)]*)(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.control.flow.regexp"},"3":{"name":"variable.parameter.absent-function.regexp","patterns":[{"include":"#main"}]},"4":{"name":"punctuation.definition.group.end.regexp"}}}]},"group":{"patterns":[{"include":"#fixedGroups"},{"name":"meta.group.named.regexp","begin":"\\(\\?(?=P?[\u003c'])","end":"\\)","patterns":[{"contentName":"entity.group.name.regexp","begin":"\\G(P?)(\u003c)","end":"\u003e","beginCaptures":{"1":{"name":"storage.type.function.named-group.regexp"},"2":{"name":"punctuation.definition.named-group.bracket.angle.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.named-group.bracket.angle.end.regexp"}}},{"contentName":"entity.group.name.regexp","begin":"\\G'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.named-group.quote.single.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.named-group.quote.single.end.regexp"}}},{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.group.non-capturing.regexp.extended","contentName":"source.embedded.regexp.extended","begin":"(\\(\\?)([A-Za-wyz]*x[A-Za-z]*[-A-Za-wyz]*)(:)","end":"\\)","patterns":[{"include":"source.regexp.extended#main"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"patterns":[{"include":"#scopedModifiers"}]},"3":{"name":"punctuation.separator.colon.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.group.non-capturing.regexp","begin":"(\\(\\?)((?:y{[\\w]+}|[-A-Za-z^])*)(:)","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"patterns":[{"include":"#scopedModifiers"}]},"3":{"name":"punctuation.separator.colon.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.group.atomic.regexp","begin":"\\(\\?\u003e","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.group.script-run.regexp","begin":"(\\(\\*)((?:atomic_)?script_run|a?sr)(:)","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.control.verb.regexp"},"3":{"name":"punctuation.separator.colon.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.group.callout.contents.regexp","begin":"(\\(\\?{1,2})({)","end":"(?x)\n(}) # Last closing bracket\n((\\[)([_A-Za-z][_A-Za-z0-9]*)(\\]))? # [tag]\n(X|\u003c|\u003e)? # Callout direction\n(?:[^\\)]*) # Silently skip unexpected characters\n(\\)) # Closing bracket","patterns":[{"include":"#calloutBrackets"},{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"punctuation.definition.bracket.curly.begin.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.bracket.curly.end.regexp"},"2":{"name":"entity.name.tag.callout-tag.regexp"},"3":{"name":"punctuation.definition.callout-tag.begin.regexp"},"4":{"name":"callout-tag.constant.other.regexp"},"5":{"name":"punctuation.definition.callout-tag.end.regexp"},"6":{"name":"constant.language.callout-direction.regexp"},"7":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.group.callout.regexp","begin":"(?x)\n(\\(\\*)\n([_A-Za-z][_A-Za-z0-9]*) # Name\n((\\[)([_A-Za-z][_A-Za-z0-9]*)(\\]))? # [tag]\n({)","end":"(?x)\n(})\n(?:[^\\)]*)\n(?:(\\))|(?=$))","patterns":[{"include":"#main"},{"name":"variable.parameter.argument.regexp","match":"[-\\w]+"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"entity.name.callout.regexp"},"3":{"name":"entity.name.tag.callout-tag.regexp"},"4":{"name":"punctuation.definition.callout-tag.begin.regexp"},"5":{"name":"callout-tag.constant.other.regexp"},"6":{"name":"punctuation.definition.callout-tag.end.regexp"},"7":{"name":"punctuation.definition.arguments.begin.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.regexp"},"2":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.absent-function.regexp","begin":"(\\()(\\?~)(\\|)","end":"\\)","patterns":[{"name":"punctuation.separator.delimiter.pipe.regexp","match":"\\|"},{"name":"variable.parameter.argument.regexp","match":"[-\\w]+"},{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.control.flow.regexp"},"3":{"name":"punctuation.separator.delimiter.pipe.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.group.empty.regexp","match":"(\\()(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.group.regexp","begin":"\\(","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.end.regexp"}}}]},"groupRefInnards":{"patterns":[{"name":"keyword.operator.arithmetic.minus.regexp","match":"\\-(?=\\d)"},{"name":"keyword.operator.arithmetic.plus.regexp","match":"\\+(?=\\d)"}]},"main":{"patterns":[{"include":"#comment"},{"include":"#variable"},{"include":"#anchor"},{"include":"#escape"},{"include":"#wildcard"},{"include":"#alternation"},{"include":"#quantifier"},{"include":"#assertion"},{"include":"#conditional"},{"include":"#group"},{"include":"#class"}]},"propInnards":{"patterns":[{"name":"keyword.operator.comparison.regexp","match":"="},{"name":"constant.language.boolean.${0:/downcase}.regexp","match":"True|False"}]},"quantifier":{"patterns":[{"include":"#quantifierSymbolic"},{"include":"#quantifierNumeric"}]},"quantifierNumeric":{"name":"keyword.operator.quantifier.specific.unescaped.regexp","match":"(\\{)(?:(\\d+)(,?)(\\d*)|(,)(\\d+))(\\})","captures":{"1":{"name":"punctuation.definition.quantifier.bracket.curly.begin.regexp"},"2":{"name":"keyword.operator.quantifier.min.regexp"},"3":{"name":"punctuation.delimiter.comma.regexp"},"4":{"name":"keyword.operator.quantifier.max.regexp"},"5":{"name":"punctuation.delimiter.comma.regexp"},"6":{"name":"keyword.operator.quantifier.max.regexp"},"7":{"name":"punctuation.definition.quantifier.bracket.curly.end.regexp"}}},"quantifierNumericOld":{"name":"keyword.operator.quantifier.specific.escaped.regexp","match":"(\\\\{)(?:(\\d+)(,?)(\\d*)|(,)(\\d+))(\\\\})","captures":{"1":{"name":"punctuation.definition.quantifier.bracket.curly.begin.regexp"},"2":{"name":"keyword.operator.quantifier.min.regexp"},"3":{"name":"punctuation.delimiter.comma.regexp"},"4":{"name":"keyword.operator.quantifier.max.regexp"},"5":{"name":"punctuation.delimiter.comma.regexp"},"6":{"name":"keyword.operator.quantifier.max.regexp"},"7":{"name":"punctuation.definition.quantifier.bracket.curly.end.regexp"}}},"quantifierSymbolic":{"name":"keyword.operator.quantifier.regexp","match":"[*+?]"},"scopedModifiers":{"patterns":[{"name":"meta.text-segment-mode.regexp","match":"(y)({)(\\w+)(})","captures":{"1":{"name":"storage.modifier.flag.y.regexp"},"2":{"name":"punctuation.definition.option.bracket.curly.begin.regexp"},"3":{"name":"variable.parameter.option-mode.regexp"},"4":{"name":"punctuation.definition.option.bracket.curly.end.regexp"}}},{"name":"keyword.operator.modifier.reset.regexp","match":"(?:(?\u003c=\\?)|\\G|^)\\^"},{"name":"keyword.operator.modifier.negate.regexp","match":"-"},{"name":"storage.modifier.flag.$0.regexp","match":"[A-Za-z]"}]},"variable":{"patterns":[{"name":"variable.other.regexp","match":"(?\u003c![^\\\\]\\\\|^\\\\)\\$(?!\\d|-)[-\\w]+","captures":{"1":{"name":"punctuation.definition.variable.regexp"}}},{"name":"variable.other.bracket.regexp","match":"(?\u003c![^\\\\]\\\\|^\\\\)(\\$\\{)\\s*(?!\\d|-)[-\\w]+\\s*(\\})","captures":{"1":{"name":"punctuation.definition.variable.begin.regexp"},"2":{"name":"punctuation.definition.variable.end.regexp"}}}]},"wildcard":{"name":"constant.character.wildcard.dot.match.any.regexp","match":"\\."}}}
1
+ {"name":"Regular Expression","scopeName":"source.regexp","patterns":[{"include":"source.regexp.extended#injection"},{"include":"source.sy#injection"},{"include":"#main"}],"repository":{"alternation":{"name":"keyword.operator.logical.or.regexp","match":"\\|"},"anchor":{"patterns":[{"name":"keyword.control.anchor.line-start.regexp","match":"\\^"},{"name":"keyword.control.anchor.line-end.regexp","match":"\\$"},{"name":"keyword.control.anchor.string-start.regexp","match":"\\\\A"},{"name":"keyword.control.anchor.string-end-line.regexp","match":"\\\\Z"},{"name":"keyword.control.anchor.string-end.regexp","match":"\\\\z"},{"name":"keyword.control.anchor.search-start.regexp","match":"\\\\G"},{"name":"meta.unicode-boundary.regexp","match":"(?:(\\\\b)|(\\\\B))(\\{)(\\w+)(})","captures":{"1":{"name":"keyword.control.anchor.word-boundary.regexp"},"2":{"name":"keyword.control.anchor.non-word-boundary.regexp"},"3":{"name":"punctuation.definition.unicode-boundary.bracket.curly.begin.regexp"},"4":{"name":"entity.property.name.regexp"},"5":{"name":"punctuation.definition.unicode-boundary.bracket.curly.end.regexp"}}},{"name":"keyword.control.anchor.word-boundary.regexp","match":"\\\\b"},{"name":"keyword.control.anchor.non-word-boundary.regexp","match":"\\\\B"}]},"assertion":{"patterns":[{"name":"meta.assertion.positive.look-ahead.regexp","begin":"\\(\\?=","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.assertion.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.assertion.end.regexp"}}},{"name":"meta.assertion.negative.look-ahead.regexp","begin":"\\(\\?!","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.assertion.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.assertion.end.regexp"}}},{"name":"meta.assertion.negative.look-behind.regexp","begin":"\\(\\?\u003c!","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.assertion.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.assertion.end.regexp"}}},{"name":"meta.assertion.positive.look-behind.regexp","begin":"\\(\\?\u003c=","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.assertion.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.assertion.end.regexp"}}}]},"calloutBrackets":{"begin":"{","end":"}","patterns":[{"include":"#calloutBrackets"},{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.curly.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.end.regexp"}}},"class":{"name":"meta.character-class.set.regexp","begin":"\\[","end":"\\]","patterns":[{"include":"#classInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.character-class.set.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.character-class.set.end.regexp"}}},"classInnards":{"patterns":[{"name":"keyword.operator.logical.not.regexp","match":"\\G\\^"},{"name":"constant.character.escape.backspace.regexp","match":"\\\\b"},{"begin":"(\u0026\u0026)(\\[)","end":"\\]","patterns":[{"include":"#classInnards"}],"beginCaptures":{"1":{"name":"keyword.operator.logical.intersect.regexp"},"2":{"name":"punctuation.definition.character-class.set.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.character-class.set.end.regexp"}}},{"name":"keyword.operator.logical.intersect.regexp","match":"\u0026\u0026"},{"name":"punctuation.separator.range.dash.regexp","match":"(?\u003c!\\G|\\\\[dwshDWSHN])-(?!\\])"},{"include":"source.regexp.posix#charClass"},{"name":"constant.character.escape.backslash.regexp","match":"\\\\\\[|\\\\\\]"},{"match":"\\^|\\$|\\(|\\)|\\["},{"include":"#escape"},{"include":"#main"},{"name":"constant.single.character.character-class.regexp","match":"[^\\]]"}]},"comment":{"name":"comment.block.regexp","begin":"\\(\\?#","end":"\\)","patterns":[{"name":"constant.character.escape.backslash.regexp","match":"\\\\."}]},"conditional":{"name":"meta.conditional.regexp","begin":"(\\()(\\?)(?=\\()","end":"\\)","patterns":[{"name":"punctuation.separator.condition.if-else.regexp","match":"\\|"},{"include":"#assertion"},{"name":"meta.condition.function-call.regexp","begin":"\\G\\(","end":"\\)","patterns":[{"name":"storage.type.function.subpattern.regexp","match":"\\GDEFINE"},{"name":"keyword.other.assertion.regexp","match":"\\Gassert"},{"match":"\\G(?:(\u003c)([^\u003e]+)(\u003e)|(')(['\u003e]+)('))","captures":{"1":{"name":"punctuation.definition.group-reference.bracket.angle.begin.regexp"},"2":{"name":"entity.group.name.regexp"},"3":{"name":"punctuation.definition.group-reference.bracket.angle.end.regexp"},"4":{"name":"punctuation.definition.group-reference.quote.single.begin.regexp"},"5":{"name":"entity.group.name.regexp"},"6":{"name":"punctuation.definition.group-reference.quote.single.end.regexp"}}},{"match":"\\G(R(\u0026))(\\w+)","captures":{"1":{"name":"keyword.other.recursion.specific.regexp"},"2":{"name":"punctuation.definition.reference.regexp"},"3":{"name":"entity.group.name.regexp"}}},{"name":"keyword.other.recursion.specific-group.regexp","match":"\\GR\\d+"},{"name":"keyword.other.recursion.overall.regexp","match":"\\GR"},{"name":"keyword.other.reference.absolute.regexp","match":"\\G\\d+"},{"name":"keyword.other.reference.relative.regexp","match":"\\G[-+]\\d+"},{"name":"entity.group.name.regexp","match":"\\G\\w+"}],"beginCaptures":{"0":{"name":"punctuation.section.condition.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.section.condition.end.regexp"}}},{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.section.condition.begin.regexp"},"2":{"name":"keyword.control.flow.regexp"}},"endCaptures":{"0":{"name":"punctuation.section.condition.end.regexp"}}},"escape":{"patterns":[{"name":"constant.character.escape.decimal.regexp","match":"\\\\d"},{"name":"constant.character.escape.whitespace.regexp","match":"\\\\s"},{"name":"constant.character.escape.word-char.regexp","match":"\\\\w"},{"name":"constant.character.escape.newline.regexp","match":"\\\\n"},{"name":"constant.character.escape.tab.regexp","match":"\\\\t"},{"name":"constant.character.escape.return.regexp","match":"\\\\r"},{"name":"constant.character.escape.non-decimal.regexp","match":"\\\\D"},{"name":"constant.character.escape.non-whitespace.regexp","match":"\\\\S"},{"name":"constant.character.escape.non-word-char.regexp","match":"\\\\W"},{"name":"constant.character.escape.alarm.regexp","match":"\\\\a"},{"name":"constant.character.escape.escape-char.regexp","match":"\\\\e"},{"name":"constant.character.escape.form-feed.regexp","match":"\\\\f"},{"name":"constant.character.escape.vertical-tab.regexp","match":"\\\\v"},{"name":"constant.character.escape.numeric.regexp","match":"\\\\x[0-9A-Fa-f]{2}"},{"name":"meta.character-escape.hex.regexp","match":"(\\\\x)({)([0-9A-Fa-f]+(?\u003e\\s+[0-9A-Fa-f]+)*)\\s*(})","captures":{"1":{"name":"keyword.operator.unicode-escape.hex.regexp"},"2":{"name":"punctuation.definition.unicode-escape.bracket.curly.begin.regexp"},"3":{"patterns":[{"name":"constant.numeric.codepoint.hex.regexp","match":"\\S+"}]},"4":{"name":"punctuation.definition.unicode-escape.bracket.curly.end.regexp"}}},{"name":"meta.character-escape.octal.regexp","match":"(\\\\o)({)([0-7]+(?\u003e\\s+[0-7]+)*)\\s*(})","captures":{"1":{"name":"keyword.operator.unicode-escape.octal.regexp"},"2":{"name":"punctuation.definition.unicode-escape.bracket.curly.begin.regexp"},"3":{"patterns":[{"name":"constant.numeric.codepoint.octal.regexp","match":"\\S+"}]},"4":{"name":"punctuation.definition.unicode-escape.bracket.curly.end.regexp"}}},{"name":"meta.unicode-property.regexp","match":"(\\\\[Pp])(\\{)(\\^?)([^{}]+)(\\})","captures":{"1":{"name":"keyword.operator.unicode-property.regexp"},"2":{"name":"punctuation.definition.unicode-escape.bracket.curly.begin.regexp"},"3":{"name":"keyword.operator.logical.not.regexp"},"4":{"name":"entity.property.name.regexp","patterns":[{"include":"#propInnards"}]},"5":{"name":"punctuation.definition.unicode-escape.bracket.curly.end.regexp"}}},{"name":"meta.unicode-property.single-letter.regexp","match":"(\\\\[Pp])(\\w)","captures":{"1":{"name":"keyword.operator.unicode-property.regexp"},"2":{"name":"entity.property.name.regexp"}}},{"name":"meta.group-reference.regexp","contentName":"entity.group.name.regexp","begin":"(\\\\[kg])(\u003c)","end":"\u003e","patterns":[{"include":"#groupRefInnards"}],"beginCaptures":{"1":{"name":"keyword.operator.group-reference.regexp"},"2":{"name":"punctuation.definition.group-reference.bracket.angle.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group-reference.bracket.angle.end.regexp"}}},{"name":"meta.group-reference.regexp","contentName":"entity.group.name.regexp","begin":"(\\\\[kg])(')","end":"'","patterns":[{"include":"#groupRefInnards"}],"beginCaptures":{"1":{"name":"keyword.operator.group-reference.regexp"},"2":{"name":"punctuation.definition.group-reference.quote.single.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group-reference.quote.single.end.regexp"}}},{"name":"meta.group-reference.regexp","contentName":"entity.group.name.regexp","begin":"(\\\\[kg])({)","end":"}","beginCaptures":{"1":{"name":"keyword.operator.group-reference.regexp"},"2":{"name":"punctuation.definition.group-reference.bracket.curly.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group-reference.bracket.curly.end.regexp"}}},{"name":"meta.group-reference.single-letter.regexp","match":"(\\\\g)(\\d)","captures":{"1":{"name":"keyword.operator.group-reference.regexp"},"2":{"name":"entity.group.name.regexp"}}},{"name":"meta.named-char.regexp","match":"(\\\\N)(\\{)([^{}]+)(\\})","captures":{"1":{"name":"keyword.operator.named-char.regexp"},"2":{"name":"punctuation.definition.unicode-escape.bracket.curly.begin.regexp"},"3":{"name":"entity.character.name.regexp","patterns":[{"name":"punctuation.separator.colon.regexp","match":":"},{"name":"punctuation.separator.codepoint.regexp","match":"(?\u003c=U)\\+(?=[A-Fa-f0-9])"}]},"4":{"name":"punctuation.definition.unicode-escape.bracket.curly.end.regexp"}}},{"name":"meta.quoted-chars.regexp","contentName":"markup.raw.verbatim.string.regexp","begin":"\\\\Q(?=.*?\\\\E)","end":"\\\\E","beginCaptures":{"0":{"name":"keyword.control.quote-mode.begin.regexp"}},"endCaptures":{"0":{"name":"keyword.control.quote-mode.end.regexp"}}},{"name":"constant.character.escape.octal.numeric.regexp","match":"\\\\(?:\\d{3}|0\\d)"},{"name":"constant.character.escape.null-byte.numeric.regexp","match":"\\\\0"},{"name":"keyword.other.back-reference.$1.regexp","match":"\\\\(\\d{1,2})"},{"name":"constant.character.escape.control-char.regexp","match":"\\\\(?:c|C-)[?-_]"},{"name":"constant.character.escape.hex-digit.regexp","match":"\\\\h"},{"name":"constant.character.escape.non-hex-digit.regexp","match":"\\\\H"},{"name":"keyword.control.end-mode.regexp","match":"\\\\E"},{"name":"keyword.control.quote-mode.regexp","match":"\\\\Q"},{"name":"keyword.control.foldcase-mode.regexp","match":"\\\\F"},{"name":"keyword.control.lowercase-mode.regexp","match":"\\\\L"},{"name":"keyword.control.titlecase-mode.regexp","match":"\\\\U"},{"name":"keyword.control.keep-out.regexp","match":"\\\\K"},{"name":"constant.character.escape.lowercase-next.regexp","match":"\\\\l"},{"name":"constant.character.escape.titlecase-next.regexp","match":"\\\\u"},{"name":"constant.character.escape.non-newline.regexp","match":"\\\\N"},{"name":"constant.character.escape.extended-grapheme.regexp","match":"\\\\X"},{"name":"constant.character.escape.linebreak-grapheme.regexp","match":"\\\\R"},{"name":"constant.character.escape.non-vertical-whitespace.regexp","match":"\\\\V"},{"name":"constant.character.escape.meta-control.regexp","match":"\\\\M-\\\\C-[?-_]"},{"name":"constant.character.escape.meta-char.regexp","match":"\\\\M-."},{"name":"constant.character.escape.any-char.regexp","match":"\\\\O"},{"name":"keyword.control.anchor.text-boundary.regexp","match":"\\\\[yY]"},{"name":"constant.character.escape.misc.regexp","match":"\\\\."}]},"fixedGroups":{"patterns":[{"name":"meta.group-reference.reset.regexp","match":"(\\()(\\?[R0])(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.other.back-reference.regexp"},"3":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.group.scoped-modifiers.regexp","match":"(\\(\\?)((?:y{[\\w]+}|[-A-Za-z^])*)(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"patterns":[{"include":"#scopedModifiers"}]},"3":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.control-verb.regexp","match":"(\\(\\*)(\\w*)(?:([:=])([^\\s()]*))?(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.control.verb.regexp"},"3":{"name":"punctuation.separator.key-value.regexp"},"4":{"name":"variable.parameter.control-verb.regexp"},"5":{"name":"punctuation.definition.group.begin.regexp"}}},{"name":"meta.group-reference.named.regexp","match":"(\\()(\\?(?:\u0026|P[\u003e=]))(\\w+)(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.other.back-reference.regexp"},"3":{"name":"entity.group.name.regexp"},"4":{"name":"punctuation.definition.group.begin.regexp"}}},{"name":"meta.group-reference.relative.regexp","match":"(\\()(\\?[-+]\\d+)(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.other.back-reference.regexp"},"3":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.callout.regexp","match":"(\\()(\\?C\\d*)(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.control.callout.regexp"},"3":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.callout.regexp","match":"(?x)\n(\\(\\*)\n([_A-Za-z][_A-Za-z0-9]*) # Name\n((\\[)([_A-Za-z][_A-Za-z0-9]*)(\\])) # [tag]\n(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"entity.name.callout.regexp"},"3":{"name":"entity.name.tag.callout-tag.regexp"},"4":{"name":"punctuation.definition.callout-tag.begin.regexp"},"5":{"name":"callout-tag.constant.other.regexp"},"6":{"name":"punctuation.definition.callout-tag.end.regexp"},"7":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.absent-function.clear-range.regexp","match":"(\\()(\\?~)(\\|)(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.control.flow.regexp"},"3":{"name":"punctuation.separator.delimiter.pipe.regexp"},"4":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.absent-stopper.regexp","match":"(\\()(\\?~)(\\|)([^|\\)]*)(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.control.flow.regexp"},"3":{"name":"punctuation.separator.delimiter.pipe.regexp"},"4":{"name":"variable.parameter.absent-function.regexp","patterns":[{"include":"#main"}]},"5":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.absent-expression.regexp","match":"(?x)\n(\\()\n(\\?~)\n(\\|) ([^|\\)]*)\n(\\|) ([^|\\)]*)\n(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.control.flow.regexp"},"3":{"name":"punctuation.separator.delimiter.pipe.regexp"},"4":{"name":"variable.parameter.absent-function.regexp","patterns":[{"include":"#main"}]},"5":{"name":"punctuation.separator.delimiter.pipe.regexp"},"6":{"name":"variable.parameter.absent-function.regexp","patterns":[{"include":"#main"}]},"7":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.absent-repeater.regexp","match":"(\\()(\\?~)([^|\\)]*)(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.control.flow.regexp"},"3":{"name":"variable.parameter.absent-function.regexp","patterns":[{"include":"#main"}]},"4":{"name":"punctuation.definition.group.end.regexp"}}}]},"group":{"patterns":[{"include":"#fixedGroups"},{"name":"meta.group.named.regexp","begin":"\\(\\?(?=P?[\u003c'])","end":"\\)","patterns":[{"contentName":"entity.group.name.regexp","begin":"\\G(P?)(\u003c)","end":"\u003e","beginCaptures":{"1":{"name":"storage.type.function.named-group.regexp"},"2":{"name":"punctuation.definition.named-group.bracket.angle.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.named-group.bracket.angle.end.regexp"}}},{"contentName":"entity.group.name.regexp","begin":"\\G'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.named-group.quote.single.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.named-group.quote.single.end.regexp"}}},{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.group.non-capturing.regexp.extended","contentName":"source.embedded.regexp.extended","begin":"(\\(\\?)([A-Za-wyz]*x[A-Za-z]*[-A-Za-wyz]*)(:)","end":"\\)","patterns":[{"include":"source.regexp.extended#main"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"patterns":[{"include":"#scopedModifiers"}]},"3":{"name":"punctuation.separator.colon.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.group.non-capturing.regexp","begin":"(\\(\\?)((?:y{[\\w]+}|[-A-Za-z^])*)(:)","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"patterns":[{"include":"#scopedModifiers"}]},"3":{"name":"punctuation.separator.colon.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.group.atomic.regexp","begin":"\\(\\?\u003e","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.group.script-run.regexp","begin":"(\\(\\*)((?:atomic_)?script_run|a?sr)(:)","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.control.verb.regexp"},"3":{"name":"punctuation.separator.colon.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.group.callout.contents.regexp","begin":"(\\(\\?{1,2})({)","end":"(?x)\n(}) # Last closing bracket\n((\\[)([_A-Za-z][_A-Za-z0-9]*)(\\]))? # [tag]\n(X|\u003c|\u003e)? # Callout direction\n(?:[^\\)]*) # Silently skip unexpected characters\n(\\)) # Closing bracket","patterns":[{"include":"#calloutBrackets"},{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"punctuation.definition.bracket.curly.begin.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.bracket.curly.end.regexp"},"2":{"name":"entity.name.tag.callout-tag.regexp"},"3":{"name":"punctuation.definition.callout-tag.begin.regexp"},"4":{"name":"callout-tag.constant.other.regexp"},"5":{"name":"punctuation.definition.callout-tag.end.regexp"},"6":{"name":"constant.language.callout-direction.regexp"},"7":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.group.callout.regexp","begin":"(?x)\n(\\(\\*)\n([_A-Za-z][_A-Za-z0-9]*) # Name\n((\\[)([_A-Za-z][_A-Za-z0-9]*)(\\]))? # [tag]\n({)","end":"(?x)\n(})\n(?:[^\\)]*)\n(?:(\\))|(?=$))","patterns":[{"include":"#main"},{"name":"variable.parameter.argument.regexp","match":"[-\\w]+"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"entity.name.callout.regexp"},"3":{"name":"entity.name.tag.callout-tag.regexp"},"4":{"name":"punctuation.definition.callout-tag.begin.regexp"},"5":{"name":"callout-tag.constant.other.regexp"},"6":{"name":"punctuation.definition.callout-tag.end.regexp"},"7":{"name":"punctuation.definition.arguments.begin.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.regexp"},"2":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.absent-function.regexp","begin":"(\\()(\\?~)(\\|)","end":"\\)","patterns":[{"name":"punctuation.separator.delimiter.pipe.regexp","match":"\\|"},{"name":"variable.parameter.argument.regexp","match":"[-\\w]+"},{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"keyword.control.flow.regexp"},"3":{"name":"punctuation.separator.delimiter.pipe.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.group.empty.regexp","match":"(\\()(\\))","captures":{"1":{"name":"punctuation.definition.group.begin.regexp"},"2":{"name":"punctuation.definition.group.end.regexp"}}},{"name":"meta.group.regexp","begin":"\\(","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.begin.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.end.regexp"}}}]},"groupRefInnards":{"patterns":[{"name":"keyword.operator.arithmetic.minus.regexp","match":"\\-(?=\\d)"},{"name":"keyword.operator.arithmetic.plus.regexp","match":"\\+(?=\\d)"}]},"main":{"patterns":[{"include":"#comment"},{"include":"#variable"},{"include":"#anchor"},{"include":"#escape"},{"include":"#wildcard"},{"include":"#alternation"},{"include":"#quantifier"},{"include":"#assertion"},{"include":"#conditional"},{"include":"#group"},{"include":"#class"}]},"propInnards":{"patterns":[{"name":"keyword.operator.comparison.regexp","match":"="},{"name":"constant.language.boolean.${0:/downcase}.regexp","match":"True|False"}]},"quantifier":{"patterns":[{"include":"#quantifierSymbolic"},{"include":"#quantifierNumeric"}]},"quantifierNumeric":{"name":"keyword.operator.quantifier.specific.unescaped.regexp","match":"(\\{)(?:(\\d+)(,?)(\\d*)|(,)(\\d+))(\\})","captures":{"1":{"name":"punctuation.definition.quantifier.bracket.curly.begin.regexp"},"2":{"name":"keyword.operator.quantifier.min.regexp"},"3":{"name":"punctuation.delimiter.comma.regexp"},"4":{"name":"keyword.operator.quantifier.max.regexp"},"5":{"name":"punctuation.delimiter.comma.regexp"},"6":{"name":"keyword.operator.quantifier.max.regexp"},"7":{"name":"punctuation.definition.quantifier.bracket.curly.end.regexp"}}},"quantifierNumericOld":{"name":"keyword.operator.quantifier.specific.escaped.regexp","match":"(\\\\{)(?:(\\d+)(,?)(\\d*)|(,)(\\d+))(\\\\})","captures":{"1":{"name":"punctuation.definition.quantifier.bracket.curly.begin.regexp"},"2":{"name":"keyword.operator.quantifier.min.regexp"},"3":{"name":"punctuation.delimiter.comma.regexp"},"4":{"name":"keyword.operator.quantifier.max.regexp"},"5":{"name":"punctuation.delimiter.comma.regexp"},"6":{"name":"keyword.operator.quantifier.max.regexp"},"7":{"name":"punctuation.definition.quantifier.bracket.curly.end.regexp"}}},"quantifierSymbolic":{"name":"keyword.operator.quantifier.regexp","match":"[*+?]"},"scopedModifiers":{"patterns":[{"name":"meta.text-segment-mode.regexp","match":"(y)({)(\\w+)(})","captures":{"1":{"name":"storage.modifier.flag.y.regexp"},"2":{"name":"punctuation.definition.option.bracket.curly.begin.regexp"},"3":{"name":"variable.parameter.option-mode.regexp"},"4":{"name":"punctuation.definition.option.bracket.curly.end.regexp"}}},{"name":"keyword.operator.modifier.reset.regexp","match":"(?:(?\u003c=\\?)|\\G|^)\\^"},{"name":"keyword.operator.modifier.negate.regexp","match":"-"},{"name":"storage.modifier.flag.$0.regexp","match":"[A-Za-z]"}]},"variable":{"patterns":[{"name":"variable.other.regexp","match":"(?\u003c![^\\\\]\\\\|^\\\\)\\$(?!\\d|-)[-\\w]+","captures":{"1":{"name":"punctuation.definition.variable.regexp"}}},{"name":"variable.other.bracket.regexp","match":"(?\u003c![^\\\\]\\\\|^\\\\)(\\$\\{)\\s*(?!\\d|-)[-\\w]+\\s*(\\})","captures":{"1":{"name":"punctuation.definition.variable.begin.regexp"},"2":{"name":"punctuation.definition.variable.end.regexp"}}}]},"wildcard":{"name":"constant.character.wildcard.dot.match.any.regexp","match":"\\."}}}
@@ -0,0 +1 @@
1
+ {"name":"Regular Expressions (Oniguruma)","scopeName":"source.regexp.oniguruma","patterns":[{"name":"keyword.control.anchor.regexp","match":"\\\\[bBAZzG]|\\^|\\$"},{"name":"constant.character.numeric.regexp","match":"\\\\([0-7]{3}|x([[:xdigit:]][[:xdigit:]]|\\{[[:xdigit:]]{,8}\\}))"},{"name":"keyword.other.back-reference.regexp","match":"\\\\[1-9]\\d*"},{"name":"keyword.other.back-reference.named.regexp","match":"(\\\\k\\\u003c)([a-z]\\w*)(\\\u003e)","captures":{"1":{"name":"keyword.other.back-reference.named.regexp"},"2":{"name":"entity.name.section.back-reference"},"3":{"name":"keyword.other.back-reference.named.regexp"}}},{"name":"constant.other.character-class.posix.regexp","match":"\\[\\:(\\^)?(alnum|alpha|ascii|blank|cntrl|x?digit|graph|lower|print|punct|space|upper)\\]"},{"name":"keyword.operator.quantifier.regexp","match":"[?+*][?+]?|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??"},{"name":"keyword.operator.or.regexp","match":"\\|"},{"name":"comment.block.regexp","begin":"\\(\\?\\#","end":"\\)"},{"name":"comment.line.number-sign.regexp","match":"(?\u003c=^|\\s)#\\s[[a-zA-Z0-9,. \\t?!-:][^\\x{00}-\\x{7F}]]*$"},{"name":"keyword.other.option-toggle.regexp","match":"\\(\\?[imx-]+\\)"},{"name":"meta.group.assertion.regexp","begin":"(\\()((\\?=)|(\\?!)|(\\?\u003c=)|(\\?\u003c!))","end":"(\\))","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"3":{"name":"meta.assertion.look-ahead.regexp"},"4":{"name":"meta.assertion.negative-look-ahead.regexp"},"5":{"name":"meta.assertion.look-behind.regexp"},"6":{"name":"meta.assertion.negative-look-behind.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.group.regexp"}}},{"name":"meta.group.regexp","begin":"(\\()((\\?(\u003e|[imx-]*:))|(\\?\u003c)([a-z]\\w*)(\u003e))?","end":"(\\))","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"3":{"name":"keyword.other.group-options.regexp"},"5":{"name":"keyword.other.group-options.regexp"},"6":{"name":"entity.name.section.group.regexp"},"7":{"name":"keyword.other.group-options.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.group.regexp"}}},{"include":"#character-class"}],"repository":{"character-class":{"patterns":[{"name":"constant.character.character-class.regexp","match":"\\\\[wWsSdDhH]|\\."},{"name":"constant.character.escape.backslash.regexp","match":"\\\\."},{"name":"constant.other.character-class.set.regexp","begin":"(\\[)(\\^)?","end":"(\\])","patterns":[{"include":"#character-class"},{"name":"constant.other.character-class.range.regexp","match":"(.|(\\\\.))\\-([^\\]]|(\\\\.))","captures":{"2":{"name":"constant.character.escape.backslash.regexp"},"4":{"name":"constant.character.escape.backslash.regexp"}}},{"name":"keyword.operator.intersection.regexp","match":"\u0026\u0026"}],"beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}}}]}}}
@@ -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))\\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))\\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 +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|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|alpha|alternate|alternate_keysym|arguments|arrowkeys|at|auto|cache|caption|changed|child_size|clicked|cols|copypaste|default|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|id|idle|image_style|insensitive|keysym|layer|length|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|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|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_first|focus_mask|font|foreground|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|maximum|maxsize|min_width|minimum|minwidth|mouse|nearest|newline_indent|offset|order_reverse|outline_scaling|outlines|padding|pos|radius|rest_indent|right_bar|right_gutter|right_margin|right_padding|rotate|rotate_pad|ruby_style|size|size_group|slow_abortable|slow_cps|slow_cps_multiplier|sound|spacing|strikethrough|subpixel|text_align|text_y_fudge|thumb|thumb_offset|thumb_shadow|tooltip|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))\\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|mouse|offset|pos|right_bar|right_gutter|thumb|thumb_offset|thumb_shadow|tooltip|top_bar|top_gutter|unscrollable|xalign|xanchor|xcenter|xfill|xmaximum|xoffset|xpos|xsize|xysize|yalign|yanchor|ycenter|yfill|ymaximum|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|offset|pos|spacing|tooltip|xalign|xanchor|xcenter|xfill|xmaximum|xoffset|xpos|xsize|xysize|yalign|yanchor|ycenter|yfill|ymaximum|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|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|tooltip|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|offset|pos|tooltip|xalign|xanchor|xcenter|xfill|xmaximum|xoffset|xpos|xsize|xysize|yalign|yanchor|ycenter|yfill|ymaximum|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)\\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 +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"}}}]},"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"}],"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"}],"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_]*"}]}}}