github-linguist 6.0.1 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/annotation.liquidhaskell.haskell.json +13 -4
  3. data/grammars/hint.haskell.json +13 -4
  4. data/grammars/hint.message.haskell.json +13 -4
  5. data/grammars/hint.type.haskell.json +13 -4
  6. data/grammars/source.angelscript.json +1 -1
  7. data/grammars/source.ballerina.json +25 -2
  8. data/grammars/source.batchfile.json +69 -38
  9. data/grammars/source.c.json +1 -1
  10. data/grammars/source.clarion.json +4 -4
  11. data/grammars/source.cs.json +3952 -780
  12. data/grammars/source.elixir.json +7 -7
  13. data/grammars/source.fortran.json +38 -35
  14. data/grammars/source.fortran.modern.json +6 -6
  15. data/grammars/source.graphql.json +55 -2
  16. data/grammars/source.haskell.json +13 -4
  17. data/grammars/source.hsig.json +13 -4
  18. data/grammars/source.hx.json +2309 -0
  19. data/grammars/source.hxml.json +37 -5
  20. data/grammars/source.isabelle.theory.json +7 -7
  21. data/grammars/source.js.json +39 -54
  22. data/grammars/source.js.regexp.json +11 -5
  23. data/grammars/source.julia.json +16 -5
  24. data/grammars/{source.Kotlin.json → source.kotlin.json} +118 -33
  25. data/grammars/source.mathematica.json +0 -1
  26. data/grammars/source.meson.json +4 -0
  27. data/grammars/source.mupad.json +36 -12
  28. data/grammars/source.netlinx.erb.json +1 -2
  29. data/grammars/source.netlinx.json +0 -3
  30. data/grammars/source.nextflow.json +7 -7
  31. data/grammars/source.perl.json +1 -1
  32. data/grammars/source.renpy.json +436 -648
  33. data/grammars/source.scala.json +133 -87
  34. data/grammars/source.sed.json +1520 -0
  35. data/grammars/source.shell.json +17 -17
  36. data/grammars/source.solidity.json +1 -1
  37. data/grammars/source.swift.json +1 -1
  38. data/grammars/source.terraform.json +1 -1
  39. data/grammars/source.ts.json +493 -122
  40. data/grammars/source.tsx.json +568 -191
  41. data/grammars/source.x86.json +295 -0
  42. data/grammars/source.yaml.json +41 -21
  43. data/grammars/source.yara.json +1 -1
  44. data/grammars/text.haml.json +15 -0
  45. data/grammars/text.html.creole.json +1 -1
  46. data/grammars/text.html.php.blade.json +2 -2
  47. data/grammars/text.html.php.json +55 -134
  48. data/grammars/text.html.smarty.json +25 -1
  49. data/grammars/text.html.vue.json +0 -6
  50. data/grammars/text.restructuredtext.json +110 -17
  51. data/grammars/text.tex.latex.haskell.json +13 -4
  52. data/lib/linguist/documentation.yml +1 -0
  53. data/lib/linguist/generated.rb +9 -1
  54. data/lib/linguist/heuristics.rb +2 -0
  55. data/lib/linguist/language.rb +0 -8
  56. data/lib/linguist/languages.json +1 -1
  57. data/lib/linguist/languages.yml +103 -7
  58. data/lib/linguist/linguist.bundle +0 -0
  59. data/lib/linguist/samples.json +1221 -262
  60. data/lib/linguist/shebang.rb +7 -4
  61. data/lib/linguist/strategy/extension.rb +15 -2
  62. data/lib/linguist/strategy/filename.rb +15 -2
  63. data/lib/linguist/vendor.yml +7 -0
  64. data/lib/linguist/version.rb +1 -1
  65. metadata +17 -19
  66. data/grammars/source.erazor.json +0 -118
  67. data/grammars/source.haxe.2.json +0 -1267
  68. data/grammars/source.hss.1.json +0 -442
  69. data/grammars/source.nmml.json +0 -81
  70. data/grammars/source.sbt.json +0 -39
@@ -318,7 +318,6 @@
318
318
  {
319
319
  "include": "$self"
320
320
  },
321
- {},
322
321
  {
323
322
  "name": "punctuation.separator.list.mathematica",
324
323
  "match": ","
@@ -25,6 +25,10 @@
25
25
  "name": "constant.numeric.float.meson",
26
26
  "match": "\\b([1-9]+[0-9]*\\.[0-9]*)"
27
27
  },
