tm-grammars 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/LICENSE +22 -0
  2. package/NOTICE +6565 -0
  3. package/README.md +211 -0
  4. package/grammars/abap.json +380 -0
  5. package/grammars/actionscript-3.json +951 -0
  6. package/grammars/ada.json +3874 -0
  7. package/grammars/apache.json +562 -0
  8. package/grammars/apex.json +3203 -0
  9. package/grammars/apl.json +1479 -0
  10. package/grammars/applescript.json +1406 -0
  11. package/grammars/ara.json +428 -0
  12. package/grammars/asm.json +1741 -0
  13. package/grammars/astro.json +776 -0
  14. package/grammars/awk.json +388 -0
  15. package/grammars/ballerina.json +3768 -0
  16. package/grammars/bat.json +783 -0
  17. package/grammars/beancount.json +831 -0
  18. package/grammars/berry.json +172 -0
  19. package/grammars/bibtex.json +315 -0
  20. package/grammars/bicep.json +239 -0
  21. package/grammars/blade.json +3870 -0
  22. package/grammars/c.json +3552 -0
  23. package/grammars/cadence.json +738 -0
  24. package/grammars/clarity.json +877 -0
  25. package/grammars/clojure.json +426 -0
  26. package/grammars/cmake.json +143 -0
  27. package/grammars/cobol.json +1124 -0
  28. package/grammars/codeql.json +1540 -0
  29. package/grammars/coffee.json +1311 -0
  30. package/grammars/cpp-macro.json +9498 -0
  31. package/grammars/cpp.json +16635 -0
  32. package/grammars/crystal.json +1866 -0
  33. package/grammars/csharp.json +5722 -0
  34. package/grammars/css.json +1860 -0
  35. package/grammars/csv.json +46 -0
  36. package/grammars/cue.json +1128 -0
  37. package/grammars/cypher.json +353 -0
  38. package/grammars/d.json +3185 -0
  39. package/grammars/dart.json +522 -0
  40. package/grammars/dax.json +185 -0
  41. package/grammars/diff.json +155 -0
  42. package/grammars/docker.json +97 -0
  43. package/grammars/dream-maker.json +640 -0
  44. package/grammars/elixir.json +1014 -0
  45. package/grammars/elm.json +751 -0
  46. package/grammars/erb.json +156 -0
  47. package/grammars/erlang.json +1757 -0
  48. package/grammars/fish.json +189 -0
  49. package/grammars/fsharp.json +1831 -0
  50. package/grammars/gdresource.json +290 -0
  51. package/grammars/gdscript.json +969 -0
  52. package/grammars/gdshader.json +405 -0
  53. package/grammars/gherkin.json +133 -0
  54. package/grammars/git-commit.json +85 -0
  55. package/grammars/git-rebase.json +56 -0
  56. package/grammars/glimmer-js.json +98 -0
  57. package/grammars/glimmer-ts.json +98 -0
  58. package/grammars/glsl.json +57 -0
  59. package/grammars/gnuplot.json +892 -0
  60. package/grammars/go.json +1012 -0
  61. package/grammars/graphql.json +1295 -0
  62. package/grammars/groovy.json +1378 -0
  63. package/grammars/hack.json +2650 -0
  64. package/grammars/haml.json +598 -0
  65. package/grammars/handlebars.json +848 -0
  66. package/grammars/haskell.json +2431 -0
  67. package/grammars/hcl.json +787 -0
  68. package/grammars/hjson.json +821 -0
  69. package/grammars/hlsl.json +212 -0
  70. package/grammars/html.json +93 -0
  71. package/grammars/imba.json +2696 -0
  72. package/grammars/ini.json +108 -0
  73. package/grammars/java.json +1885 -0
  74. package/grammars/javascript.json +5984 -0
  75. package/grammars/jinja-html.json +16 -0
  76. package/grammars/jinja.json +345 -0
  77. package/grammars/jison.json +715 -0
  78. package/grammars/jsdoc.json +21 -0
  79. package/grammars/json.json +208 -0
  80. package/grammars/json5.json +244 -0
  81. package/grammars/jsonc.json +208 -0
  82. package/grammars/jsonl.json +208 -0
  83. package/grammars/jsonnet.json +211 -0
  84. package/grammars/jssm.json +159 -0
  85. package/grammars/jsx.json +5984 -0
  86. package/grammars/julia.json +1061 -0
  87. package/grammars/kotlin.json +580 -0
  88. package/grammars/kusto.json +687 -0
  89. package/grammars/latex.json +2395 -0
  90. package/grammars/less.json +5012 -0
  91. package/grammars/liquid.json +990 -0
  92. package/grammars/lisp.json +121 -0
  93. package/grammars/logo.json +55 -0
  94. package/grammars/lua.json +956 -0
  95. package/grammars/make.json +629 -0
  96. package/grammars/markdown.json +3066 -0
  97. package/grammars/marko.json +1344 -0
  98. package/grammars/matlab.json +1131 -0
  99. package/grammars/mdc.json +571 -0
  100. package/grammars/mdx.json +5629 -0
  101. package/grammars/mermaid.json +1382 -0
  102. package/grammars/mojo.json +4153 -0
  103. package/grammars/narrat.json +227 -0
  104. package/grammars/nextflow.json +298 -0
  105. package/grammars/nginx.json +2121 -0
  106. package/grammars/nim.json +1522 -0
  107. package/grammars/nix.json +1200 -0
  108. package/grammars/nushell.json +1047 -0
  109. package/grammars/objective-c.json +3750 -0
  110. package/grammars/objective-cpp.json +7242 -0
  111. package/grammars/ocaml.json +2967 -0
  112. package/grammars/pascal.json +154 -0
  113. package/grammars/perl.json +2971 -0
  114. package/grammars/php.json +4024 -0
  115. package/grammars/plsql.json +241 -0
  116. package/grammars/postcss.json +377 -0
  117. package/grammars/powerquery.json +349 -0
  118. package/grammars/powershell.json +1024 -0
  119. package/grammars/prisma.json +443 -0
  120. package/grammars/prolog.json +298 -0
  121. package/grammars/proto.json +507 -0
  122. package/grammars/pug.json +1033 -0
  123. package/grammars/puppet.json +777 -0
  124. package/grammars/purescript.json +871 -0
  125. package/grammars/python.json +4208 -0
  126. package/grammars/r.json +637 -0
  127. package/grammars/raku.json +310 -0
  128. package/grammars/razor.json +1813 -0
  129. package/grammars/reg.json +136 -0
  130. package/grammars/rel.json +200 -0
  131. package/grammars/riscv.json +298 -0
  132. package/grammars/rst.json +734 -0
  133. package/grammars/ruby.json +2769 -0
  134. package/grammars/rust.json +1171 -0
  135. package/grammars/sas.json +302 -0
  136. package/grammars/sass.json +618 -0
  137. package/grammars/scala.json +1313 -0
  138. package/grammars/scheme.json +384 -0
  139. package/grammars/scss.json +1874 -0
  140. package/grammars/shaderlab.json +199 -0
  141. package/grammars/shellscript.json +2025 -0
  142. package/grammars/shellsession.json +33 -0
  143. package/grammars/smalltalk.json +235 -0
  144. package/grammars/solidity.json +1210 -0
  145. package/grammars/sparql.json +45 -0
  146. package/grammars/splunk.json +91 -0
  147. package/grammars/sql.json +631 -0
  148. package/grammars/ssh-config.json +88 -0
  149. package/grammars/stata.json +3050 -0
  150. package/grammars/stylus.json +1208 -0
  151. package/grammars/svelte.json +1171 -0
  152. package/grammars/swift.json +4203 -0
  153. package/grammars/system-verilog.json +1063 -0
  154. package/grammars/tasl.json +292 -0
  155. package/grammars/tcl.json +291 -0
  156. package/grammars/tex.json +281 -0
  157. package/grammars/toml.json +431 -0
  158. package/grammars/tsx.json +5984 -0
  159. package/grammars/turtle.json +261 -0
  160. package/grammars/twig.json +1394 -0
  161. package/grammars/typescript.json +5735 -0
  162. package/grammars/v.json +1001 -0
  163. package/grammars/vb.json +232 -0
  164. package/grammars/verilog.json +305 -0
  165. package/grammars/vhdl.json +1484 -0
  166. package/grammars/viml.json +445 -0
  167. package/grammars/vue-html.json +559 -0
  168. package/grammars/vue.json +1237 -0
  169. package/grammars/vyper.json +5415 -0
  170. package/grammars/wasm.json +831 -0
  171. package/grammars/wenyan.json +129 -0
  172. package/grammars/wgsl.json +391 -0
  173. package/grammars/wolfram.json +2370 -0
  174. package/grammars/xml.json +382 -0
  175. package/grammars/xsl.json +89 -0
  176. package/grammars/yaml.json +616 -0
  177. package/grammars/zenscript.json +257 -0
  178. package/grammars/zig.json +312 -0
  179. package/index.d.ts +18 -0
  180. package/index.js +2165 -0
  181. package/package.json +46 -0
