@journeyapps-labs/reactor-mod-editor 1.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 (170) hide show
  1. package/README.md +10 -0
  2. package/dist/@types/EditorModule.d.ts +7 -0
  3. package/dist/@types/MonacoCommandPalletSearchEngine.d.ts +21 -0
  4. package/dist/@types/actions/ChangeEditorThemeAction.d.ts +9 -0
  5. package/dist/@types/index.d.ts +16 -0
  6. package/dist/@types/languages/languages.d.ts +39 -0
  7. package/dist/@types/languages/logs.d.ts +3 -0
  8. package/dist/@types/providers/EditorThemeProvider.d.ts +14 -0
  9. package/dist/@types/settings/StoredThemesSettings.d.ts +13 -0
  10. package/dist/@types/settings/VimSupportSetting.d.ts +7 -0
  11. package/dist/@types/shortcuts/MonacoShortcut.d.ts +9 -0
  12. package/dist/@types/shortcuts/MonacoShortcutHandler.d.ts +17 -0
  13. package/dist/@types/shortcuts/MonacoShortcutMap.d.ts +83 -0
  14. package/dist/@types/stores/MonacoStore.d.ts +38 -0
  15. package/dist/@types/stores/MonacoThemeStore.d.ts +34 -0
  16. package/dist/@types/stores/keybindings/KeybindingsRegistry.d.ts +46 -0
  17. package/dist/@types/stores/keybindings/MonacoKeybindingStore.d.ts +27 -0
  18. package/dist/@types/stores/keybindings/definitions.d.ts +21 -0
  19. package/dist/@types/stores/keybindings/utils.d.ts +2 -0
  20. package/dist/@types/theme/EditorThemePreferencesWidget.d.ts +26 -0
  21. package/dist/@types/theme/SmartEditorThemePreferencesWidget.d.ts +8 -0
  22. package/dist/@types/theme/UploadVSIXThemeBtnWidget.d.ts +12 -0
  23. package/dist/@types/theme/patchThemeService.d.ts +9 -0
  24. package/dist/@types/theme/theme-utils.d.ts +61 -0
  25. package/dist/@types/theme-reactor/editor-theme-fragment.d.ts +41 -0
  26. package/dist/@types/utils/paths.d.ts +23 -0
  27. package/dist/@types/utils/useEditorStickyHeader.d.ts +8 -0
  28. package/dist/@types/widgets/DualEditorWidget.d.ts +7 -0
  29. package/dist/@types/widgets/EditorWidget.d.ts +15 -0
  30. package/dist/@types/widgets/MonacoEditorWidget.d.ts +10 -0
  31. package/dist/@types/widgets/SimpleEditorWidget.d.ts +8 -0
  32. package/dist/EditorModule.js +73 -0
  33. package/dist/EditorModule.js.map +1 -0
  34. package/dist/MonacoCommandPalletSearchEngine.js +52 -0
  35. package/dist/MonacoCommandPalletSearchEngine.js.map +1 -0
  36. package/dist/actions/ChangeEditorThemeAction.js +43 -0
  37. package/dist/actions/ChangeEditorThemeAction.js.map +1 -0
  38. package/dist/index.js +33 -0
  39. package/dist/index.js.map +1 -0
  40. package/dist/languages/languages.js +155 -0
  41. package/dist/languages/languages.js.map +1 -0
  42. package/dist/languages/logs.js +110 -0
  43. package/dist/languages/logs.js.map +1 -0
  44. package/dist/providers/EditorThemeProvider.js +26 -0
  45. package/dist/providers/EditorThemeProvider.js.map +1 -0
  46. package/dist/settings/StoredThemesSettings.js +45 -0
  47. package/dist/settings/StoredThemesSettings.js.map +1 -0
  48. package/dist/settings/VimSupportSetting.js +19 -0
  49. package/dist/settings/VimSupportSetting.js.map +1 -0
  50. package/dist/shortcuts/MonacoShortcut.js +27 -0
  51. package/dist/shortcuts/MonacoShortcut.js.map +1 -0
  52. package/dist/shortcuts/MonacoShortcutHandler.js +119 -0
  53. package/dist/shortcuts/MonacoShortcutHandler.js.map +1 -0
  54. package/dist/shortcuts/MonacoShortcutMap.js +84 -0
  55. package/dist/shortcuts/MonacoShortcutMap.js.map +1 -0
  56. package/dist/stores/MonacoStore.js +119 -0
  57. package/dist/stores/MonacoStore.js.map +1 -0
  58. package/dist/stores/MonacoThemeStore.js +143 -0
  59. package/dist/stores/MonacoThemeStore.js.map +1 -0
  60. package/dist/stores/keybindings/KeybindingsRegistry.js +131 -0
  61. package/dist/stores/keybindings/KeybindingsRegistry.js.map +1 -0
  62. package/dist/stores/keybindings/MonacoKeybindingStore.js +105 -0
  63. package/dist/stores/keybindings/MonacoKeybindingStore.js.map +1 -0
  64. package/dist/stores/keybindings/definitions.js +5 -0
  65. package/dist/stores/keybindings/definitions.js.map +1 -0
  66. package/dist/stores/keybindings/utils.js +12 -0
  67. package/dist/stores/keybindings/utils.js.map +1 -0
  68. package/dist/theme/EditorThemePreferencesWidget.js +160 -0
  69. package/dist/theme/EditorThemePreferencesWidget.js.map +1 -0
  70. package/dist/theme/SmartEditorThemePreferencesWidget.js +62 -0
  71. package/dist/theme/SmartEditorThemePreferencesWidget.js.map +1 -0
  72. package/dist/theme/UploadVSIXThemeBtnWidget.js +93 -0
  73. package/dist/theme/UploadVSIXThemeBtnWidget.js.map +1 -0
  74. package/dist/theme/patchThemeService.js +146 -0
  75. package/dist/theme/patchThemeService.js.map +1 -0
  76. package/dist/theme/theme-utils.js +65 -0
  77. package/dist/theme/theme-utils.js.map +1 -0
  78. package/dist/theme-reactor/editor-theme-fragment.js +70 -0
  79. package/dist/theme-reactor/editor-theme-fragment.js.map +1 -0
  80. package/dist/tsconfig.tsbuildinfo +1 -0
  81. package/dist/utils/paths.js +110 -0
  82. package/dist/utils/paths.js.map +1 -0
  83. package/dist/utils/useEditorStickyHeader.js +45 -0
  84. package/dist/utils/useEditorStickyHeader.js.map +1 -0
  85. package/dist/widgets/DualEditorWidget.js +79 -0
  86. package/dist/widgets/DualEditorWidget.js.map +1 -0
  87. package/dist/widgets/EditorWidget.js +85 -0
  88. package/dist/widgets/EditorWidget.js.map +1 -0
  89. package/dist/widgets/MonacoEditorWidget.js +29 -0
  90. package/dist/widgets/MonacoEditorWidget.js.map +1 -0
  91. package/dist/widgets/SimpleEditorWidget.js +71 -0
  92. package/dist/widgets/SimpleEditorWidget.js.map +1 -0
  93. package/dist-module/00a5102416a37050fa62.tmLanguage +1282 -0
  94. package/dist-module/092ac75109eb363dd826.tmLanguage +424 -0
  95. package/dist-module/100.bundle.js +1 -0
  96. package/dist-module/116.bundle.js +1 -0
  97. package/dist-module/173.bundle.js +1 -0
  98. package/dist-module/179.bundle.js +1 -0
  99. package/dist-module/18358219dee0ad14cc0c.tmLanguage +765 -0
  100. package/dist-module/195.bundle.js +1 -0
  101. package/dist-module/277.bundle.js +1 -0
  102. package/dist-module/299.bundle.js +1 -0
  103. package/dist-module/306.bundle.js +1 -0
  104. package/dist-module/344.bundle.js +1 -0
  105. package/dist-module/399345f371a7cb9eb1ba.tmLanguage +629 -0
  106. package/dist-module/404.bundle.js +4 -0
  107. package/dist-module/404.bundle.js.LICENSE.txt +6 -0
  108. package/dist-module/404.bundle.js.map +1 -0
  109. package/dist-module/43.bundle.js +1 -0
  110. package/dist-module/438.bundle.js +3 -0
  111. package/dist-module/438.bundle.js.map +1 -0
  112. package/dist-module/479.bundle.js +1 -0
  113. package/dist-module/491.bundle.js +1 -0
  114. package/dist-module/513.bundle.js +1 -0
  115. package/dist-module/549.bundle.js +1 -0
  116. package/dist-module/5e221c90a0dcbd4af855.tmLanguage +237 -0
  117. package/dist-module/6486a2df9ca5896c2cb6.tmLanguage +5739 -0
  118. package/dist-module/65.bundle.js +1 -0
  119. package/dist-module/66.bundle.js +1 -0
  120. package/dist-module/685.bundle.js +1 -0
  121. package/dist-module/6e3d5ec6699a8d147d29.wasm +0 -0
  122. package/dist-module/7.bundle.js +1 -0
  123. package/dist-module/703774d50b4d4526a465.tmLanguage +386 -0
  124. package/dist-module/717.bundle.js +2 -0
  125. package/dist-module/728.bundle.js +1 -0
  126. package/dist-module/77a7afbe329083ed0f59.tmLanguage +1183 -0
  127. package/dist-module/78.bundle.js +1 -0
  128. package/dist-module/829.bundle.js +1 -0
  129. package/dist-module/831968f77a9412d07cc2.tmLanguage +506 -0
  130. package/dist-module/862.bundle.js +1 -0
  131. package/dist-module/87.bundle.js +1 -0
  132. package/dist-module/923.bundle.js +1 -0
  133. package/dist-module/931.bundle.js +1 -0
  134. package/dist-module/933.bundle.js +3 -0
  135. package/dist-module/933.bundle.js.map +1 -0
  136. package/dist-module/970.bundle.js +1 -0
  137. package/dist-module/984.bundle.js +1 -0
  138. package/dist-module/992.bundle.js +1 -0
  139. package/dist-module/996.bundle.js +1 -0
  140. package/dist-module/9c8494157d226e95da5e.tmLanguage +1377 -0
  141. package/dist-module/a3e215de85a86294de8a.tmLanguage +385 -0
  142. package/dist-module/ba5650c2a0269a236153.tmLanguage +9349 -0
  143. package/dist-module/bundle.js +97 -0
  144. package/dist-module/bundle.js.LICENSE.txt +27 -0
  145. package/dist-module/bundle.js.map +1 -0
  146. package/dist-module/editor.worker.bundle.js +1 -0
  147. package/dist-module/f6283f7ccaed1249d9eb.ttf +0 -0
  148. package/dist-module/json.worker.bundle.js +2 -0
  149. package/dist-module/json.worker.bundle.js.LICENSE.txt +6 -0
  150. package/dist-module/yaml.worker.bundle.js +1 -0
  151. package/media/css.tmLanguage +1183 -0
  152. package/media/handlebars.tmLanguage +1282 -0
  153. package/media/html.tmLanguage +506 -0
  154. package/media/javascript.tmLanguage +5739 -0
  155. package/media/json.tmLanguage +386 -0
  156. package/media/jxml.tmLanguage +424 -0
  157. package/media/markdown.tmLanguage +1377 -0
  158. package/media/regularExpressions.tmLanguage +237 -0
  159. package/media/sql.tmLanguage +765 -0
  160. package/media/themes/ayu-light.json5 +847 -0
  161. package/media/themes/ayu-mirage.json5 +846 -0
  162. package/media/themes/journey.json5 +1061 -0
  163. package/media/themes/oxide.json5 +579 -0
  164. package/media/themes/reactor.json5 +775 -0
  165. package/media/themes/scarlet.json5 +836 -0
  166. package/media/typescript.tmLanguage +9349 -0
  167. package/media/xml.tmLanguage +385 -0
  168. package/media/yaml.tmLanguage +629 -0
  169. package/package.json +45 -0
  170. package/reactor.config.json +4 -0
