grammars/source.renpy.json in github-linguist-7.11.1 vs grammars/source.renpy.json in github-linguist-7.12.0
- old
+ new
@@ -1,1948 +2 @@
-{
- "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"
- }
- ]
- }
- }
-}
+{"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"}]}}}