@@ -0,0 +1,1394 @@
1
+ {
2
+ "displayName": "Twig",
3
+ "fileTypes": [
4
+ "twig",
5
+ "html.twig"
6
+ ],
7
+ "firstLineMatch": "<!(?i:DOCTYPE)|<(?i:html)|<\\?(?i:php)|\\{\\{|\\{%|\\{#",
8
+ "foldingStartMarker": "(?x)\n (<(?i:body|div|dl|fieldset|form|head|li|ol|script|select|style|table|tbody|tfoot|thead|tr|ul)\\b.*?>\n |<!--(?!.*--\\s*>)\n |^<!--\\ \\#tminclude\\ (?>.*?-->)$\n |\\{%\\s+(autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim)\n )",
9
+ "foldingStopMarker": "(?x)\n (</(?i:body|div|dl|fieldset|form|head|li|ol|script|select|style|table|tbody|tfoot|thead|tr|ul)>\n |^(?!.*?<!--).*?--\\s*>\n |^<!--\\ end\\ tminclude\\ -->$\n |\\{%\\s+end(autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim)\n )",
10
+ "name": "twig",
11
+ "patterns": [
12
+ {
13
+ "begin": "(<)([a-zA-Z0-9:]++)(?=[^>]*></\\2>)",
14
+ "beginCaptures": {
15
+ "1": {
16
+ "name": "punctuation.definition.tag.html"
17
+ },
18
+ "2": {
19
+ "name": "entity.name.tag.html"
20
+ }
21
+ },
22
+ "end": "(>(<)/)(\\2)(>)",
23
+ "endCaptures": {
24
+ "1": {
25
+ "name": "punctuation.definition.tag.html"
26
+ },
27
+ "2": {
28
+ "name": "meta.scope.between-tag-pair.html"
29
+ },
30
+ "3": {
31
+ "name": "entity.name.tag.html"
32
+ },
33
+ "4": {
34
+ "name": "punctuation.definition.tag.html"
35
+ }
36
+ },
37
+ "name": "meta.tag.any.html",
38
+ "patterns": [
39
+ {
40
+ "include": "#tag-stuff"
41
+ }
42
+ ]
43
+ },
44
+ {
45
+ "begin": "(<\\?)(xml)",
46
+ "captures": {
47
+ "1": {
48
+ "name": "punctuation.definition.tag.html"
49
+ },
50
+ "2": {
51
+ "name": "entity.name.tag.xml.html"
52
+ }
53
+ },
54
+ "end": "(\\?>)",
55
+ "name": "meta.tag.preprocessor.xml.html",
56
+ "patterns": [
57
+ {
58
+ "include": "#tag-generic-attribute"
59
+ },
60
+ {
61
+ "include": "#string-double-quoted"
62
+ },
63
+ {
64
+ "include": "#string-single-quoted"
65
+ }
66
+ ]
67
+ },
68
+ {
69
+ "begin": "<!--",
70
+ "captures": {
71
+ "0": {
72
+ "name": "punctuation.definition.comment.html"
73
+ }
74
+ },
75
+ "end": "--\\s*>",
76
+ "name": "comment.block.html",
77
+ "patterns": [
78
+ {
79
+ "match": "--",
80
+ "name": "invalid.illegal.bad-comments-or-CDATA.html"
81
+ },
82
+ {
83
+ "include": "#embedded-code"
84
+ }
85
+ ]
86
+ },
87
+ {
88
+ "begin": "<!",
89
+ "captures": {
90
+ "0": {
91
+ "name": "punctuation.definition.tag.html"
92
+ }
93
+ },
94
+ "end": ">",
95
+ "name": "meta.tag.sgml.html",
96
+ "patterns": [
97
+ {
98
+ "begin": "(?i:DOCTYPE)",
99
+ "captures": {
100
+ "1": {
101
+ "name": "entity.name.tag.doctype.html"
102
+ }
103
+ },
104
+ "end": "(?=>)",
105
+ "name": "meta.tag.sgml.doctype.html",
106
+ "patterns": [
107
+ {
108
+ "match": "\"[^\">]*\"",
109
+ "name": "string.quoted.double.doctype.identifiers-and-DTDs.html"
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ "begin": "\\[CDATA\\[",
115
+ "end": "]](?=>)",
116
+ "name": "constant.other.inline-data.html"
117
+ },
118
+ {
119
+ "match": "(\\s*)(?!--|>)\\S(\\s*)",
120
+ "name": "invalid.illegal.bad-comments-or-CDATA.html"
121
+ }
122
+ ]
123
+ },
124
+ {
125
+ "include": "#embedded-code"
126
+ },
127
+ {
128
+ "begin": "(?:^\\s+)?(<)((?i:style))\\b(?![^>]*/>)",
129
+ "captures": {
130
+ "1": {
131
+ "name": "punctuation.definition.tag.html"
132
+ },
133
+ "2": {
134
+ "name": "entity.name.tag.style.html"
135
+ },
136
+ "3": {
137
+ "name": "punctuation.definition.tag.html"
138
+ }
139
+ },
140
+ "end": "(</)((?i:style))(>)(?:\\s*\\n)?",
141
+ "name": "source.css.embedded.html",
142
+ "patterns": [
143
+ {
144
+ "include": "#tag-stuff"
145
+ },
146
+ {
147
+ "begin": "(>)",
148
+ "beginCaptures": {
149
+ "1": {
150
+ "name": "punctuation.definition.tag.html"
151
+ }
152
+ },
153
+ "end": "(?=</(?i:style))",
154
+ "patterns": [
155
+ {
156
+ "include": "#embedded-code"
157
+ },
158
+ {
159
+ "include": "source.css"
160
+ }
161
+ ]
162
+ }
163
+ ]
164
+ },
165
+ {
166
+ "begin": "(?:^\\s+)?(<)((?i:script))\\b(?![^>]*/>)",
167
+ "beginCaptures": {
168
+ "1": {
169
+ "name": "punctuation.definition.tag.html"
170
+ },
171
+ "2": {
172
+ "name": "entity.name.tag.script.html"
173
+ }
174
+ },
175
+ "end": "(?<=</(script|SCRIPT))(>)(?:\\s*\\n)?",
176
+ "endCaptures": {
177
+ "2": {
178
+ "name": "punctuation.definition.tag.html"
179
+ }
180
+ },
181
+ "name": "source.js.embedded.html",
182
+ "patterns": [
183
+ {
184
+ "include": "#tag-stuff"
185
+ },
186
+ {
187
+ "begin": "(?<!</(?:script|SCRIPT))(>)",
188
+ "captures": {
189
+ "1": {
190
+ "name": "punctuation.definition.tag.html"
191
+ },
192
+ "2": {
193
+ "name": "entity.name.tag.script.html"
194
+ }
195
+ },
196
+ "end": "(</)((?i:script))",
197
+ "patterns": [
198
+ {
199
+ "captures": {
200
+ "1": {
201
+ "name": "punctuation.definition.comment.js"
202
+ }
203
+ },
204
+ "match": "(//).*?((?=</script)|$\\n?)",
205
+ "name": "comment.line.double-slash.js"
206
+ },
207
+ {
208
+ "begin": "/\\*",
209
+ "captures": {
210
+ "0": {
211
+ "name": "punctuation.definition.comment.js"
212
+ }
213
+ },
214
+ "end": "\\*/|(?=</script)",
215
+ "name": "comment.block.js"
216
+ },
217
+ {
218
+ "include": "#php"
219
+ },
220
+ {
221
+ "include": "#twig-print-tag"
222
+ },
223
+ {
224
+ "include": "#twig-statement-tag"
225
+ },
226
+ {
227
+ "include": "#twig-comment-tag"
228
+ },
229
+ {
230
+ "include": "source.js"
231
+ }
232
+ ]
233
+ }
234
+ ]
235
+ },
236
+ {
237
+ "begin": "(?ix) # Enable free spacing mode, case insensitive\n # Make sure our opening js tag has word boundaries\n (?<=\\{\\%\\sjs\\s\\%\\}|\\{\\%\\sincludejs\\s\\%\\})\n ",
238
+ "comment": "Add JS support to set tags that use the pattern \"css\" in their name",
239
+ "end": "(?ix)(?=\\{\\%\\sendjs\\s\\%\\}|\\{\\%\\sendincludejs\\s\\%\\})",
240
+ "name": "source.js.embedded.twig",
241
+ "patterns": [
242
+ {
243
+ "include": "source.js"
244
+ }
245
+ ]
246
+ },
247
+ {
248
+ "begin": "(?ix) # Enable free spacing mode, case insensitive\n (?<=\\{\\%\\scss\\s\\%\\}|\\{\\%\\sincludecss\\s\\%\\}|\\{\\%\\sincludehirescss\\s\\%\\})\n ",
249
+ "comment": "Add CSS support to set tags that use the pattern \"css\" in their name",
250
+ "end": "(?ix)(?=\\{\\%\\sendcss\\s\\%\\}|\\{\\%\\sendincludecss\\s\\%\\}|\\{\\%\\sendincludehirescss\\s\\%\\})",
251
+ "name": "source.css.embedded.twig",
252
+ "patterns": [
253
+ {
254
+ "include": "source.css"
255
+ }
256
+ ]
257
+ },
258
+ {
259
+ "begin": "(?ix) # Enable free spacing mode, case insensitive\n (?<=\\{\\%\\sscss\\s\\%\\}|\\{\\%\\sincludescss\\s\\%\\}|\\{\\%\\sincludehiresscss\\s\\%\\})\n ",
260
+ "comment": "Add SCSS support to set tags that use the pattern \"scss\" in their name",
261
+ "end": "(?ix)(?=\\{\\%\\sendscss\\s\\%\\}|\\{\\%\\sendincludescss\\s\\%\\}|\\{\\%\\sendincludehiresscss\\s\\%\\})",
262
+ "name": "source.css.scss.embedded.twig",
263
+ "patterns": [
264
+ {
265
+ "include": "source.css.scss"
266
+ }
267
+ ]
268
+ },
269
+ {
270
+ "begin": "(</?)((?i:body|head|html)\\b)",
271
+ "captures": {
272
+ "1": {
273
+ "name": "punctuation.definition.tag.html"
274
+ },
275
+ "2": {
276
+ "name": "entity.name.tag.structure.any.html"
277
+ }
278
+ },
279
+ "end": "(>)",
280
+ "name": "meta.tag.structure.any.html",
281
+ "patterns": [
282
+ {
283
+ "include": "#tag-stuff"
284
+ }
285
+ ]
286
+ },
287
+ {
288
+ "begin": "(</?)((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)\\b)",
289
+ "beginCaptures": {
290
+ "1": {
291
+ "name": "punctuation.definition.tag.begin.html"
292
+ },
293
+ "2": {
294
+ "name": "entity.name.tag.block.any.html"
295
+ }
296
+ },
297
+ "end": "(>)",
298
+ "endCaptures": {
299
+ "1": {
300
+ "name": "punctuation.definition.tag.end.html"
301
+ }
302
+ },
303
+ "name": "meta.tag.block.any.html",
304
+ "patterns": [
305
+ {
306
+ "include": "#tag-stuff"
307
+ }
308
+ ]
309
+ },
310
+ {
311
+ "begin": "(</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\\b)",
312
+ "beginCaptures": {
313
+ "1": {
314
+ "name": "punctuation.definition.tag.begin.html"
315
+ },
316
+ "2": {
317
+ "name": "entity.name.tag.inline.any.html"
318
+ }
319
+ },
320
+ "end": "((?: ?/)?>)",
321
+ "endCaptures": {
322
+ "1": {
323
+ "name": "punctuation.definition.tag.end.html"
324
+ }
325
+ },
326
+ "name": "meta.tag.inline.any.html",
327
+ "patterns": [
328
+ {
329
+ "include": "#tag-stuff"
330
+ }
331
+ ]
332
+ },
333
+ {
334
+ "begin": "(</?)([a-zA-Z0-9:]+)",
335
+ "beginCaptures": {
336
+ "1": {
337
+ "name": "punctuation.definition.tag.begin.html"
338
+ },
339
+ "2": {
340
+ "name": "entity.name.tag.other.html"
341
+ }
342
+ },
343
+ "end": "(>)",
344
+ "endCaptures": {
345
+ "1": {
346
+ "name": "punctuation.definition.tag.end.html"
347
+ }
348
+ },
349
+ "name": "meta.tag.other.html",
350
+ "patterns": [
351
+ {
352
+ "include": "#tag-stuff"
353
+ }
354
+ ]
355
+ },
356
+ {
357
+ "include": "#entities"
358
+ },
359
+ {
360
+ "match": "<>",
361
+ "name": "invalid.illegal.incomplete.html"
362
+ },
363
+ {
364
+ "match": "<",
365
+ "name": "invalid.illegal.bad-angle-bracket.html"
366
+ },
367
+ {
368
+ "include": "#twig-print-tag"
369
+ },
370
+ {
371
+ "include": "#twig-statement-tag"
372
+ },
373
+ {
374
+ "include": "#twig-comment-tag"
375
+ }
376
+ ],
377
+ "repository": {
378
+ "embedded-code": {
379
+ "patterns": [
380
+ {
381
+ "include": "#ruby"
382
+ },
383
+ {
384
+ "include": "#php"
385
+ },
386
+ {
387
+ "include": "#twig-print-tag"
388
+ },
389
+ {
390
+ "include": "#twig-statement-tag"
391
+ },
392
+ {
393
+ "include": "#twig-comment-tag"
394
+ },
395
+ {
396
+ "include": "#python"
397
+ }
398
+ ]
399
+ },
400
+ "entities": {
401
+ "patterns": [
402
+ {
403
+ "captures": {
404
+ "1": {
405
+ "name": "punctuation.definition.entity.html"
406
+ },
407
+ "3": {
408
+ "name": "punctuation.definition.entity.html"
409
+ }
410
+ },
411
+ "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)",
412
+ "name": "constant.character.entity.html"
413
+ },
414
+ {
415
+ "match": "&",
416
+ "name": "invalid.illegal.bad-ampersand.html"
417
+ }
418
+ ]
419
+ },
420
+ "php": {
421
+ "begin": "(?=(^\\s*)?<\\?)",
422
+ "end": "(?!(^\\s*)?<\\?)",
423
+ "patterns": [
424
+ {
425
+ "include": "source.php"
426
+ }
427
+ ]
428
+ },
429
+ "python": {
430
+ "begin": "(?:^\\s*)<\\?python(?!.*\\?>)",
431
+ "end": "\\?>(?:\\s*$\\n)?",
432
+ "name": "source.python.embedded.html",
433
+ "patterns": [
434
+ {
435
+ "include": "source.python"
436
+ }
437
+ ]
438
+ },
439
+ "ruby": {
440
+ "patterns": [
441
+ {
442
+ "begin": "<%+#",
443
+ "captures": {
444
+ "0": {
445
+ "name": "punctuation.definition.comment.erb"
446
+ }
447
+ },
448
+ "end": "%>",
449
+ "name": "comment.block.erb"
450
+ },
451
+ {
452
+ "begin": "<%+(?!>)=?",
453
+ "captures": {
454
+ "0": {
455
+ "name": "punctuation.section.embedded.ruby"
456
+ }
457
+ },
458
+ "end": "-?%>",
459
+ "name": "source.ruby.embedded.html",
460
+ "patterns": [
461
+ {
462
+ "captures": {
463
+ "1": {
464
+ "name": "punctuation.definition.comment.ruby"
465
+ }
466
+ },
467
+ "match": "(#).*?(?=-?%>)",
468
+ "name": "comment.line.number-sign.ruby"
469
+ },
470
+ {
471
+ "include": "source.ruby"
472
+ }
473
+ ]
474
+ },
475
+ {
476
+ "begin": "<\\?r(?!>)=?",
477
+ "captures": {
478
+ "0": {
479
+ "name": "punctuation.section.embedded.ruby.nitro"
480
+ }
481
+ },
482
+ "end": "-?\\?>",
483
+ "name": "source.ruby.nitro.embedded.html",
484
+ "patterns": [
485
+ {
486
+ "captures": {
487
+ "1": {
488
+ "name": "punctuation.definition.comment.ruby.nitro"
489
+ }
490
+ },
491
+ "match": "(#).*?(?=-?\\?>)",
492
+ "name": "comment.line.number-sign.ruby.nitro"
493
+ },
494
+ {
495
+ "include": "source.ruby"
496
+ }
497
+ ]
498
+ }
499
+ ]
500
+ },
501
+ "string-double-quoted": {
502
+ "begin": "\"",
503
+ "beginCaptures": {
504
+ "0": {
505
+ "name": "punctuation.definition.string.begin.html"
506
+ }
507
+ },
508
+ "end": "\"",
509
+ "endCaptures": {
510
+ "0": {
511
+ "name": "punctuation.definition.string.end.html"
512
+ }
513
+ },
514
+ "name": "string.quoted.double.html",
515
+ "patterns": [
516
+ {
517
+ "include": "#embedded-code"
518
+ },
519
+ {
520
+ "include": "#entities"
521
+ }
522
+ ]
523
+ },
524
+ "string-single-quoted": {
525
+ "begin": "'",
526
+ "beginCaptures": {
527
+ "0": {
528
+ "name": "punctuation.definition.string.begin.html"
529
+ }
530
+ },
531
+ "end": "'",
532
+ "endCaptures": {
533
+ "0": {
534
+ "name": "punctuation.definition.string.end.html"
535
+ }
536
+ },
537
+ "name": "string.quoted.single.html",
538
+ "patterns": [
539
+ {
540
+ "include": "#embedded-code"
541
+ },
542
+ {
543
+ "include": "#entities"
544
+ }
545
+ ]
546
+ },
547
+ "tag-generic-attribute": {
548
+ "match": "\\b([a-zA-Z\\-:]+)",
549
+ "name": "entity.other.attribute-name.html"
550
+ },
551
+ "tag-id-attribute": {
552
+ "begin": "\\b(id)\\b\\s*(=)",
553
+ "captures": {
554
+ "1": {
555
+ "name": "entity.other.attribute-name.id.html"
556
+ },
557
+ "2": {
558
+ "name": "punctuation.separator.key-value.html"
559
+ }
560
+ },
561
+ "end": "(?<='|\")",
562
+ "name": "meta.attribute-with-value.id.html",
563
+ "patterns": [
564
+ {
565
+ "begin": "\"",
566
+ "beginCaptures": {
567
+ "0": {
568
+ "name": "punctuation.definition.string.begin.html"
569
+ }
570
+ },
571
+ "contentName": "meta.toc-list.id.html",
572
+ "end": "\"",
573
+ "endCaptures": {
574
+ "0": {
575
+ "name": "punctuation.definition.string.end.html"
576
+ }
577
+ },
578
+ "name": "string.quoted.double.html",
579
+ "patterns": [
580
+ {
581
+ "include": "#embedded-code"
582
+ },
583
+ {
584
+ "include": "#entities"
585
+ }
586
+ ]
587
+ },
588
+ {
589
+ "begin": "'",
590
+ "beginCaptures": {
591
+ "0": {
592
+ "name": "punctuation.definition.string.begin.html"
593
+ }
594
+ },
595
+ "contentName": "meta.toc-list.id.html",
596
+ "end": "'",
597
+ "endCaptures": {
598
+ "0": {
599
+ "name": "punctuation.definition.string.end.html"
600
+ }
601
+ },
602
+ "name": "string.quoted.single.html",
603
+ "patterns": [
604
+ {
605
+ "include": "#embedded-code"
606
+ },
607
+ {
608
+ "include": "#entities"
609
+ }
610
+ ]
611
+ }
612
+ ]
613
+ },
614
+ "tag-stuff": {
615
+ "patterns": [
616
+ {
617
+ "include": "#tag-id-attribute"
618
+ },
619
+ {
620
+ "include": "#tag-generic-attribute"
621
+ },
622
+ {
623
+ "include": "#string-double-quoted"
624
+ },
625
+ {
626
+ "include": "#string-single-quoted"
627
+ },
628
+ {
629
+ "include": "#embedded-code"
630
+ }
631
+ ]
632
+ },
633
+ "twig-arrays": {
634
+ "begin": "(?<=[\\s\\(\\{\\[:,])\\[",
635
+ "beginCaptures": {
636
+ "0": {
637
+ "name": "punctuation.section.array.begin.twig"
638
+ }
639
+ },
640
+ "end": "\\]",
641
+ "endCaptures": {
642
+ "0": {
643
+ "name": "punctuation.section.array.end.twig"
644
+ }
645
+ },
646
+ "name": "meta.array.twig",
647
+ "patterns": [
648
+ {
649
+ "include": "#twig-arrays"
650
+ },
651
+ {
652
+ "include": "#twig-hashes"
653
+ },
654
+ {
655
+ "include": "#twig-constants"
656
+ },
657
+ {
658
+ "include": "#twig-operators"
659
+ },
660
+ {
661
+ "include": "#twig-strings"
662
+ },
663
+ {
664
+ "include": "#twig-functions-warg"
665
+ },
666
+ {
667
+ "include": "#twig-functions"
668
+ },
669
+ {
670
+ "include": "#twig-macros"
671
+ },
672
+ {
673
+ "include": "#twig-objects"
674
+ },
675
+ {
676
+ "include": "#twig-properties"
677
+ },
678
+ {
679
+ "include": "#twig-filters-warg"
680
+ },
681
+ {
682
+ "include": "#twig-filters"
683
+ },
684
+ {
685
+ "include": "#twig-filters-warg-ud"
686
+ },
687
+ {
688
+ "include": "#twig-filters-ud"
689
+ },
690
+ {
691
+ "match": ",",
692
+ "name": "punctuation.separator.object.twig"
693
+ }
694
+ ]
695
+ },
696
+ "twig-comment-tag": {
697
+ "begin": "\\{#-?",
698
+ "beginCaptures": {
699
+ "0": {
700
+ "name": "punctuation.definition.comment.begin.twig"
701
+ }
702
+ },
703
+ "end": "-?#\\}",
704
+ "endCaptures": {
705
+ "0": {
706
+ "name": "punctuation.definition.comment.end.twig"
707
+ }
708
+ },
709
+ "name": "comment.block.twig"
710
+ },
711
+ "twig-constants": {
712
+ "patterns": [
713
+ {
714
+ "match": "(?i)(?<=[\\s\\[\\(\\{:,])(?:true|false|null|none)(?=[\\s\\)\\]\\}\\,])",
715
+ "name": "constant.language.twig"
716
+ },
717
+ {
718
+ "match": "(?<=[\\s\\[\\(\\{:,]|\\.\\.|\\*\\*)[0-9]+(?:\\.[0-9]+)?(?=[\\s\\)\\]\\}\\,]|\\.\\.|\\*\\*)",
719
+ "name": "constant.numeric.twig"
720
+ }
721
+ ]
722
+ },
723
+ "twig-filters": {
724
+ "captures": {
725
+ "1": {
726
+ "name": "support.function.twig"
727
+ }
728
+ },
729
+ "match": "(?<=(?:[a-zA-Z0-9_\\x{7f}-\\x{ff}\\]\\)\\'\\\"]\\|)|\\{%\\sfilter\\s)(abs|capitalize|e(?:scape)?|first|join|(?:json|url)_encode|keys|last|length|lower|nl2br|number_format|raw|reverse|round|sort|striptags|title|trim|upper)(?=[\\s\\|\\]\\}\\):,]|\\.\\.|\\*\\*)"
730
+ },
731
+ "twig-filters-ud": {
732
+ "captures": {
733
+ "1": {
734
+ "name": "meta.function-call.other.twig"
735
+ }
736
+ },
737
+ "match": "(?<=(?:[a-zA-Z0-9_\\x{7f}-\\x{ff}\\]\\)\\'\\\"]\\|)|\\{%\\sfilter\\s)([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)"
738
+ },
739
+ "twig-filters-warg": {
740
+ "begin": "(?<=(?:[a-zA-Z0-9_\\x{7f}-\\x{ff}\\]\\)\\'\\\"]\\|)|\\{%\\sfilter\\s)(batch|convert_encoding|date|date_modify|default|e(?:scape)?|format|join|merge|number_format|replace|round|slice|split|trim)(\\()",
741
+ "beginCaptures": {
742
+ "1": {
743
+ "name": "support.function.twig"
744
+ },
745
+ "2": {
746
+ "name": "punctuation.definition.parameters.begin.twig"
747
+ }
748
+ },
749
+ "contentName": "meta.function.arguments.twig",
750
+ "end": "\\)",
751
+ "endCaptures": {
752
+ "0": {
753
+ "name": "punctuation.definition.parameters.end.twig"
754
+ }
755
+ },
756
+ "patterns": [
757
+ {
758
+ "include": "#twig-constants"
759
+ },
760
+ {
761
+ "include": "#twig-operators"
762
+ },
763
+ {
764
+ "include": "#twig-functions-warg"
765
+ },
766
+ {
767
+ "include": "#twig-functions"
768
+ },
769
+ {
770
+ "include": "#twig-macros"
771
+ },
772
+ {
773
+ "include": "#twig-objects"
774
+ },
775
+ {
776
+ "include": "#twig-properties"
777
+ },
778
+ {
779
+ "include": "#twig-filters-warg"
780
+ },
781
+ {
782
+ "include": "#twig-filters"
783
+ },
784
+ {
785
+ "include": "#twig-filters-warg-ud"
786
+ },
787
+ {
788
+ "include": "#twig-filters-ud"
789
+ },
790
+ {
791
+ "include": "#twig-strings"
792
+ },
793
+ {
794
+ "include": "#twig-arrays"
795
+ },
796
+ {
797
+ "include": "#twig-hashes"
798
+ }
799
+ ]
800
+ },
801
+ "twig-filters-warg-ud": {
802
+ "begin": "(?<=(?:[a-zA-Z0-9_\\x{7f}-\\x{ff}\\]\\)\\'\\\"]\\|)|\\{%\\sfilter\\s)([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)(\\()",
803
+ "beginCaptures": {
804
+ "1": {
805
+ "name": "meta.function-call.other.twig"
806
+ },
807
+ "2": {
808
+ "name": "punctuation.definition.parameters.begin.twig"
809
+ }
810
+ },
811
+ "contentName": "meta.function.arguments.twig",
812
+ "end": "\\)",
813
+ "endCaptures": {
814
+ "0": {
815
+ "name": "punctuation.definition.parameters.end.twig"
816
+ }
817
+ },
818
+ "patterns": [
819
+ {
820
+ "include": "#twig-constants"
821
+ },
822
+ {
823
+ "include": "#twig-functions-warg"
824
+ },
825
+ {
826
+ "include": "#twig-functions"
827
+ },
828
+ {
829
+ "include": "#twig-macros"
830
+ },
831
+ {
832
+ "include": "#twig-objects"
833
+ },
834
+ {
835
+ "include": "#twig-properties"
836
+ },
837
+ {
838
+ "include": "#twig-filters-warg"
839
+ },
840
+ {
841
+ "include": "#twig-filters"
842
+ },
843
+ {
844
+ "include": "#twig-filters-warg-ud"
845
+ },
846
+ {
847
+ "include": "#twig-filters-ud"
848
+ },
849
+ {
850
+ "include": "#twig-strings"
851
+ },
852
+ {
853
+ "include": "#twig-arrays"
854
+ },
855
+ {
856
+ "include": "#twig-hashes"
857
+ }
858
+ ]
859
+ },
860
+ "twig-functions": {
861
+ "captures": {
862
+ "1": {
863
+ "name": "support.function.twig"
864
+ }
865
+ },
866
+ "match": "(?<=is\\s)(defined|empty|even|iterable|odd)"
867
+ },
868
+ "twig-functions-warg": {
869
+ "begin": "(?<=[\\s\\(\\[\\{:,])(attribute|block|constant|cycle|date|divisible by|dump|include|max|min|parent|random|range|same as|source|template_from_string)(\\()",
870
+ "beginCaptures": {
871
+ "1": {
872
+ "name": "support.function.twig"
873
+ },
874
+ "2": {
875
+ "name": "punctuation.definition.parameters.begin.twig"
876
+ }
877
+ },
878
+ "contentName": "meta.function.arguments.twig",
879
+ "end": "\\)",
880
+ "endCaptures": {
881
+ "0": {
882
+ "name": "punctuation.definition.parameters.end.twig"
883
+ }
884
+ },
885
+ "patterns": [
886
+ {
887
+ "include": "#twig-constants"
888
+ },
889
+ {
890
+ "include": "#twig-functions-warg"
891
+ },
892
+ {
893
+ "include": "#twig-functions"
894
+ },
895
+ {
896
+ "include": "#twig-macros"
897
+ },
898
+ {
899
+ "include": "#twig-objects"
900
+ },
901
+ {
902
+ "include": "#twig-properties"
903
+ },
904
+ {
905
+ "include": "#twig-filters-warg"
906
+ },
907
+ {
908
+ "include": "#twig-filters"
909
+ },
910
+ {
911
+ "include": "#twig-filters-warg-ud"
912
+ },
913
+ {
914
+ "include": "#twig-filters-ud"
915
+ },
916
+ {
917
+ "include": "#twig-strings"
918
+ },
919
+ {
920
+ "include": "#twig-arrays"
921
+ }
922
+ ]
923
+ },
924
+ "twig-hashes": {
925
+ "begin": "(?<=[\\s\\(\\{\\[:,])\\{",
926
+ "beginCaptures": {
927
+ "0": {
928
+ "name": "punctuation.section.hash.begin.twig"
929
+ }
930
+ },
931
+ "end": "\\}",
932
+ "endCaptures": {
933
+ "0": {
934
+ "name": "punctuation.section.hash.end.twig"
935
+ }
936
+ },
937
+ "name": "meta.hash.twig",
938
+ "patterns": [
939
+ {
940
+ "include": "#twig-hashes"
941
+ },
942
+ {
943
+ "include": "#twig-arrays"
944
+ },
945
+ {
946
+ "include": "#twig-constants"
947
+ },
948
+ {
949
+ "include": "#twig-operators"
950
+ },
951
+ {
952
+ "include": "#twig-strings"
953
+ },
954
+ {
955
+ "include": "#twig-functions-warg"
956
+ },
957
+ {
958
+ "include": "#twig-functions"
959
+ },
960
+ {
961
+ "include": "#twig-macros"
962
+ },
963
+ {
964
+ "include": "#twig-objects"
965
+ },
966
+ {
967
+ "include": "#twig-properties"
968
+ },
969
+ {
970
+ "include": "#twig-filters-warg"
971
+ },
972
+ {
973
+ "include": "#twig-filters"
974
+ },
975
+ {
976
+ "include": "#twig-filters-warg-ud"
977
+ },
978
+ {
979
+ "include": "#twig-filters-ud"
980
+ },
981
+ {
982
+ "match": ":",
983
+ "name": "punctuation.separator.key-value.twig"
984
+ },
985
+ {
986
+ "match": ",",
987
+ "name": "punctuation.separator.object.twig"
988
+ }
989
+ ]
990
+ },
991
+ "twig-keywords": {
992
+ "match": "(?<=\\s)((?:end)?(?:autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim)|as|do|else|elseif|extends|flush|from|ignore missing|import|include|only|use|with)(?=\\s)",
993
+ "name": "keyword.control.twig"
994
+ },
995
+ "twig-macros": {
996
+ "begin": "(?x)\n (?<=[\\s\\(\\[\\{:,])\n ([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)\n (?:\n (\\.)([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)\n )?\n (\\()\n ",
997
+ "beginCaptures": {
998
+ "1": {
999
+ "name": "meta.function-call.twig"
1000
+ },
1001
+ "2": {
1002
+ "name": "punctuation.separator.property.twig"
1003
+ },
1004
+ "3": {
1005
+ "name": "variable.other.property.twig"
1006
+ },
1007
+ "4": {
1008
+ "name": "punctuation.definition.parameters.begin.twig"
1009
+ }
1010
+ },
1011
+ "contentName": "meta.function.arguments.twig",
1012
+ "end": "\\)",
1013
+ "endCaptures": {
1014
+ "0": {
1015
+ "name": "punctuation.definition.parameters.end.twig"
1016
+ }
1017
+ },
1018
+ "patterns": [
1019
+ {
1020
+ "include": "#twig-constants"
1021
+ },
1022
+ {
1023
+ "include": "#twig-operators"
1024
+ },
1025
+ {
1026
+ "include": "#twig-functions-warg"
1027
+ },
1028
+ {
1029
+ "include": "#twig-functions"
1030
+ },
1031
+ {
1032
+ "include": "#twig-macros"
1033
+ },
1034
+ {
1035
+ "include": "#twig-objects"
1036
+ },
1037
+ {
1038
+ "include": "#twig-properties"
1039
+ },
1040
+ {
1041
+ "include": "#twig-filters-warg"
1042
+ },
1043
+ {
1044
+ "include": "#twig-filters"
1045
+ },
1046
+ {
1047
+ "include": "#twig-filters-warg-ud"
1048
+ },
1049
+ {
1050
+ "include": "#twig-filters-ud"
1051
+ },
1052
+ {
1053
+ "include": "#twig-strings"
1054
+ },
1055
+ {
1056
+ "include": "#twig-arrays"
1057
+ },
1058
+ {
1059
+ "include": "#twig-hashes"
1060
+ }
1061
+ ]
1062
+ },
1063
+ "twig-objects": {
1064
+ "captures": {
1065
+ "1": {
1066
+ "name": "variable.other.twig"
1067
+ }
1068
+ },
1069
+ "match": "(?<=[\\s\\{\\[\\(:,])([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)(?=[\\s\\}\\[\\]\\(\\)\\.\\|,:])"
1070
+ },
1071
+ "twig-operators": {
1072
+ "patterns": [
1073
+ {
1074
+ "captures": {
1075
+ "1": {
1076
+ "name": "keyword.operator.arithmetic.twig"
1077
+ }
1078
+ },
1079
+ "match": "(?<=\\s)(\\+|-|//?|%|\\*\\*?)(?=\\s)"
1080
+ },
1081
+ {
1082
+ "captures": {
1083
+ "1": {
1084
+ "name": "keyword.operator.assignment.twig"
1085
+ }
1086
+ },
1087
+ "match": "(?<=\\s)(=|~)(?=\\s)"
1088
+ },
1089
+ {
1090
+ "captures": {
1091
+ "1": {
1092
+ "name": "keyword.operator.bitwise.twig"
1093
+ }
1094
+ },
1095
+ "match": "(?<=\\s)(b-(?:and|or|xor))(?=\\s)"
1096
+ },
1097
+ {
1098
+ "captures": {
1099
+ "1": {
1100
+ "name": "keyword.operator.comparison.twig"
1101
+ }
1102
+ },
1103
+ "match": "(?<=\\s)((?:!|=)=|<=?|>=?|(?:not )?in|is(?: not)?|(?:ends|starts) with|matches)(?=\\s)"
1104
+ },
1105
+ {
1106
+ "captures": {
1107
+ "1": {
1108
+ "name": "keyword.operator.logical.twig"
1109
+ }
1110
+ },
1111
+ "match": "(?<=\\s)(\\?|:|\\?:|\\?\\?|and|not|or)(?=\\s)"
1112
+ },
1113
+ {
1114
+ "captures": {
1115
+ "0": {
1116
+ "name": "keyword.operator.other.twig"
1117
+ }
1118
+ },
1119
+ "match": "(?<=[a-zA-Z0-9_\\x{7f}-\\x{ff}\\]\\)'\"])\\.\\.(?=[a-zA-Z0-9_\\x{7f}-\\x{ff}'\"])"
1120
+ },
1121
+ {
1122
+ "captures": {
1123
+ "0": {
1124
+ "name": "keyword.operator.other.twig"
1125
+ }
1126
+ },
1127
+ "match": "(?<=[a-zA-Z0-9_\\x{7f}-\\x{ff}\\]\\}\\)'\"])\\|(?=[a-zA-Z_\\x{7f}-\\x{ff}])"
1128
+ }
1129
+ ]
1130
+ },
1131
+ "twig-print-tag": {
1132
+ "begin": "\\{\\{-?",
1133
+ "beginCaptures": {
1134
+ "0": {
1135
+ "name": "punctuation.section.tag.twig"
1136
+ }
1137
+ },
1138
+ "end": "-?\\}\\}",
1139
+ "endCaptures": {
1140
+ "0": {
1141
+ "name": "punctuation.section.tag.twig"
1142
+ }
1143
+ },
1144
+ "name": "meta.tag.template.value.twig",
1145
+ "patterns": [
1146
+ {
1147
+ "include": "#twig-constants"
1148
+ },
1149
+ {
1150
+ "include": "#twig-operators"
1151
+ },
1152
+ {
1153
+ "include": "#twig-functions-warg"
1154
+ },
1155
+ {
1156
+ "include": "#twig-functions"
1157
+ },
1158
+ {
1159
+ "include": "#twig-macros"
1160
+ },
1161
+ {
1162
+ "include": "#twig-objects"
1163
+ },
1164
+ {
1165
+ "include": "#twig-properties"
1166
+ },
1167
+ {
1168
+ "include": "#twig-filters-warg"
1169
+ },
1170
+ {
1171
+ "include": "#twig-filters"
1172
+ },
1173
+ {
1174
+ "include": "#twig-filters-warg-ud"
1175
+ },
1176
+ {
1177
+ "include": "#twig-filters-ud"
1178
+ },
1179
+ {
1180
+ "include": "#twig-strings"
1181
+ },
1182
+ {
1183
+ "include": "#twig-arrays"
1184
+ },
1185
+ {
1186
+ "include": "#twig-hashes"
1187
+ }
1188
+ ]
1189
+ },
1190
+ "twig-properties": {
1191
+ "patterns": [
1192
+ {
1193
+ "captures": {
1194
+ "1": {
1195
+ "name": "punctuation.separator.property.twig"
1196
+ },
1197
+ "2": {
1198
+ "name": "variable.other.property.twig"
1199
+ }
1200
+ },
1201
+ "match": "(?x)\n (?<=[a-zA-Z0-9_\\x{7f}-\\x{ff}])\n (\\.)([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)\n (?=[\\.\\s\\|\\[\\)\\]\\}:,])\n "
1202
+ },
1203
+ {
1204
+ "begin": "(?x)\n (?<=[a-zA-Z0-9_\\x{7f}-\\x{ff}])\n (\\.)([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)\n (\\()\n ",
1205
+ "beginCaptures": {
1206
+ "1": {
1207
+ "name": "punctuation.separator.property.twig"
1208
+ },
1209
+ "2": {
1210
+ "name": "variable.other.property.twig"
1211
+ },
1212
+ "3": {
1213
+ "name": "punctuation.definition.parameters.begin.twig"
1214
+ }
1215
+ },
1216
+ "contentName": "meta.function.arguments.twig",
1217
+ "end": "\\)",
1218
+ "endCaptures": {
1219
+ "0": {
1220
+ "name": "punctuation.definition.parameters.end.twig"
1221
+ }
1222
+ },
1223
+ "patterns": [
1224
+ {
1225
+ "include": "#twig-constants"
1226
+ },
1227
+ {
1228
+ "include": "#twig-functions-warg"
1229
+ },
1230
+ {
1231
+ "include": "#twig-functions"
1232
+ },
1233
+ {
1234
+ "include": "#twig-macros"
1235
+ },
1236
+ {
1237
+ "include": "#twig-objects"
1238
+ },
1239
+ {
1240
+ "include": "#twig-properties"
1241
+ },
1242
+ {
1243
+ "include": "#twig-filters-warg"
1244
+ },
1245
+ {
1246
+ "include": "#twig-filters"
1247
+ },
1248
+ {
1249
+ "include": "#twig-filters-warg-ud"
1250
+ },
1251
+ {
1252
+ "include": "#twig-filters-ud"
1253
+ },
1254
+ {
1255
+ "include": "#twig-strings"
1256
+ },
1257
+ {
1258
+ "include": "#twig-arrays"
1259
+ }
1260
+ ]
1261
+ },
1262
+ {
1263
+ "captures": {
1264
+ "1": {
1265
+ "name": "punctuation.section.array.begin.twig"
1266
+ },
1267
+ "2": {
1268
+ "name": "variable.other.property.twig"
1269
+ },
1270
+ "3": {
1271
+ "name": "punctuation.section.array.end.twig"
1272
+ },
1273
+ "4": {
1274
+ "name": "punctuation.section.array.begin.twig"
1275
+ },
1276
+ "5": {
1277
+ "name": "variable.other.property.twig"
1278
+ },
1279
+ "6": {
1280
+ "name": "punctuation.section.array.end.twig"
1281
+ },
1282
+ "7": {
1283
+ "name": "punctuation.section.array.begin.twig"
1284
+ },
1285
+ "8": {
1286
+ "name": "variable.other.property.twig"
1287
+ },
1288
+ "9": {
1289
+ "name": "punctuation.section.array.end.twig"
1290
+ }
1291
+ },
1292
+ "match": "(?x)\n (?<=[a-zA-Z0-9_\\x{7f}-\\x{ff}\\]])\n (?:\n (\\[)('[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*')(\\])\n |(\\[)(\"[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*\")(\\])\n |(\\[)([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)(\\])\n )\n "
1293
+ }
1294
+ ]
1295
+ },
1296
+ "twig-statement-tag": {
1297
+ "begin": "\\{%-?",
1298
+ "beginCaptures": {
1299
+ "0": {
1300
+ "name": "punctuation.section.tag.twig"
1301
+ }
1302
+ },
1303
+ "end": "-?%\\}",
1304
+ "endCaptures": {
1305
+ "0": {
1306
+ "name": "punctuation.section.tag.twig"
1307
+ }
1308
+ },
1309
+ "name": "meta.tag.template.block.twig",
1310
+ "patterns": [
1311
+ {
1312
+ "include": "#twig-constants"
1313
+ },
1314
+ {
1315
+ "include": "#twig-keywords"
1316
+ },
1317
+ {
1318
+ "include": "#twig-operators"
1319
+ },
1320
+ {
1321
+ "include": "#twig-functions-warg"
1322
+ },
1323
+ {
1324
+ "include": "#twig-functions"
1325
+ },
1326
+ {
1327
+ "include": "#twig-macros"
1328
+ },
1329
+ {
1330
+ "include": "#twig-filters-warg"
1331
+ },
1332
+ {
1333
+ "include": "#twig-filters"
1334
+ },
1335
+ {
1336
+ "include": "#twig-filters-warg-ud"
1337
+ },
1338
+ {
1339
+ "include": "#twig-filters-ud"
1340
+ },
1341
+ {
1342
+ "include": "#twig-objects"
1343
+ },
1344
+ {
1345
+ "include": "#twig-properties"
1346
+ },
1347
+ {
1348
+ "include": "#twig-strings"
1349
+ },
1350
+ {
1351
+ "include": "#twig-arrays"
1352
+ },
1353
+ {
1354
+ "include": "#twig-hashes"
1355
+ }
1356
+ ]
1357
+ },
1358
+ "twig-strings": {
1359
+ "patterns": [
1360
+ {
1361
+ "begin": "(?:(?<!\\\\)|(?<=\\\\\\\\))'",
1362
+ "beginCaptures": {
1363
+ "0": {
1364
+ "name": "punctuation.definition.string.begin.twig"
1365
+ }
1366
+ },
1367
+ "end": "(?:(?<!\\\\)|(?<=\\\\\\\\))'",
1368
+ "endCaptures": {
1369
+ "0": {
1370
+ "name": "punctuation.definition.string.end.twig"
1371
+ }
1372
+ },
1373
+ "name": "string.quoted.single.twig"
1374
+ },
1375
+ {
1376
+ "begin": "(?:(?<!\\\\)|(?<=\\\\\\\\))\"",
1377
+ "beginCaptures": {
1378
+ "0": {
1379
+ "name": "punctuation.definition.string.begin.twig"
1380
+ }
1381
+ },
1382
+ "end": "(?:(?<!\\\\)|(?<=\\\\\\\\))\"",
1383
+ "endCaptures": {
1384
+ "0": {
1385
+ "name": "punctuation.definition.string.end.twig"
1386
+ }
1387
+ },
1388
+ "name": "string.quoted.double.twig"
1389
+ }
1390
+ ]
1391
+ }
1392
+ },
1393
+ "scopeName": "text.html.twig"
1394
+ }