@@ -0,0 +1,1282 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>fileTypes</key>
6
+ <array>
7
+ <string>handlebars</string>
8
+ <string>handlebars.html</string>
9
+ <string>hbr</string>
10
+ <string>hbrs</string>
11
+ <string>hbs</string>
12
+ <string>hdbs</string>
13
+ <string>hjs</string>
14
+ <string>mu</string>
15
+ <string>mustache</string>
16
+ <string>rac</string>
17
+ <string>stache</string>
18
+ <string>template</string>
19
+ <string>tmpl</string>
20
+ </array>
21
+ <key>name</key>
22
+ <string>Handlebars</string>
23
+ <key>patterns</key>
24
+ <array>
25
+ <dict>
26
+ <key>include</key>
27
+ <string>#yfm</string>
28
+ </dict>
29
+ <dict>
30
+ <key>include</key>
31
+ <string>#extends</string>
32
+ </dict>
33
+ <dict>
34
+ <key>include</key>
35
+ <string>#block_comments</string>
36
+ </dict>
37
+ <dict>
38
+ <key>include</key>
39
+ <string>#comments</string>
40
+ </dict>
41
+ <dict>
42
+ <key>include</key>
43
+ <string>#block_helper</string>
44
+ </dict>
45
+ <dict>
46
+ <key>include</key>
47
+ <string>#end_block</string>
48
+ </dict>
49
+ <dict>
50
+ <key>include</key>
51
+ <string>#else_token</string>
52
+ </dict>
53
+ <dict>
54
+ <key>include</key>
55
+ <string>#partial_and_var</string>
56
+ </dict>
57
+ <dict>
58
+ <key>include</key>
59
+ <string>#inline_script</string>
60
+ </dict>
61
+ <dict>
62
+ <key>include</key>
63
+ <string>#html_tags</string>
64
+ </dict>
65
+ <dict>
66
+ <key>include</key>
67
+ <string>text.html.basic</string>
68
+ </dict>
69
+ </array>
70
+ <key>repository</key>
71
+ <dict>
72
+ <key>block_comments</key>
73
+ <dict>
74
+ <key>patterns</key>
75
+ <array>
76
+ <dict>
77
+ <key>begin</key>
78
+ <string>\{\{!--</string>
79
+ <key>end</key>
80
+ <string>--\}\}</string>
81
+ <key>name</key>
82
+ <string>comment.block.handlebars</string>
83
+ <key>patterns</key>
84
+ <array>
85
+ <dict>
86
+ <key>match</key>
87
+ <string>@\w*</string>
88
+ <key>name</key>
89
+ <string>keyword.annotation.handlebars</string>
90
+ </dict>
91
+ <dict>
92
+ <key>include</key>
93
+ <string>#comments</string>
94
+ </dict>
95
+ </array>
96
+ </dict>
97
+ <dict>
98
+ <key>begin</key>
99
+ <string>&lt;!--</string>
100
+ <key>captures</key>
101
+ <dict>
102
+ <key>0</key>
103
+ <dict>
104
+ <key>name</key>
105
+ <string>punctuation.definition.comment.html</string>
106
+ </dict>
107
+ </dict>
108
+ <key>end</key>
109
+ <string>-{2,3}\s*&gt;</string>
110
+ <key>name</key>
111
+ <string>comment.block.html</string>
112
+ <key>patterns</key>
113
+ <array>
114
+ <dict>
115
+ <key>match</key>
116
+ <string>--</string>
117
+ <key>name</key>
118
+ <string>invalid.illegal.bad-comments-or-CDATA.html</string>
119
+ </dict>
120
+ </array>
121
+ </dict>
122
+ </array>
123
+ </dict>
124
+ <key>block_helper</key>
125
+ <dict>
126
+ <key>begin</key>
127
+ <string>(\{\{~?\#)([-a-zA-Z0-9_\./]+)\s?(@?[-a-zA-Z0-9_\./]+=?)*\s?(@?[-a-zA-Z0-9_\./]+)*\s?(@?[-a-zA-Z0-9_\./]+)*</string>
128
+ <key>beginCaptures</key>
129
+ <dict>
130
+ <key>1</key>
131
+ <dict>
132
+ <key>name</key>
133
+ <string>support.constant.handlebars</string>
134
+ </dict>
135
+ <key>2</key>
136
+ <dict>
137
+ <key>name</key>
138
+ <string>support.constant.handlebars</string>
139
+ </dict>
140
+ <key>3</key>
141
+ <dict>
142
+ <key>name</key>
143
+ <string>variable.parameter.handlebars</string>
144
+ </dict>
145
+ <key>4</key>
146
+ <dict>
147
+ <key>name</key>
148
+ <string>support.constant.handlebars</string>
149
+ </dict>
150
+ <key>5</key>
151
+ <dict>
152
+ <key>name</key>
153
+ <string>variable.parameter.handlebars</string>
154
+ </dict>
155
+ <key>6</key>
156
+ <dict>
157
+ <key>name</key>
158
+ <string>support.constant.handlebars</string>
159
+ </dict>
160
+ </dict>
161
+ <key>end</key>
162
+ <string>(~?\}\})</string>
163
+ <key>endCaptures</key>
164
+ <dict>
165
+ <key>1</key>
166
+ <dict>
167
+ <key>name</key>
168
+ <string>support.constant.handlebars</string>
169
+ </dict>
170
+ </dict>
171
+ <key>name</key>
172
+ <string>meta.function.block.start.handlebars</string>
173
+ <key>patterns</key>
174
+ <array>
175
+ <dict>
176
+ <key>include</key>
177
+ <string>#string</string>
178
+ </dict>
179
+ <dict>
180
+ <key>include</key>
181
+ <string>#handlebars_attribute</string>
182
+ </dict>
183
+ </array>
184
+ </dict>
185
+ <key>comments</key>
186
+ <dict>
187
+ <key>patterns</key>
188
+ <array>
189
+ <dict>
190
+ <key>begin</key>
191
+ <string>\{\{!</string>
192
+ <key>end</key>
193
+ <string>\}\}</string>
194
+ <key>name</key>
195
+ <string>comment.block.handlebars</string>
196
+ <key>patterns</key>
197
+ <array>
198
+ <dict>
199
+ <key>match</key>
200
+ <string>@\w*</string>
201
+ <key>name</key>
202
+ <string>keyword.annotation.handlebars</string>
203
+ </dict>
204
+ <dict>
205
+ <key>include</key>
206
+ <string>#comments</string>
207
+ </dict>
208
+ </array>
209
+ </dict>
210
+ <dict>
211
+ <key>begin</key>
212
+ <string>&lt;!--</string>
213
+ <key>captures</key>
214
+ <dict>
215
+ <key>0</key>
216
+ <dict>
217
+ <key>name</key>
218
+ <string>punctuation.definition.comment.html</string>
219
+ </dict>
220
+ </dict>
221
+ <key>end</key>
222
+ <string>-{2,3}\s*&gt;</string>
223
+ <key>name</key>
224
+ <string>comment.block.html</string>
225
+ <key>patterns</key>
226
+ <array>
227
+ <dict>
228
+ <key>match</key>
229
+ <string>--</string>
230
+ <key>name</key>
231
+ <string>invalid.illegal.bad-comments-or-CDATA.html</string>
232
+ </dict>
233
+ </array>
234
+ </dict>
235
+ </array>
236
+ </dict>
237
+ <key>else_token</key>
238
+ <dict>
239
+ <key>begin</key>
240
+ <string>(\{\{~?else)(@?\s(if)\s([-a-zA-Z0-9_\./]+))?</string>
241
+ <key>beginCaptures</key>
242
+ <dict>
243
+ <key>1</key>
244
+ <dict>
245
+ <key>name</key>
246
+ <string>support.constant.handlebars</string>
247
+ </dict>
248
+ <key>3</key>
249
+ <dict>
250
+ <key>name</key>
251
+ <string>support.constant.handlebars</string>
252
+ </dict>
253
+ <key>4</key>
254
+ <dict>
255
+ <key>name</key>
256
+ <string>variable.parameter.handlebars</string>
257
+ </dict>
258
+ </dict>
259
+ <key>end</key>
260
+ <string>(~?\}\}\}*)</string>
261
+ <key>endCaptures</key>
262
+ <dict>
263
+ <key>1</key>
264
+ <dict>
265
+ <key>name</key>
266
+ <string>support.constant.handlebars</string>
267
+ </dict>
268
+ </dict>
269
+ <key>name</key>
270
+ <string>meta.function.inline.else.handlebars</string>
271
+ </dict>
272
+ <key>end_block</key>
273
+ <dict>
274
+ <key>begin</key>
275
+ <string>(\{\{~?/)([a-zA-Z0-9_\.-]+)\s*</string>
276
+ <key>beginCaptures</key>
277
+ <dict>
278
+ <key>1</key>
279
+ <dict>
280
+ <key>name</key>
281
+ <string>support.constant.handlebars</string>
282
+ </dict>
283
+ <key>2</key>
284
+ <dict>
285
+ <key>name</key>
286
+ <string>support.constant.handlebars</string>
287
+ </dict>
288
+ </dict>
289
+ <key>end</key>
290
+ <string>(~?\}\})</string>
291
+ <key>endCaptures</key>
292
+ <dict>
293
+ <key>1</key>
294
+ <dict>
295
+ <key>name</key>
296
+ <string>support.constant.handlebars</string>
297
+ </dict>
298
+ </dict>
299
+ <key>name</key>
300
+ <string>meta.function.block.end.handlebars</string>
301
+ <key>patterns</key>
302
+ <array/>
303
+ </dict>
304
+ <key>entities</key>
305
+ <dict>
306
+ <key>patterns</key>
307
+ <array>
308
+ <dict>
309
+ <key>captures</key>
310
+ <dict>
311
+ <key>1</key>
312
+ <dict>
313
+ <key>name</key>
314
+ <string>punctuation.definition.entity.html</string>
315
+ </dict>
316
+ <key>3</key>
317
+ <dict>
318
+ <key>name</key>
319
+ <string>punctuation.definition.entity.html</string>
320
+ </dict>
321
+ </dict>
322
+ <key>match</key>
323
+ <string>(&amp;)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)</string>
324
+ <key>name</key>
325
+ <string>constant.character.entity.html</string>
326
+ </dict>
327
+ <dict>
328
+ <key>match</key>
329
+ <string>&amp;</string>
330
+ <key>name</key>
331
+ <string>invalid.illegal.bad-ampersand.html</string>
332
+ </dict>
333
+ </array>
334
+ </dict>
335
+ <key>escaped-double-quote</key>
336
+ <dict>
337
+ <key>match</key>
338
+ <string>\\"</string>
339
+ <key>name</key>
340
+ <string>constant.character.escape.js</string>
341
+ </dict>
342
+ <key>escaped-single-quote</key>
343
+ <dict>
344
+ <key>match</key>
345
+ <string>\\'</string>
346
+ <key>name</key>
347
+ <string>constant.character.escape.js</string>
348
+ </dict>
349
+ <key>extends</key>
350
+ <dict>
351
+ <key>patterns</key>
352
+ <array>
353
+ <dict>
354
+ <key>begin</key>
355
+ <string>(\{\{!&lt;)\s([-a-zA-Z0-9_\./]+)</string>
356
+ <key>beginCaptures</key>
357
+ <dict>
358
+ <key>1</key>
359
+ <dict>
360
+ <key>name</key>
361
+ <string>support.function.handlebars</string>
362
+ </dict>
363
+ <key>2</key>
364
+ <dict>
365
+ <key>name</key>
366
+ <string>support.class.handlebars</string>
367
+ </dict>
368
+ </dict>
369
+ <key>end</key>
370
+ <string>(\}\})</string>
371
+ <key>endCaptures</key>
372
+ <dict>
373
+ <key>1</key>
374
+ <dict>
375
+ <key>name</key>
376
+ <string>support.function.handlebars</string>
377
+ </dict>
378
+ </dict>
379
+ <key>name</key>
380
+ <string>meta.preprocessor.handlebars</string>
381
+ </dict>
382
+ </array>
383
+ </dict>
384
+ <key>handlebars_attribute</key>
385
+ <dict>
386
+ <key>begin</key>
387
+ <string>\b([\.a-zA-Z0-9_-]+)\b\s*(=)?</string>
388
+ <key>captures</key>
389
+ <dict>
390
+ <key>1</key>
391
+ <dict>
392
+ <key>name</key>
393
+ <string>variable.parameter.handlebars</string>
394
+ </dict>
395
+ <key>2</key>
396
+ <dict>
397
+ <key>name</key>
398
+ <string>variable.parameter.handlebars</string>
399
+ </dict>
400
+ </dict>
401
+ <key>end</key>
402
+ <string>(?='|"|)</string>
403
+ <key>name</key>
404
+ <string>entity.other.attribute-name.handlebars</string>
405
+ <key>patterns</key>
406
+ <array>
407
+ <dict>
408
+ <key>include</key>
409
+ <string>#string</string>
410
+ </dict>
411
+ </array>
412
+ </dict>
413
+ <key>html_tags</key>
414
+ <dict>
415
+ <key>patterns</key>
416
+ <array>
417
+ <dict>
418
+ <key>begin</key>
419
+ <string>(&lt;)([a-zA-Z0-9:-]+)(?=[^&gt;]*&gt;&lt;/\2&gt;)</string>
420
+ <key>beginCaptures</key>
421
+ <dict>
422
+ <key>1</key>
423
+ <dict>
424
+ <key>name</key>
425
+ <string>punctuation.definition.tag.html</string>
426
+ </dict>
427
+ <key>2</key>
428
+ <dict>
429
+ <key>name</key>
430
+ <string>entity.name.tag.html</string>
431
+ </dict>
432
+ </dict>
433
+ <key>end</key>
434
+ <string>(&gt;(&lt;)/)(\2)(&gt;)</string>
435
+ <key>endCaptures</key>
436
+ <dict>
437
+ <key>1</key>
438
+ <dict>
439
+ <key>name</key>
440
+ <string>punctuation.definition.tag.html</string>
441
+ </dict>
442
+ <key>2</key>
443
+ <dict>
444
+ <key>name</key>
445
+ <string>meta.scope.between-tag-pair.html</string>
446
+ </dict>
447
+ <key>3</key>
448
+ <dict>
449
+ <key>name</key>
450
+ <string>entity.name.tag.html</string>
451
+ </dict>
452
+ <key>4</key>
453
+ <dict>
454
+ <key>name</key>
455
+ <string>punctuation.definition.tag.html</string>
456
+ </dict>
457
+ </dict>
458
+ <key>name</key>
459
+ <string>meta.tag.any.html</string>
460
+ <key>patterns</key>
461
+ <array>
462
+ <dict>
463
+ <key>include</key>
464
+ <string>#tag-stuff</string>
465
+ </dict>
466
+ </array>
467
+ </dict>
468
+ <dict>
469
+ <key>begin</key>
470
+ <string>(&lt;\?)(xml)</string>
471
+ <key>captures</key>
472
+ <dict>
473
+ <key>1</key>
474
+ <dict>
475
+ <key>name</key>
476
+ <string>punctuation.definition.tag.html</string>
477
+ </dict>
478
+ <key>2</key>
479
+ <dict>
480
+ <key>name</key>
481
+ <string>entity.name.tag.xml.html</string>
482
+ </dict>
483
+ </dict>
484
+ <key>end</key>
485
+ <string>(\?&gt;)</string>
486
+ <key>name</key>
487
+ <string>meta.tag.preprocessor.xml.html</string>
488
+ <key>patterns</key>
489
+ <array>
490
+ <dict>
491
+ <key>include</key>
492
+ <string>#tag-generic-attribute</string>
493
+ </dict>
494
+ <dict>
495
+ <key>include</key>
496
+ <string>#string</string>
497
+ </dict>
498
+ </array>
499
+ </dict>
500
+ <dict>
501
+ <key>begin</key>
502
+ <string>&lt;!--</string>
503
+ <key>captures</key>
504
+ <dict>
505
+ <key>0</key>
506
+ <dict>
507
+ <key>name</key>
508
+ <string>punctuation.definition.comment.html</string>
509
+ </dict>
510
+ </dict>
511
+ <key>end</key>
512
+ <string>--\s*&gt;</string>
513
+ <key>name</key>
514
+ <string>comment.block.html</string>
515
+ <key>patterns</key>
516
+ <array>
517
+ <dict>
518
+ <key>match</key>
519
+ <string>--</string>
520
+ <key>name</key>
521
+ <string>invalid.illegal.bad-comments-or-CDATA.html</string>
522
+ </dict>
523
+ </array>
524
+ </dict>
525
+ <dict>
526
+ <key>begin</key>
527
+ <string>&lt;!</string>
528
+ <key>captures</key>
529
+ <dict>
530
+ <key>0</key>
531
+ <dict>
532
+ <key>name</key>
533
+ <string>punctuation.definition.tag.html</string>
534
+ </dict>
535
+ </dict>
536
+ <key>end</key>
537
+ <string>&gt;</string>
538
+ <key>name</key>
539
+ <string>meta.tag.sgml.html</string>
540
+ <key>patterns</key>
541
+ <array>
542
+ <dict>
543
+ <key>begin</key>
544
+ <string>(DOCTYPE|doctype)</string>
545
+ <key>captures</key>
546
+ <dict>
547
+ <key>1</key>
548
+ <dict>
549
+ <key>name</key>
550
+ <string>entity.name.tag.doctype.html</string>
551
+ </dict>
552
+ </dict>
553
+ <key>end</key>
554
+ <string>(?=&gt;)</string>
555
+ <key>name</key>
556
+ <string>meta.tag.sgml.doctype.html</string>
557
+ <key>patterns</key>
558
+ <array>
559
+ <dict>
560
+ <key>match</key>
561
+ <string>"[^"&gt;]*"</string>
562
+ <key>name</key>
563
+ <string>string.quoted.double.doctype.identifiers-and-DTDs.html</string>
564
+ </dict>
565
+ </array>
566
+ </dict>
567
+ <dict>
568
+ <key>begin</key>
569
+ <string>\[CDATA\[</string>
570
+ <key>end</key>
571
+ <string>]](?=&gt;)</string>
572
+ <key>name</key>
573
+ <string>constant.other.inline-data.html</string>
574
+ </dict>
575
+ <dict>
576
+ <key>match</key>
577
+ <string>(\s*)(?!--|&gt;)\S(\s*)</string>
578
+ <key>name</key>
579
+ <string>invalid.illegal.bad-comments-or-CDATA.html</string>
580
+ </dict>
581
+ </array>
582
+ </dict>
583
+ <dict>
584
+ <key>begin</key>
585
+ <string>(?:^\s+)?(&lt;)((?i:style))\b(?![^&gt;]*/&gt;)</string>
586
+ <key>captures</key>
587
+ <dict>
588
+ <key>1</key>
589
+ <dict>
590
+ <key>name</key>
591
+ <string>punctuation.definition.tag.html</string>
592
+ </dict>
593
+ <key>2</key>
594
+ <dict>
595
+ <key>name</key>
596
+ <string>entity.name.tag.style.html</string>
597
+ </dict>
598
+ <key>3</key>
599
+ <dict>
600
+ <key>name</key>
601
+ <string>punctuation.definition.tag.html</string>
602
+ </dict>
603
+ </dict>
604
+ <key>end</key>
605
+ <string>(&lt;/)((?i:style))(&gt;)(?:\s*\n)?</string>
606
+ <key>name</key>
607
+ <string>source.css.embedded.html</string>
608
+ <key>patterns</key>
609
+ <array>
610
+ <dict>
611
+ <key>include</key>
612
+ <string>#tag-stuff</string>
613
+ </dict>
614
+ <dict>
615
+ <key>begin</key>
616
+ <string>(&gt;)</string>
617
+ <key>beginCaptures</key>
618
+ <dict>
619
+ <key>1</key>
620
+ <dict>
621
+ <key>name</key>
622
+ <string>punctuation.definition.tag.html</string>
623
+ </dict>
624
+ </dict>
625
+ <key>end</key>
626
+ <string>(?=&lt;/(?i:style))</string>
627
+ <key>patterns</key>
628
+ <array>
629
+ <dict>
630
+ <key>include</key>
631
+ <string>source.css</string>
632
+ </dict>
633
+ </array>
634
+ </dict>
635
+ </array>
636
+ </dict>
637
+ <dict>
638
+ <key>begin</key>
639
+ <string>(?:^\s+)?(&lt;)((?i:script))\b(?![^&gt;]*/&gt;)</string>
640
+ <key>beginCaptures</key>
641
+ <dict>
642
+ <key>1</key>
643
+ <dict>
644
+ <key>name</key>
645
+ <string>punctuation.definition.tag.html</string>
646
+ </dict>
647
+ <key>2</key>
648
+ <dict>
649
+ <key>name</key>
650
+ <string>entity.name.tag.script.html</string>
651
+ </dict>
652
+ </dict>
653
+ <key>end</key>
654
+ <string>(?&lt;=&lt;/(script|SCRIPT))(&gt;)(?:\s*\n)?</string>
655
+ <key>endCaptures</key>
656
+ <dict>
657
+ <key>2</key>
658
+ <dict>
659
+ <key>name</key>
660
+ <string>punctuation.definition.tag.html</string>
661
+ </dict>
662
+ </dict>
663
+ <key>name</key>
664
+ <string>source.js.embedded.html</string>
665
+ <key>patterns</key>
666
+ <array>
667
+ <dict>
668
+ <key>include</key>
669
+ <string>#tag-stuff</string>
670
+ </dict>
671
+ <dict>
672
+ <key>begin</key>
673
+ <string>(?&lt;!&lt;/(?:script|SCRIPT))(&gt;)</string>
674
+ <key>captures</key>
675
+ <dict>
676
+ <key>1</key>
677
+ <dict>
678
+ <key>name</key>
679
+ <string>punctuation.definition.tag.html</string>
680
+ </dict>
681
+ <key>2</key>
682
+ <dict>
683
+ <key>name</key>
684
+ <string>entity.name.tag.script.html</string>
685
+ </dict>
686
+ </dict>
687
+ <key>end</key>
688
+ <string>(&lt;/)((?i:script))</string>
689
+ <key>patterns</key>
690
+ <array>
691
+ <dict>
692
+ <key>captures</key>
693
+ <dict>
694
+ <key>1</key>
695
+ <dict>
696
+ <key>name</key>
697
+ <string>punctuation.definition.comment.js</string>
698
+ </dict>
699
+ </dict>
700
+ <key>match</key>
701
+ <string>(//).*?((?=&lt;/script)|$\n?)</string>
702
+ <key>name</key>
703
+ <string>comment.line.double-slash.js</string>
704
+ </dict>
705
+ <dict>
706
+ <key>begin</key>
707
+ <string>/\*</string>
708
+ <key>captures</key>
709
+ <dict>
710
+ <key>0</key>
711
+ <dict>
712
+ <key>name</key>
713
+ <string>punctuation.definition.comment.js</string>
714
+ </dict>
715
+ </dict>
716
+ <key>end</key>
717
+ <string>\*/|(?=&lt;/script)</string>
718
+ <key>name</key>
719
+ <string>comment.block.js</string>
720
+ </dict>
721
+ <dict>
722
+ <key>include</key>
723
+ <string>source.js</string>
724
+ </dict>
725
+ </array>
726
+ </dict>
727
+ </array>
728
+ </dict>
729
+ <dict>
730
+ <key>begin</key>
731
+ <string>(&lt;/?)((?i:body|head|html)\b)</string>
732
+ <key>captures</key>
733
+ <dict>
734
+ <key>1</key>
735
+ <dict>
736
+ <key>name</key>
737
+ <string>punctuation.definition.tag.html</string>
738
+ </dict>
739
+ <key>2</key>
740
+ <dict>
741
+ <key>name</key>
742
+ <string>entity.name.tag.structure.any.html</string>
743
+ </dict>
744
+ </dict>
745
+ <key>end</key>
746
+ <string>(&gt;)</string>
747
+ <key>name</key>
748
+ <string>meta.tag.structure.any.html</string>
749
+ <key>patterns</key>
750
+ <array>
751
+ <dict>
752
+ <key>include</key>
753
+ <string>#tag-stuff</string>
754
+ </dict>
755
+ </array>
756
+ </dict>
757
+ <dict>
758
+ <key>begin</key>
759
+ <string>(&lt;/?)((?i:address|blockquote|dd|div|header|section|footer|aside|nav|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)</string>
760
+ <key>captures</key>
761
+ <dict>
762
+ <key>1</key>
763
+ <dict>
764
+ <key>name</key>
765
+ <string>punctuation.definition.tag.html</string>
766
+ </dict>
767
+ <key>2</key>
768
+ <dict>
769
+ <key>name</key>
770
+ <string>entity.name.tag.block.any.html</string>
771
+ </dict>
772
+ </dict>
773
+ <key>end</key>
774
+ <string>(&gt;)</string>
775
+ <key>name</key>
776
+ <string>meta.tag.block.any.html</string>
777
+ <key>patterns</key>
778
+ <array>
779
+ <dict>
780
+ <key>include</key>
781
+ <string>#tag-stuff</string>
782
+ </dict>
783
+ </array>
784
+ </dict>
785
+ <dict>
786
+ <key>begin</key>
787
+ <string>(&lt;/?)((?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)</string>
788
+ <key>captures</key>
789
+ <dict>
790
+ <key>1</key>
791
+ <dict>
792
+ <key>name</key>
793
+ <string>punctuation.definition.tag.html</string>
794
+ </dict>
795
+ <key>2</key>
796
+ <dict>
797
+ <key>name</key>
798
+ <string>entity.name.tag.inline.any.html</string>
799
+ </dict>
800
+ </dict>
801
+ <key>end</key>
802
+ <string>((?: ?/)?&gt;)</string>
803
+ <key>name</key>
804
+ <string>meta.tag.inline.any.html</string>
805
+ <key>patterns</key>
806
+ <array>
807
+ <dict>
808
+ <key>include</key>
809
+ <string>#tag-stuff</string>
810
+ </dict>
811
+ </array>
812
+ </dict>
813
+ <dict>
814
+ <key>begin</key>
815
+ <string>(&lt;/?)([a-zA-Z0-9:-]+)</string>
816
+ <key>captures</key>
817
+ <dict>
818
+ <key>1</key>
819
+ <dict>
820
+ <key>name</key>
821
+ <string>punctuation.definition.tag.html</string>
822
+ </dict>
823
+ <key>2</key>
824
+ <dict>
825
+ <key>name</key>
826
+ <string>entity.name.tag.other.html</string>
827
+ </dict>
828
+ </dict>
829
+ <key>end</key>
830
+ <string>(&gt;)</string>
831
+ <key>name</key>
832
+ <string>meta.tag.other.html</string>
833
+ <key>patterns</key>
834
+ <array>
835
+ <dict>
836
+ <key>include</key>
837
+ <string>#tag-stuff</string>
838
+ </dict>
839
+ </array>
840
+ </dict>
841
+ <dict>
842
+ <key>begin</key>
843
+ <string>(&lt;/?)([a-zA-Z0-9{}:-]+)</string>
844
+ <key>captures</key>
845
+ <dict>
846
+ <key>1</key>
847
+ <dict>
848
+ <key>name</key>
849
+ <string>punctuation.definition.tag.html</string>
850
+ </dict>
851
+ <key>2</key>
852
+ <dict>
853
+ <key>name</key>
854
+ <string>entity.name.tag.tokenised.html</string>
855
+ </dict>
856
+ </dict>
857
+ <key>end</key>
858
+ <string>(&gt;)</string>
859
+ <key>name</key>
860
+ <string>meta.tag.tokenised.html</string>
861
+ <key>patterns</key>
862
+ <array>
863
+ <dict>
864
+ <key>include</key>
865
+ <string>#tag-stuff</string>
866
+ </dict>
867
+ </array>
868
+ </dict>
869
+ <dict>
870
+ <key>include</key>
871
+ <string>#entities</string>
872
+ </dict>
873
+ <dict>
874
+ <key>match</key>
875
+ <string>&lt;&gt;</string>
876
+ <key>name</key>
877
+ <string>invalid.illegal.incomplete.html</string>
878
+ </dict>
879
+ <dict>
880
+ <key>match</key>
881
+ <string>&lt;</string>
882
+ <key>name</key>
883
+ <string>invalid.illegal.bad-angle-bracket.html</string>
884
+ </dict>
885
+ </array>
886
+ </dict>
887
+ <key>inline_script</key>
888
+ <dict>
889
+ <key>begin</key>
890
+ <string>(?:^\s+)?(&lt;)((?i:script))\b(?:.*(type)=(["'](?:text/x-handlebars-template|text/x-handlebars|text/template|x-tmpl-handlebars)["']))(?![^&gt;]*/&gt;)</string>
891
+ <key>beginCaptures</key>
892
+ <dict>
893
+ <key>1</key>
894
+ <dict>
895
+ <key>name</key>
896
+ <string>punctuation.definition.tag.html</string>
897
+ </dict>
898
+ <key>2</key>
899
+ <dict>
900
+ <key>name</key>
901
+ <string>entity.name.tag.script.html</string>
902
+ </dict>
903
+ <key>3</key>
904
+ <dict>
905
+ <key>name</key>
906
+ <string>entity.other.attribute-name.html</string>
907
+ </dict>
908
+ <key>4</key>
909
+ <dict>
910
+ <key>name</key>
911
+ <string>string.quoted.double.html</string>
912
+ </dict>
913
+ </dict>
914
+ <key>end</key>
915
+ <string>(?&lt;=&lt;/(script|SCRIPT))(&gt;)(?:\s*\n)?</string>
916
+ <key>endCaptures</key>
917
+ <dict>
918
+ <key>2</key>
919
+ <dict>
920
+ <key>name</key>
921
+ <string>punctuation.definition.tag.html</string>
922
+ </dict>
923
+ </dict>
924
+ <key>name</key>
925
+ <string>source.handlebars.embedded.html</string>
926
+ <key>patterns</key>
927
+ <array>
928
+ <dict>
929
+ <key>include</key>
930
+ <string>#tag-stuff</string>
931
+ </dict>
932
+ <dict>
933
+ <key>begin</key>
934
+ <string>(?&lt;!&lt;/(?:script|SCRIPT))(&gt;)</string>
935
+ <key>captures</key>
936
+ <dict>
937
+ <key>1</key>
938
+ <dict>
939
+ <key>name</key>
940
+ <string>punctuation.definition.tag.html</string>
941
+ </dict>
942
+ <key>2</key>
943
+ <dict>
944
+ <key>name</key>
945
+ <string>entity.name.tag.script.html</string>
946
+ </dict>
947
+ </dict>
948
+ <key>end</key>
949
+ <string>(&lt;/)((?i:script))</string>
950
+ <key>patterns</key>
951
+ <array>
952
+ <dict>
953
+ <key>include</key>
954
+ <string>#block_comments</string>
955
+ </dict>
956
+ <dict>
957
+ <key>include</key>
958
+ <string>#comments</string>
959
+ </dict>
960
+ <dict>
961
+ <key>include</key>
962
+ <string>#block_helper</string>
963
+ </dict>
964
+ <dict>
965
+ <key>include</key>
966
+ <string>#end_block</string>
967
+ </dict>
968
+ <dict>
969
+ <key>include</key>
970
+ <string>#else_token</string>
971
+ </dict>
972
+ <dict>
973
+ <key>include</key>
974
+ <string>#partial_and_var</string>
975
+ </dict>
976
+ <dict>
977
+ <key>include</key>
978
+ <string>#html_tags</string>
979
+ </dict>
980
+ <dict>
981
+ <key>include</key>
982
+ <string>text.html.basic</string>
983
+ </dict>
984
+ </array>
985
+ </dict>
986
+ </array>
987
+ </dict>
988
+ <key>partial_and_var</key>
989
+ <dict>
990
+ <key>begin</key>
991
+ <string>(\{\{~?\{*(&gt;|!&lt;)*)\s*(@?[-a-zA-Z0-9_\./]+)*</string>
992
+ <key>beginCaptures</key>
993
+ <dict>
994
+ <key>1</key>
995
+ <dict>
996
+ <key>name</key>
997
+ <string>support.constant.handlebars</string>
998
+ </dict>
999
+ <key>3</key>
1000
+ <dict>
1001
+ <key>name</key>
1002
+ <string>variable.parameter.handlebars</string>
1003
+ </dict>
1004
+ </dict>
1005
+ <key>end</key>
1006
+ <string>(~?\}\}\}*)</string>
1007
+ <key>endCaptures</key>
1008
+ <dict>
1009
+ <key>1</key>
1010
+ <dict>
1011
+ <key>name</key>
1012
+ <string>support.constant.handlebars</string>
1013
+ </dict>
1014
+ </dict>
1015
+ <key>name</key>
1016
+ <string>meta.function.inline.other.handlebars</string>
1017
+ <key>patterns</key>
1018
+ <array>
1019
+ <dict>
1020
+ <key>include</key>
1021
+ <string>#string</string>
1022
+ </dict>
1023
+ <dict>
1024
+ <key>include</key>
1025
+ <string>#handlebars_attribute</string>
1026
+ </dict>
1027
+ </array>
1028
+ </dict>
1029
+ <key>string</key>
1030
+ <dict>
1031
+ <key>patterns</key>
1032
+ <array>
1033
+ <dict>
1034
+ <key>include</key>
1035
+ <string>#string-single-quoted</string>
1036
+ </dict>
1037
+ <dict>
1038
+ <key>include</key>
1039
+ <string>#string-double-quoted</string>
1040
+ </dict>
1041
+ </array>
1042
+ </dict>
1043
+ <key>string-double-quoted</key>
1044
+ <dict>
1045
+ <key>begin</key>
1046
+ <string>"</string>
1047
+ <key>beginCaptures</key>
1048
+ <dict>
1049
+ <key>0</key>
1050
+ <dict>
1051
+ <key>name</key>
1052
+ <string>punctuation.definition.string.begin.html</string>
1053
+ </dict>
1054
+ </dict>
1055
+ <key>end</key>
1056
+ <string>"</string>
1057
+ <key>endCaptures</key>
1058
+ <dict>
1059
+ <key>0</key>
1060
+ <dict>
1061
+ <key>name</key>
1062
+ <string>punctuation.definition.string.end.html</string>
1063
+ </dict>
1064
+ </dict>
1065
+ <key>name</key>
1066
+ <string>string.quoted.double.handlebars</string>
1067
+ <key>patterns</key>
1068
+ <array>
1069
+ <dict>
1070
+ <key>include</key>
1071
+ <string>#escaped-double-quote</string>
1072
+ </dict>
1073
+ <dict>
1074
+ <key>include</key>
1075
+ <string>#block_comments</string>
1076
+ </dict>
1077
+ <dict>
1078
+ <key>include</key>
1079
+ <string>#comments</string>
1080
+ </dict>
1081
+ <dict>
1082
+ <key>include</key>
1083
+ <string>#block_helper</string>
1084
+ </dict>
1085
+ <dict>
1086
+ <key>include</key>
1087
+ <string>#else_token</string>
1088
+ </dict>
1089
+ <dict>
1090
+ <key>include</key>
1091
+ <string>#end_block</string>
1092
+ </dict>
1093
+ <dict>
1094
+ <key>include</key>
1095
+ <string>#partial_and_var</string>
1096
+ </dict>
1097
+ </array>
1098
+ </dict>
1099
+ <key>string-single-quoted</key>
1100
+ <dict>
1101
+ <key>begin</key>
1102
+ <string>'</string>
1103
+ <key>beginCaptures</key>
1104
+ <dict>
1105
+ <key>0</key>
1106
+ <dict>
1107
+ <key>name</key>
1108
+ <string>punctuation.definition.string.begin.html</string>
1109
+ </dict>
1110
+ </dict>
1111
+ <key>end</key>
1112
+ <string>'</string>
1113
+ <key>endCaptures</key>
1114
+ <dict>
1115
+ <key>0</key>
1116
+ <dict>
1117
+ <key>name</key>
1118
+ <string>punctuation.definition.string.end.html</string>
1119
+ </dict>
1120
+ </dict>
1121
+ <key>name</key>
1122
+ <string>string.quoted.single.handlebars</string>
1123
+ <key>patterns</key>
1124
+ <array>
1125
+ <dict>
1126
+ <key>include</key>
1127
+ <string>#escaped-single-quote</string>
1128
+ </dict>
1129
+ <dict>
1130
+ <key>include</key>
1131
+ <string>#block_comments</string>
1132
+ </dict>
1133
+ <dict>
1134
+ <key>include</key>
1135
+ <string>#comments</string>
1136
+ </dict>
1137
+ <dict>
1138
+ <key>include</key>
1139
+ <string>#block_helper</string>
1140
+ </dict>
1141
+ <dict>
1142
+ <key>include</key>
1143
+ <string>#else_token</string>
1144
+ </dict>
1145
+ <dict>
1146
+ <key>include</key>
1147
+ <string>#end_block</string>
1148
+ </dict>
1149
+ <dict>
1150
+ <key>include</key>
1151
+ <string>#partial_and_var</string>
1152
+ </dict>
1153
+ </array>
1154
+ </dict>
1155
+ <key>tag-stuff</key>
1156
+ <dict>
1157
+ <key>patterns</key>
1158
+ <array>
1159
+ <dict>
1160
+ <key>include</key>
1161
+ <string>#tag_id_attribute</string>
1162
+ </dict>
1163
+ <dict>
1164
+ <key>include</key>
1165
+ <string>#tag_generic_attribute</string>
1166
+ </dict>
1167
+ <dict>
1168
+ <key>include</key>
1169
+ <string>#string</string>
1170
+ </dict>
1171
+ <dict>
1172
+ <key>include</key>
1173
+ <string>#block_comments</string>
1174
+ </dict>
1175
+ <dict>
1176
+ <key>include</key>
1177
+ <string>#comments</string>
1178
+ </dict>
1179
+ <dict>
1180
+ <key>include</key>
1181
+ <string>#block_helper</string>
1182
+ </dict>
1183
+ <dict>
1184
+ <key>include</key>
1185
+ <string>#end_block</string>
1186
+ </dict>
1187
+ <dict>
1188
+ <key>include</key>
1189
+ <string>#else_token</string>
1190
+ </dict>
1191
+ <dict>
1192
+ <key>include</key>
1193
+ <string>#partial_and_var</string>
1194
+ </dict>
1195
+ </array>
1196
+ </dict>
1197
+ <key>tag_generic_attribute</key>
1198
+ <dict>
1199
+ <key>begin</key>
1200
+ <string>\b([a-zA-Z0-9_-]+)\b\s*(=)</string>
1201
+ <key>captures</key>
1202
+ <dict>
1203
+ <key>1</key>
1204
+ <dict>
1205
+ <key>name</key>
1206
+ <string>entity.other.attribute-name.generic.html</string>
1207
+ </dict>
1208
+ <key>2</key>
1209
+ <dict>
1210
+ <key>name</key>
1211
+ <string>punctuation.separator.key-value.html</string>
1212
+ </dict>
1213
+ </dict>
1214
+ <key>end</key>
1215
+ <string>(?&lt;='|"|)</string>
1216
+ <key>name</key>
1217
+ <string>entity.other.attribute-name.html</string>
1218
+ <key>patterns</key>
1219
+ <array>
1220
+ <dict>
1221
+ <key>include</key>
1222
+ <string>#string</string>
1223
+ </dict>
1224
+ </array>
1225
+ </dict>
1226
+ <key>tag_id_attribute</key>
1227
+ <dict>
1228
+ <key>begin</key>
1229
+ <string>\b(id)\b\s*(=)</string>
1230
+ <key>captures</key>
1231
+ <dict>
1232
+ <key>1</key>
1233
+ <dict>
1234
+ <key>name</key>
1235
+ <string>entity.other.attribute-name.id.html</string>
1236
+ </dict>
1237
+ <key>2</key>
1238
+ <dict>
1239
+ <key>name</key>
1240
+ <string>punctuation.separator.key-value.html</string>
1241
+ </dict>
1242
+ </dict>
1243
+ <key>end</key>
1244
+ <string>(?&lt;='|"|)</string>
1245
+ <key>name</key>
1246
+ <string>meta.attribute-with-value.id.html</string>
1247
+ <key>patterns</key>
1248
+ <array>
1249
+ <dict>
1250
+ <key>include</key>
1251
+ <string>#string</string>
1252
+ </dict>
1253
+ </array>
1254
+ </dict>
1255
+ <key>yfm</key>
1256
+ <dict>
1257
+ <key>patterns</key>
1258
+ <array>
1259
+ <dict>
1260
+ <key>begin</key>
1261
+ <string>(?&lt;!\s)---\n$</string>
1262
+ <key>end</key>
1263
+ <string>^---\s</string>
1264
+ <key>name</key>
1265
+ <string>markup.raw.yaml.front-matter</string>
1266
+ <key>patterns</key>
1267
+ <array>
1268
+ <dict>
1269
+ <key>include</key>
1270
+ <string>source.yaml</string>
1271
+ </dict>
1272
+ </array>
1273
+ </dict>
1274
+ </array>
1275
+ </dict>
1276
+ </dict>
1277
+ <key>scopeName</key>
1278
+ <string>text.html.handlebars</string>
1279
+ <key>uuid</key>
1280
+ <string>70E91676-DE0A-4266-A2B9-3AD2E535E484</string>
1281
+ </dict>
1282
+ </plist>