28
+ {
29
+ "name": "constant.numeric.integer.hexadecimal.meson",
30
+ "match": "\\b(?i:(0x[0-9a-f]+))"
31
+ },
28
32
  {
29
33
  "name": "constant.numeric.integer.decimal.meson",
30
34
  "match": "\\b([1-9]+[0-9]*|0)"
@@ -2,13 +2,48 @@
2
2
  "name": "MuPAD",
3
3
  "scopeName": "source.mupad",
4
4
  "patterns": [
5
+ {
6
+ "name": "comment.line.double-slash.mupad",
7
+ "begin": "//",
8
+ "end": "$",
9
+ "patterns": [
10
+ {}
11
+ ]
12
+ },
13
+ {
14
+ "include": "#blockcomment"
15
+ },
5
16
  {
6
17
  "name": "keyword.control.mupad",
7
18
  "match": "\\b(axiom|end_axiom|category|end_category|begin|break|case|do|downto|elif|else|end_case|end_for|end_if|end_proc|end_repeat|end_while|for|from|if|%if|local|name|next|of|option|otherwise|proc|quit|repeat|save|step|then|to|until|while|domain|end|inherits|end_domain)\\b"
8
19
  },
9
20
  {
10
21
  "name": "keyword.operator.mupad",
11
- "match": "\\b(and|div|in|intersect|minus|mod|not|or|union|xor|-\u003e|--\u003e|\\+|-|\\*|/|\u003e|\u003c|\u003c\u003e|=|\u003c=\u003e|\u003c==|==\u003e|\\|)\\b"
22
+ "match": "\\b(intersect|minus|union)\\b|-\u003e|--\u003e|\\."
23
+ },
24
+ {
25
+ "name": "keyword.operator.arithmetic.mupad",
26
+ "match": "\\b(div|mod)\\b|\\+|-|\\*|/|\\^|\\|"
27
+ },
28
+ {
29
+ "name": "keyword.operator.logical.mupad",
30
+ "match": "\\b(and|in|not|or|xor)\\b|\u003e|\u003c|\u003c\u003e|=|\u003c=\u003e|\u003c==|==\u003e|\\|\\||\u0026\u0026"
31
+ },
32
+ {
33
+ "name": "keyword.operator.assignment.mupad",
34
+ "match": ":="
35
+ },
36
+ {
37
+ "name": "punctuation.accessor.mupad",
38
+ "match": "::"
39
+ },
40
+ {
41
+ "name": "punctuation.terminator.mupad",
42
+ "match": ";"
43
+ },
44
+ {
45
+ "name": "punctuation.separator.mupad",
46
+ "match": ","
12
47
  },
13
48
  {
14
49
  "name": "constant.language.mupad",
@@ -58,17 +93,6 @@
58
93
  "name": "constant.numeric.mupad",
59
94
  "match": "\\b(([0-9]+\\.?[0-9]*)((e|E)(\\+|-)?[0-9]+)?)\\b"
60
95
  },
61
- {
62
- "name": "comment.line.double-slash.mupad",
63
- "begin": "//",
64
- "end": "$",
65
- "patterns": [
66
- {}
67
- ]
68
- },
69
- {
70
- "include": "#blockcomment"
71
- },
72
96
  {
73
97
  "name": "string.quoted.double.mupad",
74
98
  "begin": "\"",
@@ -17,8 +17,7 @@
17
17
  "patterns": [
18
18
  {
19
19
  "include": "source.ruby"
20
- },
21
- {}
20
+ }
22
21
  ],
23
22
  "beginCaptures": {
24
23
  "0": {
@@ -163,9 +163,6 @@
163
163
  {
164
164
  "include": "#preprocessor-rule-other-block"
165
165
  },
166
- {
167
- "include": "#sizeof"
168
- },
169
166
  {
170
167
  "include": "#access"
171
168
  },
@@ -8,7 +8,7 @@
8
8
  ],
9
9
  "repository": {
10
10
  "code-block": {
11
- "name": "support.code.block.nextflow",
11
+ "name": "code.block.nextflow",
12
12
  "begin": "{",
13
13
  "end": "}",
14
14
  "patterns": [
@@ -31,16 +31,16 @@
31
31
  ]
32
32
  },
33
33
  "process-body": {
34
- "name": "support.process.body.nextflow",
34
+ "name": "process.body.nextflow",
35
35
  "begin": "{",
36
36
  "end": "(?=})",
37
37
  "patterns": [
38
38
  {
39
- "name": "support.process.directive.type.nextflow",
39
+ "name": "process.directive.type.nextflow",
40
40
  "match": "(?:afterScript|beforeScript|cache|container|cpus|clusterOptions|disk|echo|errorStrategy|executor|ext|maxErrors|maxForks|maxRetries|memory|module|penv|publishDir|queue|scratch|storeDir|stageInMode|stageOutMode|tag|time|validExitStatus)\\b"
41
41
  },
42
42
  {
43
- "name": "support.constant.block.nextflow",
43
+ "name": "constant.block.nextflow",
44
44
  "match": "(?:input|output|script|shell|exec):"
45
45
  },
46
46
  {
@@ -73,7 +73,7 @@
73
73
  ]
74
74
  },
75
75
  "process-def": {
76
- "name": "support.process.nextflow",
76
+ "name": "process.nextflow",
77
77
  "begin": "^\\s*(process)\\s+(\\w+|\"[^\"]+\"|'[^']+')\\s*",
78
78
  "end": "}",
79
79
  "patterns": [
@@ -83,10 +83,10 @@
83
83
  ],
84
84
  "beginCaptures": {
85
85
  "1": {
86
- "name": "support.keyword.nextflow"
86
+ "name": "keyword.nextflow"
87
87
  },
88
88
  "2": {
89
- "name": "support.function.nextflow"
89
+ "name": "function.nextflow"
90
90
  }
91
91
  }
92
92
  }
@@ -310,7 +310,7 @@
310
310
  },
311
311
  {
312
312
  "name": "string.regexp.find-m.simple-delimiter.perl",
313
- "begin": "(?\u003c!\\{|\\+|\\-)(m)(?!_)\\s*([^\\sa-zA-Z0-9'\\{\\[\\(\\\u003c])",
313
+ "begin": "\\G(?\u003c!\\{|\\+|\\-)(m)(?!_)\\s*([^\\sa-zA-Z0-9'\\{\\[\\(\\\u003c])",
314
314
  "end": "\\2",
315
315
  "patterns": [
316
316
  {
@@ -7,67 +7,67 @@
7
7
  "end": "(?!\\G)",
8
8
  "patterns": [
9
9
  {
10
- "name": "comment.line.number-sign.python",
10
+ "name": "comment.line.number-sign.python.renpy",
11
11
  "begin": "#",
12
12
  "end": "\\n",
13
13
  "beginCaptures": {
14
14
  "0": {
15
- "name": "punctuation.definition.comment.python"
15
+ "name": "punctuation.definition.comment.python.renpy"
16
16
  }
17
17
  }
18
18
  }
19
19
  ],
20
20
  "beginCaptures": {
21
21
  "1": {
22
- "name": "punctuation.whitespace.comment.leading.python"
22
+ "name": "punctuation.whitespace.comment.leading.python.renpy"
23
23
  }
24
24
  }
25
25
  },
26
26
  {
27
- "name": "constant.numeric.integer.long.hexadecimal.python",
27
+ "name": "constant.numeric.integer.long.hexadecimal.python.renpy",
28
28
  "match": "\\b(?i:(0x[[:xdigit:]]*)L)"
29
29
  },
30
30
  {
31
- "name": "constant.numeric.integer.hexadecimal.python",
31
+ "name": "constant.numeric.integer.hexadecimal.python.renpy",
32
32
  "match": "\\b(?i:(0x[[:xdigit:]]*))"
33
33
  },
34
34
  {
35
- "name": "constant.numeric.integer.long.octal.python",
35
+ "name": "constant.numeric.integer.long.octal.python.renpy",
36
36
  "match": "\\b(?i:(0[0-7]+)L)"
37
37
  },
38
38
  {
39
- "name": "constant.numeric.integer.octal.python",
39
+ "name": "constant.numeric.integer.octal.python.renpy",
40
40
  "match": "\\b(0[0-7]+)"
41
41
  },
42
42
  {
43
- "name": "constant.numeric.complex.python",
43
+ "name": "constant.numeric.complex.python.renpy",
44
44
  "match": "\\b(?i:(((\\d+(\\.(?=[^a-zA-Z_])\\d*)?|(?\u003c=[^0-9a-zA-Z_])\\.\\d+)(e[\\-\\+]?\\d+)?))J)"
45
45
  },
46
46
  {
47
- "name": "constant.numeric.float.python",
47
+ "name": "constant.numeric.float.python.renpy",
48
48
  "match": "\\b(?i:(\\d+\\.\\d*(e[\\-\\+]?\\d+)?))(?=[^a-zA-Z_])"
49
49
  },
50
50
  {
51
- "name": "constant.numeric.float.python",
51
+ "name": "constant.numeric.float.python.renpy",
52
52
  "match": "(?\u003c=[^0-9a-zA-Z_])(?i:(\\.\\d+(e[\\-\\+]?\\d+)?))"
53
53
  },
54
54
  {
55
- "name": "constant.numeric.float.python",
55
+ "name": "constant.numeric.float.python.renpy",
56
56
  "match": "\\b(?i:(\\d+e[\\-\\+]?\\d+))"
57
57
  },
58
58
  {
59
- "name": "constant.numeric.integer.long.decimal.python",
59
+ "name": "constant.numeric.integer.long.decimal.python.renpy",
60
60
  "match": "\\b(?i:([1-9]+[0-9]*|0)L)"
61
61
  },
62
62
  {
63
- "name": "constant.numeric.integer.decimal.python",
63
+ "name": "constant.numeric.integer.decimal.python.renpy",
64
64
  "match": "\\b([1-9]+[0-9]*|0)"
65
65
  },
66
66
  {
67
67
  "match": "\\b(global)\\b",
68
68
  "captures": {
69
69
  "1": {
70
- "name": "storage.modifier.global.python"
70
+ "name": "storage.modifier.global.python.renpy"
71
71
  }
72
72
  }
73
73
  },
@@ -75,7 +75,7 @@
75
75
  "match": "\\b(nonlocal)\\b",
76
76
  "captures": {
77
77
  "1": {
78
- "name": "storage.modifier.nonlocal.python"
78
+ "name": "storage.modifier.nonlocal.python.renpy"
79
79
  }
80
80
  }
81
81
  },
@@ -83,200 +83,133 @@
83
83
  "match": "\\b(?:(import)|(from))\\b",
84
84
  "captures": {
85
85
  "1": {
86
- "name": "keyword.control.import.python"
86
+ "name": "keyword.control.import.python.renpy"
87
87
  },
88
88
  "2": {
89
- "name": "keyword.control.import.from.python"
89
+ "name": "keyword.control.import.from.python.renpy"
90
90
  }
91
91
  }
92
92
  },
93
93
  {
94
- "name": "keyword.control.conditional.python",
94
+ "name": "keyword.control.conditional.python.renpy",
95
95
  "match": "\\b(if|elif|else)\\b"
96
96
  },
97
97
  {
98
- "name": "keyword.control.exception.python",
98
+ "name": "keyword.control.exception.python.renpy",
99
99
  "match": "\\b(except|finally|try|raise)\\b"
100
100
  },
101
101
  {
102
- "name": "keyword.control.repeat.python",
102
+ "name": "keyword.control.repeat.python.renpy",
103
103
  "match": "\\b(for|while)\\b"
104
104
  },
105
105
  {
106
- "name": "keyword.control.statement.python",
107
- "match": "\\b(function|nvl|block|choice|parallel|contains|on|voice|imagemap|hotspot|text|frame|textbutton|grid|add|key|use|bar|with|is|button|window|hbox|vbox|mousearea|imagebutton)\\b"
108
- },
109
- {
110
- "name": "support.type.screen.renpy",
111
- "match": "\\b(kind|color|action|area|hovered|unhovered|clicked|modal|text_style|has|who|what|tag|value|theme)\\b"
112
- },
113
- {
114
- "name": "support.type.transform.renpy",
115
- "match": "\\b(repeat|fadein|fadeout|position|Position|easein|easeout|time|ui)\\b"
116
- },
117
- {
118
- "name": "support.type.other.renpy",
119
- "match": "\\b(MultiPersistent|Character|DynamicCharacter|music|sound|movie|pause|Transform|clear)\\b"
120
- },
121
- {
122
- "name": "invalid.deprecated.operator.renpy",
123
- "match": "\\$"
106
+ "match": "\\b(assert|del|exec|print)\\b",
107
+ "captures": {
108
+ "1": {
109
+ "name": "keyword.other.python.renpy"
110
+ }
111
+ }
124
112
  },
125
113
  {
126
- "name": "keyword.control.statement.python",
127
- "match": "\\b(return|pass|break|continue|yield)\\b"
114
+ "name": "invalid.deprecated.operator.python.renpy",
115
+ "match": "\u003c\u003e"
128
116
  },
129
117
  {
130
- "name": "support.type.objects.renpy",
131
- "match": "\\b(renpy|store|persistent|config|build)\\b"
118
+ "name": "keyword.operator.comparison.python.renpy",
119
+ "match": "\u003c\\=|\u003e\\=|\\=\\=|\u003c|\u003e|\\!\\="
132
120
  },
133
121
  {
134
- "name": "support.type.python.renpy",
135
- "match": "\\b(python)\\b"
122
+ "name": "keyword.operator.assignment.augmented.python.renpy",
123
+ "match": "\\+\\=|-\\=|\\*\\=|/\\=|//\\=|%\\=|\u0026\\=|\\|\\=|\\^\\=|\u003e\u003e\\=|\u003c\u003c\\=|\\*\\*\\="
136
124
  },
137
125
  {
138
- "name": "keyword.control.statement.init.renpy",
139
- "match": "\\b(init)\\b"
126
+ "name": "keyword.operator.arithmetic.python.renpy",
127
+ "match": "\\+|\\-|\\*|\\*\\*|/|//|%|\u003c\u003c|\u003e\u003e|\u0026|\\||\\^|~"
140
128
  },
141
129
  {
142
- "name": "support.type.transition.renpy",
143
- "match": "\\b(Solid|AlphaDissolve|ComposeTransition|CropMove|Dissolve|Fade|ImageDissolve|MoveTransition|MultipleTransition|Pause|Pixellate|move_transitions)\\b"
130
+ "name": "keyword.operator.assignment.python.renpy",
131
+ "match": "\\="
144
132
  },
145
133
  {
146
- "match": "\\s+(with)\\s+\\b(fade|dissolve|pixellate|move|moveinright|moveinleft|moveintop|moveinbottom|moveoutright|moveoutleft|moveouttop|moveoutbottom|ease|easeinright|easeinleft|easeintop|easeinbottom|easeoutright|easeoutleft|easeouttop|easeoutbottom|zoomin|zoomout|zoominout|vpunch|hpunch|blinds|squares|wipeleft|wiperight|wipeup|wipedown|slideleft|slideright|slideup|slidedown|slideawayleft|slideawayright|slideawayup|slideawaydown|irisin|irisout)\\b",
134
+ "match": "^\\s*(label)\\s*([a-zA-Z_][a-zA-Z_0-9]*)",
147
135
  "captures": {
148
136
  "1": {
149
- "name": "keyword.control.statement.with.renpy"
137
+ "name": "keyword.python.renpy"
150
138
  },
151
139
  "2": {
152
- "name": "support.type.transition.renpy"
140
+ "name": "entity.name.section.python.renpy.label.renpy"
153
141
  }
154
142
  }
155
143
  },
156
144
  {
157
- "name": "support.type.transform.renpy",
158
- "match": "\\b(linear|top_margin|ymargin|xsize|ysize|yminimum|xminimum|ymaximum|xmaximum|transpose|insensitive|selected_idle|selected_hover|ground|idle|hover|focus_mask|hover_sound|activate_sound|style|spacing|text_align|size_group|layout|style_group|background|ypadding|xpadding|idle_color|hover_color|selected_idle_color|selected_hover_color|insensitive_color|xfill|xmargin|pos|xpos|ypos|anchor|xanchor|yanchor|align|xalign|yalign|xoffset|yoffset|xcenter|ycenter|rotate|rotate_pad|transform_anchor|zoom|xzoom|yzoom|nearest|alpha|additive|around|alignaround|angle|radius|crop|crop_relative|corner1|corner2|size|subpixel|delay|events)\\b"
159
- },
160
- {
161
- "name": "support.type.movie.renpy",
162
- "match": "\\b(Movie|movie_cutscene)\\b"
163
- },
164
- {
165
- "name": "keyword.control.statement.python",
166
- "match": "\\b(play|queue|stop)\\b"
167
- },
168
- {
169
- "match": "(\\s*\\.\\s*)(music|sound)\\s*\\.\\s*(play|seen_audio|get_duration|get_pause|get_playing|get_pos|is_playing|queue|register_channel|set_pan|set_pause|set_queue_empty_callback|set_volume|stop|loop|noloop)\\b",
145
+ "match": "^\\s*(menu)\\s*([a-zA-Z_][a-zA-Z_0-9]*)",
170
146
  "captures": {
171
- "2": {
172
- "name": "support.type.music.renpy"
147
+ "1": {
148
+ "name": "keyword.python.renpy"
173
149
  },
174
- "3": {
175
- "name": "entity.name.function.images.renpy"
150
+ "2": {
151
+ "name": "entity.name.section.python.renpy.menu.renpy"
176
152
  }
177
153
  }
178
154
  },
179
155
  {
180
- "match": "(\\s*\\.\\s*)(play|seen_audio)\\b",
156
+ "match": "^\\s*(screen)\\s*([a-zA-Z_][a-zA-Z_0-9]*)",
181
157
  "captures": {
158
+ "1": {
159
+ "name": "keyword.python.renpy"
160
+ },
182
161
  "2": {
183
- "name": "entity.name.function.images.renpy"
162
+ "name": "entity.name.class.python.renpy.screen.renpy"
184
163
  }
185
164
  }
186
165
  },
187
166
  {
188
- "name": "support.type.show.renpy",
189
- "match": "\\b(as|at|behind|onlayer|zorder|expression)\\b"
190
- },
191
- {
192
- "match": "(\\s*\\.\\s*)(can_show|copy_images|get_available_image_attributes|get_available_image_tags|get_image_bounds|get_placement|get_showing_tags|has_image|image_exists|seen_image|showing|start_predict|stop_predict)\\b",
167
+ "match": "^\\s*(image)\\s+([a-zA-Z_0-9 ]*)",
193
168
  "captures": {
169
+ "1": {
170
+ "name": "keyword.python.renpy"
171
+ },
194
172
  "2": {
195
- "name": "entity.name.function.images.renpy"
173
+ "name": "entity.name.class.image.python.renpy"
196
174
  }
197
175
  }
198
176
  },
199
177
  {
200
- "name": "support.type.action.renpy",
201
- "match": "\\b(Hide|Jump|NullAction|Return|Show|ShowTransient)\\b"
202
- },
203
- {
204
- "name": "support.type.action.renpy",
205
- "match": "\\b(SetDict|SetField|SetScreenVariable|SetVariable|ToggleDict|ToggleField|ToggleScreenVariable|ToggleVariable)\\b"
206
- },
207
- {
208
- "name": "support.type.action.renpy",
209
- "match": "\\b(MainMenu|Quit|ShowMenu|Start)\\b"
210
- },
211
- {
212
- "name": "support.type.action.renpy",
213
- "match": "\\b(FileAction|FileDelete|FileLoad|FilePage|FilePageNext|FilePagePrevious|FileSave|FileTakeScreenShot|QuickLoad|QuickSave)\\b"
214
- },
215
- {
216
- "name": "support.type.action.renpy",
217
- "match": "\\b(Play|Queue|SetMixer|Stop)\\b"
218
- },
219
- {
220
- "name": "support.type.other.renpy",
221
- "match": "\\b(Preference|Function|Help|HideInterface|If|InvertSelected|MouseMove|Notify|OpenURL|RollForward|Rollback|ScreenShot|SelectedIf|Skip|With)\\b"
222
- },
223
- {
224
- "name": "entity.name.function.translation.renpy",
225
- "match": "(?:\\s+)\\b(new)\\b"
226
- },
227
- {
228
- "name": "keyword.operator.logical.translation.renpy",
229
- "match": "(?:\\s+)\\b(old)\\b"
230
- },
231
- {
232
- "match": "^\\b(translate)\\b\\s\\b([a-zA-z0-9_]+)\\b\\s\\b(strings)\\b",
178
+ "match": "^\\s*(transform)\\s+([a-zA-Z_][a-zA-Z_0-9]*)",
233
179
  "captures": {
234
180
  "1": {
235
- "name": "keyword.operator.logical.translation.renpy"
181
+ "name": "keyword.python.renpy"
236
182
  },
237
183
  "2": {
238
- "name": "entity.name.function.translation.renpy"
239
- },
240
- "3": {
241
- "name": "support.type.translation.renpy"
184
+ "name": "entity.name.section.python.renpy.transform.renpy"
242
185
  }
243
186
  }
244
187
  },
245
188
  {
246
- "name": "keyword.operator.logical.python",
247
- "match": "\\b(and|in|is|not|or)\\b"
248
- },
249
- {
250
- "match": "\\b(assert|del|exec|print)\\b",
189
+ "match": "^\\s*(style)\\s+([a-zA-Z_][a-zA-Z_0-9]*)",
251
190
  "captures": {
252
191
  "1": {
253
- "name": "keyword.other.python"
192
+ "name": "keyword.python.renpy"
193
+ },
194
+ "2": {
195
+ "name": "entity.name.tag.python.renpy.style.renpy"
254
196
  }
255
197
  }
256
198
  },
257
199
  {
258
- "name": "invalid.deprecated.operator.python",
259
- "match": "\u003c\u003e"
260
- },
261
- {
262
- "name": "keyword.operator.comparison.python",
263
- "match": "\u003c\\=|\u003e\\=|\\=\\=|\u003c|\u003e|\\!\\="
264
- },
265
- {
266
- "name": "keyword.operator.assignment.augmented.python",
267
- "match": "\\+\\=|-\\=|\\*\\=|/\\=|//\\=|%\\=|\u0026\\=|\\|\\=|\\^\\=|\u003e\u003e\\=|\u003c\u003c\\=|\\*\\*\\="
268
- },
269
- {
270
- "name": "keyword.operator.arithmetic.python",
271
- "match": "\\+|\\-|\\*|\\*\\*|/|//|%|\u003c\u003c|\u003e\u003e|\u0026|\\||\\^|~"
272
- },
273
- {
274
- "name": "keyword.operator.assignment.python",
275
- "match": "\\="
200
+ "match": "^\\s*(define|default)\\s+([a-zA-Z_0-9\\.]*)",
201
+ "captures": {
202
+ "1": {
203
+ "name": "keyword.python.renpy"
204
+ },
205
+ "2": {
206
+ "name": "meta.definition.variable.python.renpy.renpy"
207
+ }
208
+ }
276
209
  },
277
210
  {
278
- "name": "meta.class.old-style.python",
279
- "contentName": "entity.name.type.class.python",
211
+ "name": "meta.class.old-style.python.renpy",
212
+ "contentName": "entity.name.type.class.python.renpy",
280
213
  "begin": "^\\s*(class)\\s+(?=[a-zA-Z_][a-zA-Z_0-9]*\\s*\\:)",
281
214
  "end": "\\s*(:)",
282
215
  "patterns": [
@@ -286,82 +219,22 @@
286
219
  ],
287
220
  "beginCaptures": {
288
221
  "1": {
289
- "name": "storage.type.class.python"
222
+ "name": "storage.type.class.python.renpy"
290
223
  }
291
224
  },
292
225
  "endCaptures": {
293
226
  "1": {
294
- "name": "punctuation.section.class.begin.python"
227
+ "name": "punctuation.section.class.begin.python.renpy"
295
228
  }
296
229
  }
297
230
  },
298
231
  {
299
- "name": "meta.class.python",
232
+ "name": "meta.class.python.renpy",
300
233
  "begin": "^\\s*(class)\\s+(?=[a-zA-Z_][a-zA-Z_0-9]*\\s*\\()",
301
234
  "end": "(\\))\\s*(?:(\\:)|(.*$\\n?))",
302
235
  "patterns": [
303
236
  {
304
- "contentName": "entity.name.type.class.python",
305
- "begin": "(?=[A-Za-z_][A-Za-z0-9_]*)",
306
- "end": "(?![A-Za-z0-9_])",
307
- "patterns": [
308
- {
309
- "include": "#entity_name_class"
310
- }
311
- ]
312
- },
313
- {
314
- "contentName": "meta.class.inheritance.python",
315
- "begin": "(\\()",
316
- "end": "(?=\\)|:)",
317
- "patterns": [
318
- {
319
- "contentName": "entity.other.inherited-class.python",
320
- "begin": "(?\u003c=\\(|,)\\s*",
321
- "end": "\\s*(?:(,)|(?=\\)))",
322
- "patterns": [
323
- {
324
- "include": "$self"
325
- }
326
- ],
327
- "endCaptures": {
328
- "1": {
329
- "name": "punctuation.separator.inheritance.python"
330
- }
331
- }
332
- }
333
- ],
334
- "beginCaptures": {
335
- "1": {
336
- "name": "punctuation.definition.inheritance.begin.python"
337
- }
338
- }
339
- }
340
- ],
341
- "beginCaptures": {
342
- "1": {
343
- "name": "storage.type.class.python"
344
- }
345
- },
346
- "endCaptures": {
347
- "1": {
348
- "name": "punctuation.definition.inheritance.end.python"
349
- },
350
- "2": {
351
- "name": "punctuation.section.class.begin.python"
352
- },
353
- "3": {
354
- "name": "invalid.illegal.missing-section-begin.python"
355
- }
356
- }
357
- },
358
- {
359
- "name": "meta.class.python",
360
- "begin": "^\\s*((jump)|(call)|(screen)|(label)|(menu)|(transform))\\s+(?=[a-zA-Z_][a-zA-Z_0-9]*\\s*)",
361
- "end": "(\\n|\\()|\\:",
362
- "patterns": [
363
- {
364
- "contentName": "entity.name.type.class.python",
237
+ "contentName": "entity.name.type.class.python.renpy",
365
238
  "begin": "(?=[A-Za-z_][A-Za-z0-9_]*)",
366
239
  "end": "(?![A-Za-z0-9_])",
367
240
  "patterns": [
@@ -371,72 +244,12 @@
371
244
  ]
372
245
  },
373
246
  {
374
- "contentName": "meta.class.inheritance.python",
247
+ "contentName": "meta.class.inheritance.python.renpy",
375
248
  "begin": "(\\()",
376
249
  "end": "(?=\\)|:)",
377
250
  "patterns": [
378
251
  {
379
- "contentName": "entity.other.inherited-class.python",
380
- "begin": "(?\u003c=\\(|,)\\s*",
381
- "end": "\\s*(?:(,)|(?=\\)))",
382
- "patterns": [
383
- {
384
- "include": "$self"
385
- }
386
- ],
387
- "endCaptures": {
388
- "1": {
389
- "name": "punctuation.separator.inheritance.python"
390
- }
391
- }
392
- }
393
- ],
394
- "beginCaptures": {
395
- "1": {
396
- "name": "punctuation.definition.inheritance.begin.python"
397
- }
398
- }
399
- }
400
- ],
401
- "beginCaptures": {
402
- "1": {
403
- "name": "keyword.control.statement.renpy"
404
- }
405
- },
406
- "endCaptures": {
407
- "1": {
408
- "name": "punctuation.definition.inheritance.end.python"
409
- },
410
- "2": {
411
- "name": "punctuation.section.class.begin.python"
412
- },
413
- "3": {
414
- "name": "invalid.illegal.missing-section-begin.python"
415
- }
416
- }
417
- },
418
- {
419
- "name": "meta.class.python",
420
- "begin": "((default)|(define)|(image)|(scene)|(show)|(hide))\\s+((\\s)|(?=[a-zA-Z_][a-zA-Z_0-9]*\\s*))",
421
- "end": "(\\=)|(\\s)|(\\s*$\\n?|#.*$\\n?)",
422
- "patterns": [
423
- {
424
- "contentName": "entity.name.type.class.python",
425
- "begin": "(?=[A-Za-z_][A-Za-z0-9_]*)",
426
- "end": "(?![A-Za-z0-9_])",
427
- "patterns": [
428
- {
429
- "include": "#entity_name_class"
430
- }
431
- ]
432
- },
433
- {
434
- "contentName": "meta.class.inheritance.python",
435
- "begin": "(\\()",
436
- "end": "(?=\\)|:|)",
437
- "patterns": [
438
- {
439
- "contentName": "entity.other.inherited-class.python",
252
+ "contentName": "entity.other.inherited-class.python.renpy",
440
253
  "begin": "(?\u003c=\\(|,)\\s*",
441
254
  "end": "\\s*(?:(,)|(?=\\)))",
442
255
  "patterns": [
@@ -446,42 +259,42 @@
446
259
  ],
447
260
  "endCaptures": {
448
261
  "1": {
449
- "name": "punctuation.separator.inheritance.python"
262
+ "name": "punctuation.separator.inheritance.python.renpy"
450
263
  }
451
264
  }
452
265
  }
453
266
  ],
454
267
  "beginCaptures": {
455
268
  "1": {
456
- "name": "punctuation.definition.inheritance.begin.python"
269
+ "name": "punctuation.definition.inheritance.begin.python.renpy"
457
270
  }
458
271
  }
459
272
  }
460
273
  ],
461
274
  "beginCaptures": {
462
275
  "1": {
463
- "name": "keyword.control.statement.renpy"
276
+ "name": "storage.type.class.python.renpy"
464
277
  }
465
278
  },
466
279
  "endCaptures": {
467
280
  "1": {
468
- "name": "punctuation.definition.inheritance.end.python"
281
+ "name": "punctuation.definition.inheritance.end.python.renpy"
469
282
  },
470
283
  "2": {
471
- "name": "punctuation.section.class.begin.python"
284
+ "name": "punctuation.section.class.begin.python.renpy"
472
285
  },
473
286
  "3": {
474
- "name": "invalid.illegal.missing-section-begin.python"
287
+ "name": "invalid.illegal.missing-section-begin.python.renpy"
475
288
  }
476
289
  }
477
290
  },
478
291
  {
479
- "name": "meta.class.python",
292
+ "name": "meta.class.python.renpy",
480
293
  "begin": "^\\s*(class)\\s+(?=[a-zA-Z_][a-zA-Z_0-9])",
481
294
  "end": "(\\()|(\\s*$\\n?|#.*$\\n?)",
482
295
  "patterns": [
483
296
  {
484
- "contentName": "entity.name.type.class.python",
297
+ "contentName": "entity.name.type.class.python.renpy",
485
298
  "begin": "(?=[A-Za-z_][A-Za-z0-9_]*)",
486
299
  "end": "(?![A-Za-z0-9_])",
487
300
  "patterns": [
@@ -493,25 +306,25 @@
493
306
  ],
494
307
  "beginCaptures": {
495
308
  "1": {
496
- "name": "storage.type.class.python"
309
+ "name": "storage.type.class.python.renpy"
497
310
  }
498
311
  },
499
312
  "endCaptures": {
500
313
  "1": {
501
- "name": "punctuation.definition.inheritance.begin.python"
314
+ "name": "punctuation.definition.inheritance.begin.python.renpy"
502
315
  },
503
316
  "2": {
504
- "name": "invalid.illegal.missing-inheritance.python"
317
+ "name": "invalid.illegal.missing-inheritance.python.renpy"
505
318
  }
506
319
  }
507
320
  },
508
321
  {
509
- "name": "meta.function.python",
322
+ "name": "meta.function.python.renpy",
510
323
  "begin": "^\\s*(def)\\s+(?=[A-Za-z_][A-Za-z0-9_]*\\s*\\()",
511
324
  "end": "(\\))\\s*(?:(\\:)|(.*$\\n?))",
512
325
  "patterns": [
513
326
  {
514
- "contentName": "entity.name.function.python",
327
+ "contentName": "entity.name.function.python.renpy",
515
328
  "begin": "(?=[A-Za-z_][A-Za-z0-9_]*)",
516
329
  "end": "(?![A-Za-z0-9_])",
517
330
  "patterns": [
@@ -521,7 +334,7 @@
521
334
  ]
522
335
  },
523
336
  {
524
- "contentName": "meta.function.parameters.python",
337
+ "contentName": "meta.function.parameters.python.renpy",
525
338
  "begin": "(\\()",
526
339
  "end": "(?=\\)\\s*\\:)",
527
340
  "patterns": [
@@ -532,45 +345,45 @@
532
345
  "match": "\\b([a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(,)|(?=[\\n\\)]))",
533
346
  "captures": {
534
347
  "1": {
535
- "name": "variable.parameter.function.python"
348
+ "name": "variable.parameter.function.python.renpy"
536
349
  },
537
350
  "2": {
538
- "name": "punctuation.separator.parameters.python"
351
+ "name": "punctuation.separator.parameters.python.renpy"
539
352
  }
540
353
  }
541
354
  }
542
355
  ],
543
356
  "beginCaptures": {
544
357
  "1": {
545
- "name": "punctuation.definition.parameters.begin.python"
358
+ "name": "punctuation.definition.parameters.begin.python.renpy"
546
359
  }
547
360
  }
548
361
  }
549
362
  ],
550
363
  "beginCaptures": {
551
364
  "1": {
552
- "name": "storage.type.function.python"
365
+ "name": "storage.type.function.python.renpy"
553
366
  }
554
367
  },
555
368
  "endCaptures": {
556
369
  "1": {
557
- "name": "punctuation.definition.parameters.end.python"
370
+ "name": "punctuation.definition.parameters.end.python.renpy"
558
371
  },
559
372
  "2": {
560
- "name": "punctuation.section.function.begin.python"
373
+ "name": "punctuation.section.function.begin.python.renpy"
561
374
  },
562
375
  "3": {
563
- "name": "invalid.illegal.missing-section-begin.python"
376
+ "name": "invalid.illegal.missing-section-begin.python.renpy"
564
377
  }
565
378
  }
566
379
  },
567
380
  {
568
- "name": "meta.function.python",
381
+ "name": "meta.function.python.renpy",
569
382
  "begin": "^\\s*(def)\\s+(?=[A-Za-z_][A-Za-z0-9_]*)",
570
383
  "end": "(\\()|\\s*($\\n?|#.*$\\n?)",
571
384
  "patterns": [
572
385
  {
573
- "contentName": "entity.name.function.python",
386
+ "contentName": "entity.name.function.python.renpy",
574
387
  "begin": "(?=[A-Za-z_][A-Za-z0-9_]*)",
575
388
  "end": "(?![A-Za-z0-9_])",
576
389
  "patterns": [
@@ -582,25 +395,25 @@
582
395
  ],
583
396
  "beginCaptures": {
584
397
  "1": {
585
- "name": "storage.type.function.python"
398
+ "name": "storage.type.function.python.renpy"
586
399
  }
587
400
  },
588
401
  "endCaptures": {
589
402
  "1": {
590
- "name": "punctuation.definition.parameters.begin.python"
403
+ "name": "punctuation.definition.parameters.begin.python.renpy"
591
404
  },
592
405
  "2": {
593
- "name": "invalid.illegal.missing-parameters.python"
406
+ "name": "invalid.illegal.missing-parameters.python.renpy"
594
407
  }
595
408
  }
596
409
  },
597
410
  {
598
- "name": "meta.function.inline.python",
411
+ "name": "meta.function.inline.python.renpy",
599
412
  "begin": "(lambda)(?=\\s+)",
600
413
  "end": "(\\:)",
601
414
  "patterns": [
602
415
  {
603
- "contentName": "meta.function.inline.parameters.python",
416
+ "contentName": "meta.function.inline.parameters.python.renpy",
604
417
  "begin": "\\s+",
605
418
  "end": "(?=\\:)",
606
419
  "patterns": [
@@ -611,10 +424,10 @@
611
424
  "match": "\\b([a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(,)|(?=[\\n\\)\\:]))",
612
425
  "captures": {
613
426
  "1": {
614
- "name": "variable.parameter.function.python"
427
+ "name": "variable.parameter.function.python.renpy"
615
428
  },
616
429
  "2": {
617
- "name": "punctuation.separator.parameters.python"
430
+ "name": "punctuation.separator.parameters.python.renpy"
618
431
  }
619
432
  }
620
433
  }
@@ -623,28 +436,76 @@
623
436
  ],
624
437
  "beginCaptures": {
625
438
  "1": {
626
- "name": "storage.type.function.inline.python"
439
+ "name": "storage.type.function.inline.python.renpy"
627
440
  }
628
441
  },
629
442
  "endCaptures": {
630
443
  "1": {
631
- "name": "punctuation.definition.parameters.end.python"
444
+ "name": "punctuation.definition.parameters.end.python.renpy"
632
445
  },
633
446
  "2": {
634
- "name": "punctuation.section.function.begin.python"
447
+ "name": "punctuation.section.function.begin.python.renpy"
635
448
  },
636
449
  "3": {
637
- "name": "invalid.illegal.missing-section-begin.python"
450
+ "name": "invalid.illegal.missing-section-begin.python.renpy"
451
+ }
452
+ }
453
+ },
454
+ {
455
+ "match": "\\b(def|lambda)\\b",
456
+ "captures": {
457
+ "1": {
458
+ "name": "storage.type.function.python.renpy"
459
+ }
460
+ }
461
+ },
462
+ {
463
+ "match": "\\b(class)\\b",
464
+ "captures": {
465
+ "1": {
466
+ "name": "storage.type.class.python.renpy"
638
467
  }
639
468
  }
640
469
  },
641
470
  {
642
- "name": "meta.function.decorator.python",
471
+ "name": "keyword.python.renpy",
472
+ "match": "\\$"
473
+ },
474
+ {
475
+ "name": "keyword.python.renpy",
476
+ "match": "\\b(\\$|add|and|animation|as|assert|at|attribute|attributeimage|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|init|input|is|jump|key|knot|label|lambda|menu|mousearea|music|new|nointeract|not|null|nvl|offset|old|on|onlayer|or|parallel|pass|pause|play|print|python|queue|raise|repeat|return|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"
477
+ },
478
+ {
479
+ "name": "entity.other.attribute-name.python.renpy",
480
+ "match": "\\b((?:action|activate_sound|adjustment|allow|alpha|alternate|alternate_keysym|arguments|arrowkeys|at|auto|cache|caption|changed|child_size|clicked|cols|default|drag_handle|drag_joined|drag_name|drag_offscreen|drag_raise|draggable|dragged|droppable|dropped|edgescroll|exclude|focus|focus_mask|ground|height|hover|hovered|id|idle|image_style|insensitive|keysym|layer|length|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"
481
+ },
482
+ {
483
+ "name": "entity.other.attribute-name.python.renpy",
484
+ "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|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|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"
485
+ },
486
+ {
487
+ "name": "entity.other.attribute-name.python.renpy",
488
+ "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"
489
+ },
490
+ {
491
+ "name": "entity.other.attribute-name.python.renpy",
492
+ "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"
493
+ },
494
+ {
495
+ "name": "entity.other.attribute-name.python.renpy",
496
+ "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|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"
497
+ },
498
+ {
499
+ "name": "entity.other.attribute-name.python.renpy",
500
+ "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"
501
+ },
502
+ {
503
+ "name": "meta.function.decorator.python.renpy",
643
504
  "begin": "^\\s*(?=@\\s*[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*\\s*\\()",
644
505
  "end": "(\\))",
645
506
  "patterns": [
646
507
  {
647
- "contentName": "entity.name.function.decorator.python",
508
+ "contentName": "entity.name.function.decorator.python.renpy",
648
509
  "begin": "(?=(@)\\s*[A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*\\s*\\()",
649
510
  "end": "(?=\\s*\\()",
650
511
  "patterns": [
@@ -654,12 +515,12 @@
654
515
  ],
655
516
  "beginCaptures": {
656
517
  "1": {
657
- "name": "punctuation.definition.decorator.python"
518
+ "name": "punctuation.definition.decorator.python.renpy"
658
519
  }
659
520
  }
660
521
  },
661
522
  {
662
- "contentName": "meta.function.decorator.arguments.python",
523
+ "contentName": "meta.function.decorator.arguments.python.renpy",
663
524
  "begin": "(\\()",
664
525
  "end": "(?=\\))",
665
526
  "patterns": [
@@ -672,20 +533,20 @@
672
533
  ],
673
534
  "beginCaptures": {
674
535
  "1": {
675
- "name": "punctuation.definition.arguments.begin.python"
536
+ "name": "punctuation.definition.arguments.begin.python.renpy"
676
537
  }
677
538
  }
678
539
  }
679
540
  ],
680
541
  "endCaptures": {
681
542
  "1": {
682
- "name": "punctuation.definition.arguments.end.python"
543
+ "name": "punctuation.definition.arguments.end.python.renpy"
683
544
  }
684
545
  }
685
546
  },
686
547
  {
687
- "name": "meta.function.decorator.python",
688
- "contentName": "entity.name.function.decorator.python",
548
+ "name": "meta.function.decorator.python.renpy",
549
+ "contentName": "entity.name.function.decorator.python.renpy",
689
550
  "begin": "^\\s*(?=@\\s*[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*)",
690
551
  "end": "(?=\\s|$\\n?|#)",
691
552
  "patterns": [
@@ -699,15 +560,15 @@
699
560
  ],
700
561
  "beginCaptures": {
701
562
  "1": {
702
- "name": "punctuation.definition.decorator.python"
563
+ "name": "punctuation.definition.decorator.python.renpy"
703
564
  }
704
565
  }
705
566
  }
706
567
  ]
707
568
  },
708
569
  {
709
- "name": "meta.function-call.python",
710
- "contentName": "meta.function-call.arguments.python",
570
+ "name": "meta.function-call.python.renpy",
571
+ "contentName": "meta.function-call.arguments.python.renpy",
711
572
  "begin": "(?\u003c=\\)|\\])\\s*(\\()",
712
573
  "end": "(\\))",
713
574
  "patterns": [
@@ -720,17 +581,17 @@
720
581
  ],
721
582
  "beginCaptures": {
722
583
  "1": {
723
- "name": "punctuation.definition.arguments.begin.python"
584
+ "name": "punctuation.definition.arguments.begin.python.renpy"
724
585
  }
725
586
  },
726
587
  "endCaptures": {
727
588
  "1": {
728
- "name": "punctuation.definition.arguments.end.python"
589
+ "name": "punctuation.definition.arguments.end.python.renpy"
729
590
  }
730
591
  }
731
592
  },
732
593
  {
733
- "name": "meta.function-call.python",
594
+ "name": "meta.function-call.python.renpy",
734
595
  "begin": "(?=[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*\\s*\\()",
735
596
  "end": "(\\))",
736
597
  "patterns": [
@@ -744,7 +605,7 @@
744
605
  ]
745
606
  },
746
607
  {
747
- "contentName": "meta.function-call.arguments.python",
608
+ "contentName": "meta.function-call.arguments.python.renpy",
748
609
  "begin": "(\\()",
749
610
  "end": "(?=\\))",
750
611
  "patterns": [
@@ -757,19 +618,19 @@
757
618
  ],
758
619
  "beginCaptures": {
759
620
  "1": {
760
- "name": "punctuation.definition.arguments.begin.python"
621
+ "name": "punctuation.definition.arguments.begin.python.renpy"
761
622
  }
762
623
  }
763
624
  }
764
625
  ],
765
626
  "endCaptures": {
766
627
  "1": {
767
- "name": "punctuation.definition.arguments.end.python"
628
+ "name": "punctuation.definition.arguments.end.python.renpy"
768
629
  }
769
630
  }
770
631
  },
771
632
  {
772
- "name": "meta.item-access.python",
633
+ "name": "meta.item-access.python.renpy",
773
634
  "begin": "(?=[A-Za-z_][A-Za-z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*\\s*\\[)",
774
635
  "end": "(\\])",
775
636
  "patterns": [
@@ -783,7 +644,7 @@
783
644
  ]
784
645
  },
785
646
  {
786
- "contentName": "meta.item-access.arguments.python",
647
+ "contentName": "meta.item-access.arguments.python.renpy",
787
648
  "begin": "(\\[)",
788
649
  "end": "(?=\\])",
789
650
  "patterns": [
@@ -793,20 +654,20 @@
793
654
  ],
794
655
  "beginCaptures": {
795
656
  "1": {
796
- "name": "punctuation.definition.arguments.begin.python"
657
+ "name": "punctuation.definition.arguments.begin.python.renpy"
797
658
  }
798
659
  }
799
660
  }
800
661
  ],
801
662
  "endCaptures": {
802
663
  "1": {
803
- "name": "punctuation.definition.arguments.end.python"
664
+ "name": "punctuation.definition.arguments.end.python.renpy"
804
665
  }
805
666
  }
806
667
  },
807
668
  {
808
- "name": "meta.item-access.python",
809
- "contentName": "meta.item-access.arguments.python",
669
+ "name": "meta.item-access.python.renpy",
670
+ "contentName": "meta.item-access.arguments.python.renpy",
810
671
  "begin": "(?\u003c=\\)|\\])\\s*(\\[)",
811
672
  "end": "(\\])",
812
673
  "patterns": [
@@ -816,36 +677,12 @@
816
677
  ],
817
678
  "beginCaptures": {
818
679
  "1": {
819
- "name": "punctuation.definition.arguments.begin.python"
680
+ "name": "punctuation.definition.arguments.begin.python.renpy"
820
681
  }
821
682
  },
822
683
  "endCaptures": {
823
684
  "1": {
824
- "name": "punctuation.definition.arguments.end.python"
825
- }
826
- }
827
- },
828
- {
829
- "match": "\\b(menu)\\b",
830
- "captures": {
831
- "1": {
832
- "name": "keyword.control.statement.renpy"
833
- }
834
- }
835
- },
836
- {
837
- "match": "\\b(def|lambda)\\b",
838
- "captures": {
839
- "1": {
840
- "name": "storage.type.function.python"
841
- }
842
- }
843
- },
844
- {
845
- "match": "\\b(class)\\b",
846
- "captures": {
847
- "1": {
848
- "name": "storage.type.class.python"
685
+ "name": "punctuation.definition.arguments.end.python.renpy"
849
686
  }
850
687
  }
851
688
  },
@@ -856,13 +693,9 @@
856
693
  "include": "#language_variables"
857
694
  },
858
695
  {
859
- "name": "constant.language.python",
696
+ "name": "constant.language.python.renpy",
860
697
  "match": "\\b(None|True|False|Ellipsis|NotImplemented)\\b"
861
698
  },
862
- {
863
- "name": "constant.language.python",
864
- "match": "\\b(no_action|yes_action|no_action)\\b"
865
- },
866
699
  {
867
700
  "include": "#string_quoted_single"
868
701
  },
@@ -885,23 +718,23 @@
885
718
  "match": "(\\[)(\\s*(\\]))\\b",
886
719
  "captures": {
887
720
  "1": {
888
- "name": "punctuation.definition.list.begin.python"
721
+ "name": "punctuation.definition.list.begin.python.renpy"
889
722
  },
890
723
  "2": {
891
- "name": "meta.empty-list.python"
724
+ "name": "meta.empty-list.python.renpy"
892
725
  },
893
726
  "3": {
894
- "name": "punctuation.definition.list.end.python"
727
+ "name": "punctuation.definition.list.end.python.renpy"
895
728
  }
896
729
  }
897
730
  },
898
731
  {
899
- "name": "meta.structure.list.python",
732
+ "name": "meta.structure.list.python.renpy",
900
733
  "begin": "(\\[)",
901
734
  "end": "(\\])",
902
735
  "patterns": [
903
736
  {
904
- "contentName": "meta.structure.list.item.python",
737
+ "contentName": "meta.structure.list.item.python.renpy",
905
738
  "begin": "(?\u003c=\\[|\\,)\\s*(?![\\],])",
906
739
  "end": "\\s*(?:(,)|(?=\\]))",
907
740
  "patterns": [
@@ -911,59 +744,59 @@
911
744
  ],
912
745
  "endCaptures": {
913
746
  "1": {
914
- "name": "punctuation.separator.list.python"
747
+ "name": "punctuation.separator.list.python.renpy"
915
748
  }
916
749
  }
917
750
  }
918
751
  ],
919
752
  "beginCaptures": {
920
753
  "1": {
921
- "name": "punctuation.definition.list.begin.python"
754
+ "name": "punctuation.definition.list.begin.python.renpy"
922
755
  }
923
756
  },
924
757
  "endCaptures": {
925
758
  "1": {
926
- "name": "punctuation.definition.list.end.python"
759
+ "name": "punctuation.definition.list.end.python.renpy"
927
760
  }
928
761
  }
929
762
  },
930
763
  {
931
- "name": "meta.structure.tuple.python",
764
+ "name": "meta.structure.tuple.python.renpy",
932
765
  "match": "(\\()(\\s*(\\)))",
933
766
  "captures": {
934
767
  "1": {
935
- "name": "punctuation.definition.tuple.begin.python"
768
+ "name": "punctuation.definition.tuple.begin.python.renpy"
936
769
  },
937
770
  "2": {
938
- "name": "meta.empty-tuple.python"
771
+ "name": "meta.empty-tuple.python.renpy"
939
772
  },
940
773
  "3": {
941
- "name": "punctuation.definition.tuple.end.python"
774
+ "name": "punctuation.definition.tuple.end.python.renpy"
942
775
  }
943
776
  }
944
777
  },
945
778
  {
946
- "name": "meta.structure.dictionary.python",
779
+ "name": "meta.structure.dictionary.python.renpy",
947
780
  "match": "(\\{)(\\s*(\\}))",
948
781
  "captures": {
949
782
  "1": {
950
- "name": "punctuation.definition.dictionary.begin.python"
783
+ "name": "punctuation.definition.dictionary.begin.python.renpy"
951
784
  },
952
785
  "2": {
953
- "name": "meta.empty-dictionary.python"
786
+ "name": "meta.empty-dictionary.python.renpy"
954
787
  },
955
788
  "3": {
956
- "name": "punctuation.definition.dictionary.end.python"
789
+ "name": "punctuation.definition.dictionary.end.python.renpy"
957
790
  }
958
791
  }
959
792
  },
960
793
  {
961
- "name": "meta.structure.dictionary.python",
794
+ "name": "meta.structure.dictionary.python.renpy",
962
795
  "begin": "(\\{)",
963
796
  "end": "(\\})",
964
797
  "patterns": [
965
798
  {
966
- "contentName": "meta.structure.dictionary.key.python",
799
+ "contentName": "meta.structure.dictionary.key.python.renpy",
967
800
  "begin": "(?\u003c=\\{|\\,|^)\\s*(?![\\},])",
968
801
  "end": "\\s*(?:(?=\\})|(\\:))",
969
802
  "patterns": [
@@ -973,12 +806,12 @@
973
806
  ],
974
807
  "endCaptures": {
975
808
  "1": {
976
- "name": "punctuation.separator.valuepair.dictionary.python"
809
+ "name": "punctuation.separator.valuepair.dictionary.python.renpy"
977
810
  }
978
811
  }
979
812
  },
980
813
  {
981
- "contentName": "meta.structure.dictionary.value.python",
814
+ "contentName": "meta.structure.dictionary.value.python.renpy",
982
815
  "begin": "(?\u003c=\\:|^)\\s*",
983
816
  "end": "\\s*(?:(?=\\})|(,))",
984
817
  "patterns": [
@@ -988,44 +821,44 @@
988
821
  ],
989
822
  "endCaptures": {
990
823
  "1": {
991
- "name": "punctuation.separator.dictionary.python"
824
+ "name": "punctuation.separator.dictionary.python.renpy"
992
825
  }
993
826
  }
994
827
  }
995
828
  ],
996
829
  "beginCaptures": {
997
830
  "1": {
998
- "name": "punctuation.definition.dictionary.begin.python"
831
+ "name": "punctuation.definition.dictionary.begin.python.renpy"
999
832
  }
1000
833
  },
1001
834
  "endCaptures": {
1002
835
  "1": {
1003
- "name": "punctuation.definition.dictionary.end.python"
836
+ "name": "punctuation.definition.dictionary.end.python.renpy"
1004
837
  }
1005
838
  }
1006
839
  }
1007
840
  ],
1008
841
  "repository": {
1009
842
  "builtin_exceptions": {
1010
- "name": "support.type.exception.python",
843
+ "name": "support.type.exception.python.renpy",
1011
844
  "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"
1012
845
  },
1013
846
  "builtin_functions": {
1014
- "name": "support.function.builtin.python",
847
+ "name": "support.function.builtin.python.renpy",
1015
848
  "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"
1016
849
  },
1017
850
  "builtin_types": {
1018
- "name": "support.type.python",
851
+ "name": "support.type.python.renpy",
1019
852
  "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"
1020
853
  },
1021
854
  "constant_placeholder": {
1022
855
  "name": "constant.other.placeholder.tags.renpy",
1023
- "match": "(?i:(%(\\([a-z_]+\\))?#?0?\\-?[ ]?\\+?([0-9]*|\\*)(\\.([0-9]*|\\*))?([hL][a-z]|[a-z%]))|(\\{([\\?\\\u0026\\%\\\\\\/#=\\-\\+!\\[\\].:\\w ]+)?\\})|(\\{\\/([!\\[\\].:\\w ]+)?\\})|(\\[([!\\[\\].:\\w ]+)?\\]))"
856
+ "match": "\\{[^}]*\\}|\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]"
1024
857
  },
1025
858
  "docstrings": {
1026
859
  "patterns": [
1027
860
  {
1028
- "name": "comment.block.python",
861
+ "name": "comment.block.python.renpy",
1029
862
  "begin": "^\\s*(?=[uU]?[rR]?\"\"\")",
1030
863
  "end": "(?\u003c=\"\"\")",
1031
864
  "patterns": [
@@ -1035,7 +868,7 @@
1035
868
  ]
1036
869
  },
1037
870
  {
1038
- "name": "comment.block.python",
871
+ "name": "comment.block.python.renpy",
1039
872
  "begin": "^\\s*(?=[uU]?[rR]?''')",
1040
873
  "end": "(?\u003c=''')",
1041
874
  "patterns": [
@@ -1127,57 +960,61 @@
1127
960
  "match": "(\\\\x[0-9A-F]{2})|(\\\\[0-7]{3})|(\\\\\\n)|(\\\\\\\\)|(\\\\\\\")|(\\\\')|(\\\\a)|(\\\\b)|(\\\\f)|(\\\\n)|(\\\\r)|(\\\\t)|(\\\\v)",
1128
961
  "captures": {
1129
962
  "1": {
1130
- "name": "constant.character.escape.hex.python"
963
+ "name": "constant.character.escape.hex.python.renpy"
1131
964
  },
1132
965
  "10": {
1133
- "name": "constant.character.escape.linefeed.python"
966
+ "name": "constant.character.escape.linefeed.python.renpy"
1134
967
  },
1135
968
  "11": {
1136
- "name": "constant.character.escape.return.python"
969
+ "name": "constant.character.escape.return.python.renpy"
1137
970
  },
1138
971
  "12": {
1139
- "name": "constant.character.escape.tab.python"
972
+ "name": "constant.character.escape.tab.python.renpy"
1140
973
  },
1141
974
  "13": {
1142
- "name": "constant.character.escape.vertical-tab.python"
975
+ "name": "constant.character.escape.vertical-tab.python.renpy"
1143
976
  },
1144
977
  "2": {
1145
- "name": "constant.character.escape.octal.python"
978
+ "name": "constant.character.escape.octal.python.renpy"
1146
979
  },
1147
980
  "3": {
1148
- "name": "constant.character.escape.newline.python"
981
+ "name": "constant.character.escape.newline.python.renpy"
1149
982
  },
1150
983
  "4": {
1151
- "name": "constant.character.escape.backlash.python"
984
+ "name": "constant.character.escape.backlash.python.renpy"
1152
985
  },
1153
986
  "5": {
1154
- "name": "constant.character.escape.double-quote.python"
987
+ "name": "constant.character.escape.double-quote.python.renpy"
1155
988
  },
1156
989
  "6": {
1157
- "name": "constant.character.escape.single-quote.python"
990
+ "name": "constant.character.escape.single-quote.python.renpy"
1158
991
  },
1159
992
  "7": {
1160
- "name": "constant.character.escape.bell.python"
993
+ "name": "constant.character.escape.bell.python.renpy"
1161
994
  },
1162
995
  "8": {
1163
- "name": "constant.character.escape.backspace.python"
996
+ "name": "constant.character.escape.backspace.python.renpy"
1164
997
  },
1165
998
  "9": {
1166
- "name": "constant.character.escape.formfeed.python"
999
+ "name": "constant.character.escape.formfeed.python.renpy"
1167
1000
  }
1168
1001
  }
1169
1002
  },
1003
+ "escaped_placeholder": {
1004
+ "name": "constant.character.escape.placeholder.python.renpy",
1005
+ "match": "\\{\\{|\\[\\["
1006
+ },
1170
1007
  "escaped_unicode_char": {
1171
1008
  "match": "(\\\\U[0-9A-Fa-f]{8})|(\\\\u[0-9A-Fa-f]{4})|(\\\\N\\{[a-zA-Z ]+\\})",
1172
1009
  "captures": {
1173
1010
  "1": {
1174
- "name": "constant.character.escape.unicode.16-bit-hex.python"
1011
+ "name": "constant.character.escape.unicode.16-bit-hex.python.renpy"
1175
1012
  },
1176
1013
  "2": {
1177
- "name": "constant.character.escape.unicode.32-bit-hex.python"
1014
+ "name": "constant.character.escape.unicode.32-bit-hex.python.renpy"
1178
1015
  },
1179
1016
  "3": {
1180
- "name": "constant.character.escape.unicode.name.python"
1017
+ "name": "constant.character.escape.unicode.name.python.renpy"
1181
1018
  }
1182
1019
  }
1183
1020
  },
@@ -1207,7 +1044,7 @@
1207
1044
  "match": "[A-Za-z_][A-Za-z0-9_]*"
1208
1045
  },
1209
1046
  "illegal_names": {
1210
- "name": "invalid.illegal.name.python",
1047
+ "name": "invalid.illegal.name.python.renpy",
1211
1048
  "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"
1212
1049
  },
1213
1050
  "keyword_arguments": {
@@ -1220,55 +1057,56 @@
1220
1057
  ],
1221
1058
  "beginCaptures": {
1222
1059
  "1": {
1223
- "name": "variable.parameter.function.python"
1060
+ "name": "variable.parameter.function.python.renpy"
1224
1061
  },
1225
1062
  "2": {
1226
- "name": "keyword.operator.assignment.python"
1063
+ "name": "keyword.operator.assignment.python.renpy"
1227
1064
  }
1228
1065
  },
1229
1066
  "endCaptures": {
1230
1067
  "1": {
1231
- "name": "punctuation.separator.parameters.python"
1068
+ "name": "punctuation.separator.parameters.python.renpy"
1232
1069
  }
1233
1070
  }
1234
1071
  },
1235
1072
  "language_variables": {
1236
- "name": "variable.language.python",
1073
+ "name": "variable.language.python.renpy",
1237
1074
  "match": "\\b(self|cls)\\b"
1238
1075
  },
1239
1076
  "line_continuation": {
1240
1077
  "match": "(\\\\)(.*)$\\n?",
1241
1078
  "captures": {
1242
1079
  "1": {
1243
- "name": "punctuation.separator.continuation.line.python"
1080
+ "name": "punctuation.separator.continuation.line.python.renpy"
1244
1081
  },
1245
1082
  "2": {
1246
- "name": "invalid.illegal.unexpected-text.python"
1083
+ "name": "invalid.illegal.unexpected-text.python.renpy"
1247
1084
  }
1248
1085
  }
1249
1086
  },
1250
1087
  "magic_function_names": {
1251
- "name": "support.function.magic.python",
1088
+ "name": "support.function.magic.python.renpy",
1252
1089
  "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"
1253
1090
  },
1254
1091
  "magic_variable_names": {
1255
- "name": "support.variable.magic.python",
1092
+ "name": "support.variable.magic.python.renpy",
1256
1093
  "match": "\\b__(all|bases|class|debug|dict|doc|file|members|metaclass|methods|name|slots|weakref)__\\b"
1257
1094
  },
1258
1095
  "regular_expressions": {
1259
1096
  "patterns": [
1260
- {
1261
- "include": "source.regexp.python"
1262
- }
1097
+ {}
1263
1098
  ]
1264
1099
  },
1265
1100
  "string_quoted_double": {
1266
1101
  "patterns": [
1267
1102
  {
1268
- "name": "string.quoted.double.block.unicode-raw-regex.python",
1103
+ "name": "string.quoted.double.block.unicode-raw-regex.python.renpy",
1269
1104
  "begin": "([uU]r)(\"\"\")",
1270
1105
  "end": "((?\u003c=\"\"\")(\")\"\"|\"\"\")",
1271
1106
  "patterns": [
1107
+ {
1108
+ "include": "#escaped_placeholder"
1109
+ },
1272
1110
  {
1273
1111
  "include": "#constant_placeholder"
1274
1112
  },
@@ -1284,26 +1122,29 @@
1284
1122
  ],
1285
1123
  "beginCaptures": {
1286
1124
  "1": {
1287
- "name": "storage.type.string.python"
1125
+ "name": "storage.type.string.python.renpy"
1288
1126
  },
1289
1127
  "2": {
1290
- "name": "punctuation.definition.string.begin.python"
1128
+ "name": "punctuation.definition.string.begin.python.renpy"
1291
1129
  }
1292
1130
  },
1293
1131
  "endCaptures": {
1294
1132
  "1": {
1295
- "name": "punctuation.definition.string.end.python"
1133
+ "name": "punctuation.definition.string.end.python.renpy"
1296
1134
  },
1297
1135
  "2": {
1298
- "name": "meta.empty-string.double.python"
1136
+ "name": "meta.empty-string.double.python.renpy"
1299
1137
  }
1300
1138
  }
1301
1139
  },
1302
1140
  {
1303
- "name": "string.quoted.double.block.unicode-raw.python",
1141
+ "name": "string.quoted.double.block.unicode-raw.python.renpy",
1304
1142
  "begin": "([uU]R)(\"\"\")",
1305
1143
  "end": "((?\u003c=\"\"\")(\")\"\"|\"\"\")",
1306
1144
  "patterns": [
1145
+ {
1146
+ "include": "#escaped_placeholder"
1147
+ },
1307
1148
  {
1308
1149
  "include": "#constant_placeholder"
1309
1150
  },
@@ -1316,26 +1157,29 @@
1316
1157
  ],
1317
1158
  "beginCaptures": {
1318
1159
  "1": {
1319
- "name": "storage.type.string.python"
1160
+ "name": "storage.type.string.python.renpy"
1320
1161
  },
1321
1162
  "2": {
1322
- "name": "punctuation.definition.string.begin.python"
1163
+ "name": "punctuation.definition.string.begin.python.renpy"
1323
1164
  }
1324
1165
  },
1325
1166
  "endCaptures": {
1326
1167
  "1": {
1327
- "name": "punctuation.definition.string.end.python"
1168
+ "name": "punctuation.definition.string.end.python.renpy"
1328
1169
  },
1329
1170
  "2": {
1330
- "name": "meta.empty-string.double.python"
1171
+ "name": "meta.empty-string.double.python.renpy"
1331
1172
  }
1332
1173
  }
1333
1174
  },
1334
1175
  {
1335
- "name": "string.quoted.double.block.raw-regex.python",
1176
+ "name": "string.quoted.double.block.raw-regex.python.renpy",
1336
1177
  "begin": "(r)(\"\"\")",
1337
1178
  "end": "((?\u003c=\"\"\")(\")\"\"|\"\"\")",
1338
1179
  "patterns": [
1180
+ {
1181
+ "include": "#escaped_placeholder"
1182
+ },
1339
1183
  {
1340
1184
  "include": "#constant_placeholder"
1341
1185
  },
@@ -1348,26 +1192,29 @@
1348
1192
  ],
1349
1193
  "beginCaptures": {
1350
1194
  "1": {
1351
- "name": "storage.type.string.python"
1195
+ "name": "storage.type.string.python.renpy"
1352
1196
  },
1353
1197
  "2": {
1354
- "name": "punctuation.definition.string.begin.python"
1198
+ "name": "punctuation.definition.string.begin.python.renpy"
1355
1199
  }
1356
1200
  },
1357
1201
  "endCaptures": {
1358
1202
  "1": {
1359
- "name": "punctuation.definition.string.end.python"
1203
+ "name": "punctuation.definition.string.end.python.renpy"
1360
1204
  },
1361
1205
  "2": {
1362
- "name": "meta.empty-string.double.python"
1206
+ "name": "meta.empty-string.double.python.renpy"
1363
1207
  }
1364
1208
  }
1365
1209
  },
1366
1210
  {
1367
- "name": "string.quoted.double.block.raw.python",
1211
+ "name": "string.quoted.double.block.raw.python.renpy",
1368
1212
  "begin": "(R)(\"\"\")",
1369
1213
  "end": "((?\u003c=\"\"\")(\")\"\"|\"\"\")",
1370
1214
  "patterns": [
1215
+ {
1216
+ "include": "#escaped_placeholder"
1217
+ },
1371
1218
  {
1372
1219
  "include": "#constant_placeholder"
1373
1220
  },
@@ -1377,26 +1224,29 @@
1377
1224
  ],
1378
1225
  "beginCaptures": {
1379
1226
  "1": {
1380
- "name": "storage.type.string.python"
1227
+ "name": "storage.type.string.python.renpy"
1381
1228
  },
1382
1229
  "2": {
1383
- "name": "punctuation.definition.string.begin.python"
1230
+ "name": "punctuation.definition.string.begin.python.renpy"
1384
1231
  }
1385
1232
  },
1386
1233
  "endCaptures": {
1387
1234
  "1": {
1388
- "name": "punctuation.definition.string.end.python"
1235
+ "name": "punctuation.definition.string.end.python.renpy"
1389
1236
  },
1390
1237
  "2": {
1391
- "name": "meta.empty-string.double.python"
1238
+ "name": "meta.empty-string.double.python.renpy"
1392
1239
  }
1393
1240
  }
1394
1241
  },
1395
1242
  {
1396
- "name": "string.quoted.double.block.unicode.python",
1243
+ "name": "string.quoted.double.block.unicode.python.renpy",
1397
1244
  "begin": "([uU])(\"\"\")",
1398
1245
  "end": "((?\u003c=\"\"\")(\")\"\"|\"\"\")",
1399
1246
  "patterns": [
1247
+ {
1248
+ "include": "#escaped_placeholder"
1249
+ },
1400
1250
  {
1401
1251
  "include": "#constant_placeholder"
1402
1252
  },
@@ -1409,33 +1259,36 @@
1409
1259
  ],
1410
1260
  "beginCaptures": {
1411
1261
  "1": {
1412
- "name": "storage.type.string.python"
1262
+ "name": "storage.type.string.python.renpy"
1413
1263
  },
1414
1264
  "2": {
1415
- "name": "punctuation.definition.string.begin.python"
1265
+ "name": "punctuation.definition.string.begin.python.renpy"
1416
1266
  }
1417
1267
  },
1418
1268
  "endCaptures": {
1419
1269
  "1": {
1420
- "name": "punctuation.definition.string.end.python"
1270
+ "name": "punctuation.definition.string.end.python.renpy"
1421
1271
  },
1422
1272
  "2": {
1423
- "name": "meta.empty-string.double.python"
1273
+ "name": "meta.empty-string.double.python.renpy"
1424
1274
  }
1425
1275
  }
1426
1276
  },
1427
1277
  {
1428
- "name": "string.quoted.double.single-line.unicode-raw-regex.python",
1278
+ "name": "string.quoted.double.single-line.unicode-raw-regex.python.renpy",
1429
1279
  "match": "([uU]r)(\")((?:[^\"\\\\]|\\\\.)*)(\")",
1430
1280
  "captures": {
1431
1281
  "1": {
1432
- "name": "storage.type.string.python"
1282
+ "name": "storage.type.string.python.renpy"
1433
1283
  },
1434
1284
  "2": {
1435
- "name": "punctuation.definition.string.begin.python"
1285
+ "name": "punctuation.definition.string.begin.python.renpy"
1436
1286
  },
1437
1287
  "3": {
1438
1288
  "patterns": [
1289
+ {
1290
+ "include": "#escaped_placeholder"
1291
+ },
1439
1292
  {
1440
1293
  "include": "#constant_placeholder"
1441
1294
  },
@@ -1451,15 +1304,18 @@
1451
1304
  ]
1452
1305
  },
1453
1306
  "4": {
1454
- "name": "punctuation.definition.string.end.python"
1307
+ "name": "punctuation.definition.string.end.python.renpy"
1455
1308
  }
1456
1309
  }
1457
1310
  },
1458
1311
  {
1459
- "name": "string.quoted.double.single-line.unicode-raw.python",
1312
+ "name": "string.quoted.double.single-line.unicode-raw.python.renpy",
1460
1313
  "begin": "([uU]R)(\")",
1461
1314
  "end": "((?\u003c=\")(\")|\")",
1462
1315
  "patterns": [
1316
+ {
1317
+ "include": "#escaped_placeholder"
1318
+ },
1463
1319
  {
1464
1320
  "include": "#constant_placeholder"
1465
1321
  },
@@ -1472,36 +1328,39 @@
1472
1328
  ],
1473
1329
  "beginCaptures": {
1474
1330
  "1": {
1475
- "name": "storage.type.string.python"
1331
+ "name": "storage.type.string.python.renpy"
1476
1332
  },
1477
1333
  "2": {
1478
- "name": "punctuation.definition.string.begin.python"
1334
+ "name": "punctuation.definition.string.begin.python.renpy"
1479
1335
  }
1480
1336
  },
1481
1337
  "endCaptures": {
1482
1338
  "1": {
1483
- "name": "punctuation.definition.string.end.python"
1339
+ "name": "punctuation.definition.string.end.python.renpy"
1484
1340
  },
1485
1341
  "2": {
1486
- "name": "meta.empty-string.double.python"
1342
+ "name": "meta.empty-string.double.python.renpy"
1487
1343
  },
1488
1344
  "3": {
1489
- "name": "invalid.illegal.unclosed-string.python"
1345
+ "name": "invalid.illegal.unclosed-string.python.renpy"
1490
1346
  }
1491
1347
  }
1492
1348
  },
1493
1349
  {
1494
- "name": "string.quoted.double.single-line.raw-regex.python",
1350
+ "name": "string.quoted.double.single-line.raw-regex.python.renpy",
1495
1351
  "match": "(r)(\")((?:[^\"\\\\]|\\\\.)*)(\")",
1496
1352
  "captures": {
1497
1353
  "1": {
1498
- "name": "storage.type.string.python"
1354
+ "name": "storage.type.string.python.renpy"
1499
1355
  },
1500
1356
  "2": {
1501
- "name": "punctuation.definition.string.begin.python"
1357
+ "name": "punctuation.definition.string.begin.python.renpy"
1502
1358
  },
1503
1359
  "3": {
1504
1360
  "patterns": [
1361
+ {
1362
+ "include": "#escaped_placeholder"
1363
+ },
1505
1364
  {
1506
1365
  "include": "#constant_placeholder"
1507
1366
  },
@@ -1514,15 +1373,18 @@
1514
1373
  ]
1515
1374
  },
1516
1375
  "4": {
1517
- "name": "punctuation.definition.string.end.python"
1376
+ "name": "punctuation.definition.string.end.python.renpy"
1518
1377
  }
1519
1378
  }
1520
1379
  },
1521
1380
  {
1522
- "name": "string.quoted.double.single-line.raw.python",
1381
+ "name": "string.quoted.double.single-line.raw.python.renpy",
1523
1382
  "begin": "(R)(\")",
1524
1383
  "end": "((?\u003c=\")(\")|\")|(\\n)",
1525
1384
  "patterns": [
1385
+ {
1386
+ "include": "#escaped_placeholder"
1387
+ },
1526
1388
  {
1527
1389
  "include": "#constant_placeholder"
1528
1390
  },
@@ -1532,29 +1394,32 @@
1532
1394
  ],
1533
1395
  "beginCaptures": {
1534
1396
  "1": {
1535
- "name": "storage.type.string.python"
1397
+ "name": "storage.type.string.python.renpy"
1536
1398
  },
1537
1399
  "2": {
1538
- "name": "punctuation.definition.string.begin.python"
1400
+ "name": "punctuation.definition.string.begin.python.renpy"
1539
1401
  }
1540
1402
  },
1541
1403
  "endCaptures": {
1542
1404
  "1": {
1543
- "name": "punctuation.definition.string.end.python"
1405
+ "name": "punctuation.definition.string.end.python.renpy"
1544
1406
  },
1545
1407
  "2": {
1546
- "name": "meta.empty-string.double.python"
1408
+ "name": "meta.empty-string.double.python.renpy"
1547
1409
  },
1548
1410
  "3": {
1549
- "name": "invalid.illegal.unclosed-string.python"
1411
+ "name": "invalid.illegal.unclosed-string.python.renpy"
1550
1412
  }
1551
1413
  }
1552
1414
  },
1553
1415
  {
1554
- "name": "string.quoted.double.single-line.unicode.python",
1416
+ "name": "string.quoted.double.single-line.unicode.python.renpy",
1555
1417
  "begin": "([uU])(\")",
1556
1418
  "end": "((?\u003c=\")(\")|\")",
1557
1419
  "patterns": [
1420
+ {
1421
+ "include": "#escaped_placeholder"
1422
+ },
1558
1423
  {
1559
1424
  "include": "#constant_placeholder"
1560
1425
  },
@@ -1567,90 +1432,32 @@
1567
1432
  ],
1568
1433
  "beginCaptures": {
1569
1434
  "1": {
1570
- "name": "storage.type.string.python"
1435
+ "name": "storage.type.string.python.renpy"
1571
1436
  },
1572
1437
  "2": {
1573
- "name": "punctuation.definition.string.begin.python"
1438
+ "name": "punctuation.definition.string.begin.python.renpy"
1574
1439
  }
1575
1440
  },
1576
1441
  "endCaptures": {
1577
1442
  "1": {
1578
- "name": "punctuation.definition.string.end.python"
1443
+ "name": "punctuation.definition.string.end.python.renpy"
1579
1444
  },
1580
1445
  "2": {
1581
- "name": "meta.empty-string.double.python"
1446
+ "name": "meta.empty-string.double.python.renpy"
1582
1447
  },
1583
1448
  "3": {
1584
- "name": "invalid.illegal.unclosed-string.python"
1449
+ "name": "invalid.illegal.unclosed-string.python.renpy"
1585
1450
  }
1586
1451
  }
1587
1452
  },
1588
1453
  {
1589
- "name": "string.quoted.double.block.sql.python",
1590
- "begin": "(\"\"\")(?=\\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER))",
1454
+ "name": "string.quoted.double.block.python.renpy",
1455
+ "begin": "(\"\"\")",
1591
1456
  "end": "((?\u003c=\"\"\")(\")\"\"|\"\"\")",
1592
1457
  "patterns": [
1593
1458
  {
1594
- "include": "#constant_placeholder"
1595
- },
1596
- {
1597
- "include": "#escaped_char"
1598
- },
1599
- {
1600
- "include": "source.sql"
1601
- }
1602
- ],
1603
- "beginCaptures": {
1604
- "1": {
1605
- "name": "punctuation.definition.string.begin.python"
1606
- }
1607
- },
1608
- "endCaptures": {
1609
- "1": {
1610
- "name": "punctuation.definition.string.end.python"
1611
- },
1612
- "2": {
1613
- "name": "meta.empty-string.double.python"
1614
- }
1615
- }
1616
- },
1617
- {
1618
- "name": "string.quoted.double.single-line.sql.python",
1619
- "begin": "(\")(?=\\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER))",
1620
- "end": "((?\u003c=\")(\")|\")|(\\n)",
1621
- "patterns": [
1622
- {
1623
- "include": "#constant_placeholder"
1624
- },
1625
- {
1626
- "include": "#escaped_char"
1459
+ "include": "#escaped_placeholder"
1627
1460
  },
1628
- {
1629
- "include": "source.sql"
1630
- }
1631
- ],
1632
- "beginCaptures": {
1633
- "1": {
1634
- "name": "punctuation.definition.string.begin.python"
1635
- }
1636
- },
1637
- "endCaptures": {
1638
- "1": {
1639
- "name": "punctuation.definition.string.end.python"
1640
- },
1641
- "2": {
1642
- "name": "meta.empty-string.double.python"
1643
- },
1644
- "3": {
1645
- "name": "invalid.illegal.unclosed-string.python"
1646
- }
1647
- }
1648
- },
1649
- {
1650
- "name": "string.quoted.double.block.python",
1651
- "begin": "(\"\"\")",
1652
- "end": "((?\u003c=\"\"\")(\")\"\"|\"\"\")",
1653
- "patterns": [
1654
1461
  {
1655
1462
  "include": "#constant_placeholder"
1656
1463
  },
@@ -1660,23 +1467,26 @@
1660
1467
  ],
1661
1468
  "beginCaptures": {
1662
1469
  "1": {
1663
- "name": "punctuation.definition.string.begin.python"
1470
+ "name": "punctuation.definition.string.begin.python.renpy"
1664
1471
  }
1665
1472
  },
1666
1473
  "endCaptures": {
1667
1474
  "1": {
1668
- "name": "punctuation.definition.string.end.python"
1475
+ "name": "punctuation.definition.string.end.python.renpy"
1669
1476
  },
1670
1477
  "2": {
1671
- "name": "meta.empty-string.double.python"
1478
+ "name": "meta.empty-string.double.python.renpy"
1672
1479
  }
1673
1480
  }
1674
1481
  },
1675
1482
  {
1676
- "name": "string.quoted.double.single-line.python",
1483
+ "name": "string.quoted.double.single-line.python.renpy",
1677
1484
  "begin": "(\")",
1678
1485
  "end": "((?\u003c=\")(\")|\")",
1679
1486
  "patterns": [
1487
+ {
1488
+ "include": "#escaped_placeholder"
1489
+ },
1680
1490
  {
1681
1491
  "include": "#constant_placeholder"
1682
1492
  },
@@ -1686,18 +1496,18 @@
1686
1496
  ],
1687
1497
  "beginCaptures": {
1688
1498
  "1": {
1689
- "name": "punctuation.definition.string.begin.python"
1499
+ "name": "punctuation.definition.string.begin.python.renpy"
1690
1500
  }
1691
1501
  },
1692
1502
  "endCaptures": {
1693
1503
  "1": {
1694
- "name": "punctuation.definition.string.end.python"
1504
+ "name": "punctuation.definition.string.end.python.renpy"
1695
1505
  },
1696
1506
  "2": {
1697
- "name": "meta.empty-string.double.python"
1507
+ "name": "meta.empty-string.double.python.renpy"
1698
1508
  },
1699
1509
  "3": {
1700
- "name": "invalid.illegal.unclosed-string.python"
1510
+ "name": "invalid.illegal.unclosed-string.python.renpy"
1701
1511
  }
1702
1512
  }
1703
1513
  }
@@ -1706,25 +1516,28 @@
1706
1516
  "string_quoted_single": {
1707
1517
  "patterns": [
1708
1518
  {
1709
- "name": "string.quoted.single.single-line.python",
1519
+ "name": "string.quoted.single.single-line.python.renpy",
1710
1520
  "match": "(?\u003c!')(')(('))(?!')",
1711
1521
  "captures": {
1712
1522
  "1": {
1713
- "name": "punctuation.definition.string.begin.python"
1523
+ "name": "punctuation.definition.string.begin.python.renpy"
1714
1524
  },
1715
1525
  "2": {
1716
- "name": "punctuation.definition.string.end.python"
1526
+ "name": "punctuation.definition.string.end.python.renpy"
1717
1527
  },
1718
1528
  "3": {
1719
- "name": "meta.empty-string.single.python"
1529
+ "name": "meta.empty-string.single.python.renpy"
1720
1530
  }
1721
1531
  }
1722
1532
  },
1723
1533
  {
1724
- "name": "string.quoted.single.block.unicode-raw-regex.python",
1534
+ "name": "string.quoted.single.block.unicode-raw-regex.python.renpy",
1725
1535
  "begin": "([uU]r)(''')",
1726
1536
  "end": "((?\u003c=''')(')''|''')",
1727
1537
  "patterns": [
1538
+ {
1539
+ "include": "#escaped_placeholder"
1540
+ },
1728
1541
  {
1729
1542
  "include": "#constant_placeholder"
1730
1543
  },
@@ -1740,26 +1553,29 @@
1740
1553
  ],
1741
1554
  "beginCaptures": {
1742
1555
  "1": {
1743
- "name": "storage.type.string.python"
1556
+ "name": "storage.type.string.python.renpy"
1744
1557
  },
1745
1558
  "2": {
1746
- "name": "punctuation.definition.string.begin.python"
1559
+ "name": "punctuation.definition.string.begin.python.renpy"
1747
1560
  }
1748
1561
  },
1749
1562
  "endCaptures": {
1750
1563
  "1": {
1751
- "name": "punctuation.definition.string.end.python"
1564
+ "name": "punctuation.definition.string.end.python.renpy"
1752
1565
  },
1753
1566
  "2": {
1754
- "name": "meta.empty-string.single.python"
1567
+ "name": "meta.empty-string.single.python.renpy"
1755
1568
  }
1756
1569
  }
1757
1570
  },
1758
1571
  {
1759
- "name": "string.quoted.single.block.unicode-raw.python",
1572
+ "name": "string.quoted.single.block.unicode-raw.python.renpy",
1760
1573
  "begin": "([uU]R)(''')",
1761
1574
  "end": "((?\u003c=''')(')''|''')",
1762
1575
  "patterns": [
1576
+ {
1577
+ "include": "#escaped_placeholder"
1578
+ },
1763
1579
  {
1764
1580
  "include": "#constant_placeholder"
1765
1581
  },
@@ -1772,26 +1588,29 @@
1772
1588
  ],
1773
1589
  "beginCaptures": {
1774
1590
  "1": {
1775
- "name": "storage.type.string.python"
1591
+ "name": "storage.type.string.python.renpy"
1776
1592
  },
1777
1593
  "2": {
1778
- "name": "punctuation.definition.string.begin.python"
1594
+ "name": "punctuation.definition.string.begin.python.renpy"
1779
1595
  }
1780
1596
  },
1781
1597
  "endCaptures": {
1782
1598
  "1": {
1783
- "name": "punctuation.definition.string.end.python"
1599
+ "name": "punctuation.definition.string.end.python.renpy"
1784
1600
  },
1785
1601
  "2": {
1786
- "name": "meta.empty-string.single.python"
1602
+ "name": "meta.empty-string.single.python.renpy"
1787
1603
  }
1788
1604
  }
1789
1605
  },
1790
1606
  {
1791
- "name": "string.quoted.single.block.raw-regex.python",
1607
+ "name": "string.quoted.single.block.raw-regex.python.renpy",
1792
1608
  "begin": "(r)(''')",
1793
1609
  "end": "((?\u003c=''')(')''|''')",
1794
1610
  "patterns": [
1611
+ {
1612
+ "include": "#escaped_placeholder"
1613
+ },
1795
1614
  {
1796
1615
  "include": "#constant_placeholder"
1797
1616
  },
@@ -1804,26 +1623,29 @@
1804
1623
  ],
1805
1624
  "beginCaptures": {
1806
1625
  "1": {
1807
- "name": "storage.type.string.python"
1626
+ "name": "storage.type.string.python.renpy"
1808
1627
  },
1809
1628
  "2": {
1810
- "name": "punctuation.definition.string.begin.python"
1629
+ "name": "punctuation.definition.string.begin.python.renpy"
1811
1630
  }
1812
1631
  },
1813
1632
  "endCaptures": {
1814
1633
  "1": {
1815
- "name": "punctuation.definition.string.end.python"
1634
+ "name": "punctuation.definition.string.end.python.renpy"
1816
1635
  },
1817
1636
  "2": {
1818
- "name": "meta.empty-string.single.python"
1637
+ "name": "meta.empty-string.single.python.renpy"
1819
1638
  }
1820
1639
  }
1821
1640
  },
1822
1641
  {
1823
- "name": "string.quoted.single.block.raw.python",
1642
+ "name": "string.quoted.single.block.raw.python.renpy",
1824
1643
  "begin": "(R)(''')",
1825
1644
  "end": "((?\u003c=''')(')''|''')",
1826
1645
  "patterns": [
1646
+ {
1647
+ "include": "#escaped_placeholder"
1648
+ },
1827
1649
  {
1828
1650
  "include": "#constant_placeholder"
1829
1651
  },
@@ -1833,26 +1655,29 @@
1833
1655
  ],
1834
1656
  "beginCaptures": {
1835
1657
  "1": {
1836
- "name": "storage.type.string.python"
1658
+ "name": "storage.type.string.python.renpy"
1837
1659
  },
1838
1660
  "2": {
1839
- "name": "punctuation.definition.string.begin.python"
1661
+ "name": "punctuation.definition.string.begin.python.renpy"
1840
1662
  }
1841
1663
  },
1842
1664
  "endCaptures": {
1843
1665
  "1": {
1844
- "name": "punctuation.definition.string.end.python"
1666
+ "name": "punctuation.definition.string.end.python.renpy"
1845
1667
  },
1846
1668
  "2": {
1847
- "name": "meta.empty-string.single.python"
1669
+ "name": "meta.empty-string.single.python.renpy"
1848
1670
  }
1849
1671
  }
1850
1672
  },
1851
1673
  {
1852
- "name": "string.quoted.single.block.unicode.python",
1674
+ "name": "string.quoted.single.block.unicode.python.renpy",
1853
1675
  "begin": "([uU])(''')",
1854
1676
  "end": "((?\u003c=''')(')''|''')",
1855
1677
  "patterns": [
1678
+ {
1679
+ "include": "#escaped_placeholder"
1680
+ },
1856
1681
  {
1857
1682
  "include": "#constant_placeholder"
1858
1683
  },
@@ -1865,33 +1690,36 @@
1865
1690
  ],
1866
1691
  "beginCaptures": {
1867
1692
  "1": {
1868
- "name": "storage.type.string.python"
1693
+ "name": "storage.type.string.python.renpy"
1869
1694
  },
1870
1695
  "2": {
1871
- "name": "punctuation.definition.string.begin.python"
1696
+ "name": "punctuation.definition.string.begin.python.renpy"
1872
1697
  }
1873
1698
  },
1874
1699
  "endCaptures": {
1875
1700
  "1": {
1876
- "name": "punctuation.definition.string.end.python"
1701
+ "name": "punctuation.definition.string.end.python.renpy"
1877
1702
  },
1878
1703
  "2": {
1879
- "name": "meta.empty-string.single.python"
1704
+ "name": "meta.empty-string.single.python.renpy"
1880
1705
  }
1881
1706
  }
1882
1707
  },
1883
1708
  {
1884
- "name": "string.quoted.single.single-line.unicode-raw-regex.python",
1709
+ "name": "string.quoted.single.single-line.unicode-raw-regex.python.renpy",
1885
1710
  "match": "([uU]r)(')((?:[^'\\\\]|\\\\.)*)(')",
1886
1711
  "captures": {
1887
1712
  "1": {
1888
- "name": "storage.type.string.python"
1713
+ "name": "storage.type.string.python.renpy"
1889
1714
  },
1890
1715
  "2": {
1891
- "name": "punctuation.definition.string.begin.python"
1716
+ "name": "punctuation.definition.string.begin.python.renpy"
1892
1717
  },
1893
1718
  "3": {
1894
1719
  "patterns": [
1720
+ {
1721
+ "include": "#escaped_placeholder"
1722
+ },
1895
1723
  {
1896
1724
  "include": "#constant_placeholder"
1897
1725
  },
@@ -1907,15 +1735,18 @@
1907
1735
  ]
1908
1736
  },
1909
1737
  "4": {
1910
- "name": "punctuation.definition.string.end.python"
1738
+ "name": "punctuation.definition.string.end.python.renpy"
1911
1739
  }
1912
1740
  }
1913
1741
  },
1914
1742
  {
1915
- "name": "string.quoted.single.single-line.unicode-raw.python",
1743
+ "name": "string.quoted.single.single-line.unicode-raw.python.renpy",
1916
1744
  "begin": "([uU]R)(')",
1917
1745
  "end": "(')",
1918
1746
  "patterns": [
1747
+ {
1748
+ "include": "#escaped_placeholder"
1749
+ },
1919
1750
  {
1920
1751
  "include": "#constant_placeholder"
1921
1752
  },
@@ -1928,33 +1759,36 @@
1928
1759
  ],
1929
1760
  "beginCaptures": {
1930
1761
  "1": {
1931
- "name": "storage.type.string.python"
1762
+ "name": "storage.type.string.python.renpy"
1932
1763
  },
1933
1764
  "2": {
1934
- "name": "punctuation.definition.string.begin.python"
1765
+ "name": "punctuation.definition.string.begin.python.renpy"
1935
1766
  }
1936
1767
  },
1937
1768
  "endCaptures": {
1938
1769
  "1": {
1939
- "name": "punctuation.definition.string.end.python"
1770
+ "name": "punctuation.definition.string.end.python.renpy"
1940
1771
  },
1941
1772
  "2": {
1942
- "name": "invalid.illegal.unclosed-string.python"
1773
+ "name": "invalid.illegal.unclosed-string.python.renpy"
1943
1774
  }
1944
1775
  }
1945
1776
  },
1946
1777
  {
1947
- "name": "string.quoted.single.single-line.raw-regex.python",
1778
+ "name": "string.quoted.single.single-line.raw-regex.python.renpy",
1948
1779
  "match": "(r)(')((?:[^'\\\\]|\\\\.)*)(')",
1949
1780
  "captures": {
1950
1781
  "1": {
1951
- "name": "storage.type.string.python"
1782
+ "name": "storage.type.string.python.renpy"
1952
1783
  },
1953
1784
  "2": {
1954
- "name": "punctuation.definition.string.begin.python"
1785
+ "name": "punctuation.definition.string.begin.python.renpy"
1955
1786
  },
1956
1787
  "3": {
1957
1788
  "patterns": [
1789
+ {
1790
+ "include": "#escaped_placeholder"
1791
+ },
1958
1792
  {
1959
1793
  "include": "#constant_placeholder"
1960
1794
  },
@@ -1967,15 +1801,18 @@
1967
1801
  ]
1968
1802
  },
1969
1803
  "4": {
1970
- "name": "punctuation.definition.string.end.python"
1804
+ "name": "punctuation.definition.string.end.python.renpy"
1971
1805
  }
1972
1806
  }
1973
1807
  },
1974
1808
  {
1975
- "name": "string.quoted.single.single-line.raw.python",
1809
+ "name": "string.quoted.single.single-line.raw.python.renpy",
1976
1810
  "begin": "(R)(')",
1977
1811
  "end": "(')|(\\n)",
1978
1812
  "patterns": [
1813
+ {
1814
+ "include": "#escaped_placeholder"
1815
+ },
1979
1816
  {
1980
1817
  "include": "#constant_placeholder"
1981
1818
  },
@@ -1985,26 +1822,29 @@
1985
1822
  ],
1986
1823
  "beginCaptures": {
1987
1824
  "1": {
1988
- "name": "storage.type.string.python"
1825
+ "name": "storage.type.string.python.renpy"
1989
1826
  },
1990
1827
  "2": {
1991
- "name": "punctuation.definition.string.begin.python"
1828
+ "name": "punctuation.definition.string.begin.python.renpy"
1992
1829
  }
1993
1830
  },
1994
1831
  "endCaptures": {
1995
1832
  "1": {
1996
- "name": "punctuation.definition.string.end.python"
1833
+ "name": "punctuation.definition.string.end.python.renpy"
1997
1834
  },
1998
1835
  "2": {
1999
- "name": "invalid.illegal.unclosed-string.python"
1836
+ "name": "invalid.illegal.unclosed-string.python.renpy"
2000
1837
  }
2001
1838
  }
2002
1839
  },
2003
1840
  {
2004
- "name": "string.quoted.single.single-line.unicode.python",
1841
+ "name": "string.quoted.single.single-line.unicode.python.renpy",
2005
1842
  "begin": "([uU])(')",
2006
1843
  "end": "(')",
2007
1844
  "patterns": [
1845
+ {
1846
+ "include": "#escaped_placeholder"
1847
+ },
2008
1848
  {
2009
1849
  "include": "#constant_placeholder"
2010
1850
  },
@@ -2017,84 +1857,29 @@
2017
1857
  ],
2018
1858
  "beginCaptures": {
2019
1859
  "1": {
2020
- "name": "storage.type.string.python"
1860
+ "name": "storage.type.string.python.renpy"
2021
1861
  },
2022
1862
  "2": {
2023
- "name": "punctuation.definition.string.begin.python"
1863
+ "name": "punctuation.definition.string.begin.python.renpy"
2024
1864
  }
2025
1865
  },
2026
1866
  "endCaptures": {
2027
1867
  "1": {
2028
- "name": "punctuation.definition.string.end.python"
1868
+ "name": "punctuation.definition.string.end.python.renpy"
2029
1869
  },
2030
1870
  "2": {
2031
- "name": "invalid.illegal.unclosed-string.python"
1871
+ "name": "invalid.illegal.unclosed-string.python.renpy"
2032
1872
  }
2033
1873
  }
2034
1874
  },
2035
1875
  {
2036
- "name": "string.quoted.single.block.python",
2037
- "begin": "(''')(?=\\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER))",
1876
+ "name": "string.quoted.single.block.python.renpy",
1877
+ "begin": "(''')",
2038
1878
  "end": "((?\u003c=''')(')''|''')",
2039
1879
  "patterns": [
2040
1880
  {
2041
- "include": "#constant_placeholder"
2042
- },
2043
- {
2044
- "include": "#escaped_char"
2045
- },
2046
- {
2047
- "include": "source.sql"
2048
- }
2049
- ],
2050
- "beginCaptures": {
2051
- "1": {
2052
- "name": "punctuation.definition.string.begin.python"
2053
- }
2054
- },
2055
- "endCaptures": {
2056
- "1": {
2057
- "name": "punctuation.definition.string.end.python"
2058
- },
2059
- "2": {
2060
- "name": "meta.empty-string.single.python"
2061
- }
2062
- }
2063
- },
2064
- {
2065
- "name": "string.quoted.single.single-line.python",
2066
- "begin": "(')(?=\\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER))",
2067
- "end": "(')|(\\n)",
2068
- "patterns": [
2069
- {
2070
- "include": "#constant_placeholder"
2071
- },
2072
- {
2073
- "include": "#escaped_char"
1881
+ "include": "#escaped_placeholder"
2074
1882
  },
2075
- {
2076
- "include": "source.sql"
2077
- }
2078
- ],
2079
- "beginCaptures": {
2080
- "1": {
2081
- "name": "punctuation.definition.string.begin.python"
2082
- }
2083
- },
2084
- "endCaptures": {
2085
- "1": {
2086
- "name": "punctuation.definition.string.end.python"
2087
- },
2088
- "2": {
2089
- "name": "invalid.illegal.unclosed-string.python"
2090
- }
2091
- }
2092
- },
2093
- {
2094
- "name": "string.quoted.single.block.python",
2095
- "begin": "(''')",
2096
- "end": "((?\u003c=''')(')''|''')",
2097
- "patterns": [
2098
1883
  {
2099
1884
  "include": "#constant_placeholder"
2100
1885
  },
@@ -2104,23 +1889,26 @@
2104
1889
  ],
2105
1890
  "beginCaptures": {
2106
1891
  "1": {
2107
- "name": "punctuation.definition.string.begin.python"
1892
+ "name": "punctuation.definition.string.begin.python.renpy"
2108
1893
  }
2109
1894
  },
2110
1895
  "endCaptures": {
2111
1896
  "1": {
2112
- "name": "punctuation.definition.string.end.python"
1897
+ "name": "punctuation.definition.string.end.python.renpy"
2113
1898
  },
2114
1899
  "2": {
2115
- "name": "meta.empty-string.single.python"
1900
+ "name": "meta.empty-string.single.python.renpy"
2116
1901
  }
2117
1902
  }
2118
1903
  },
2119
1904
  {
2120
- "name": "string.quoted.single.single-line.python",
1905
+ "name": "string.quoted.single.single-line.python.renpy",
2121
1906
  "begin": "(')",
2122
1907
  "end": "(')",
2123
1908
  "patterns": [
1909
+ {
1910
+ "include": "#escaped_placeholder"
1911
+ },
2124
1912
  {
2125
1913
  "include": "#constant_placeholder"
2126
1914
  },
@@ -2130,15 +1918,15 @@
2130
1918
  ],
2131
1919
  "beginCaptures": {
2132
1920
  "1": {
2133
- "name": "punctuation.definition.string.begin.python"
1921
+ "name": "punctuation.definition.string.begin.python.renpy"
2134
1922
  }
2135
1923
  },
2136
1924
  "endCaptures": {
2137
1925
  "1": {
2138
- "name": "punctuation.definition.string.end.python"
1926
+ "name": "punctuation.definition.string.end.python.renpy"
2139
1927
  },
2140
1928
  "2": {
2141
- "name": "invalid.illegal.unclosed-string.python"
1929
+ "name": "invalid.illegal.unclosed-string.python.renpy"
2142
1930
  }
2143
1931
  }
2144
1932
  }