coffeehaml 0.5.0 → 0.7.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 (44) hide show
  1. package/README.md +13 -4
  2. package/dist/ast.d.ts +6 -0
  3. package/dist/ast.d.ts.map +1 -1
  4. package/dist/ast.js +2 -0
  5. package/dist/ast.js.map +1 -1
  6. package/dist/cli.js +178 -2
  7. package/dist/cli.js.map +1 -1
  8. package/dist/compiler.js +8 -10
  9. package/dist/compiler.js.map +1 -1
  10. package/dist/emitter.js +81 -5
  11. package/dist/emitter.js.map +1 -1
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +2 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/parser.d.ts +7 -1
  17. package/dist/parser.d.ts.map +1 -1
  18. package/dist/parser.js +46 -4
  19. package/dist/parser.js.map +1 -1
  20. package/dist/prettier/coffeescript-formatter.d.ts +31 -0
  21. package/dist/prettier/coffeescript-formatter.d.ts.map +1 -0
  22. package/dist/prettier/coffeescript-formatter.js +409 -0
  23. package/dist/prettier/coffeescript-formatter.js.map +1 -0
  24. package/dist/prettier/index.d.ts +8 -0
  25. package/dist/prettier/index.d.ts.map +1 -0
  26. package/dist/prettier/index.js +69 -0
  27. package/dist/prettier/index.js.map +1 -0
  28. package/dist/prettier/options.d.ts +10 -0
  29. package/dist/prettier/options.d.ts.map +1 -0
  30. package/dist/prettier/options.js +200 -0
  31. package/dist/prettier/options.js.map +1 -0
  32. package/dist/prettier/printer.d.ts +45 -0
  33. package/dist/prettier/printer.d.ts.map +1 -0
  34. package/dist/prettier/printer.js +652 -0
  35. package/dist/prettier/printer.js.map +1 -0
  36. package/dist/vite-plugin.d.ts.map +1 -1
  37. package/dist/vite-plugin.js +11 -1
  38. package/dist/vite-plugin.js.map +1 -1
  39. package/docs/examples.md +201 -1
  40. package/docs/grammar.md +90 -1
  41. package/docs/index.html +260 -37
  42. package/package.json +10 -3
  43. package/syntaxes/CoffeeHaml.tmLanguage +815 -868
  44. package/syntaxes/coffeehaml.tmLanguage.json +352 -161
@@ -2,1026 +2,973 @@
2
2
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
3
  <plist version="1.0">
4
4
  <dict>
5
- <key>changed</key>
5
+ <key>fileTypes</key>
6
+ <array>
7
+ <string>chaml</string>
8
+ <string>coffeehaml</string>
9
+ </array>
10
+ <key>name</key>
11
+ <string>CoffeeHaml</string>
12
+ <key>patterns</key>
13
+ <array>
14
+ <dict>
15
+ <key>include</key>
16
+ <string>#prologue</string>
17
+ </dict>
18
+ <dict>
19
+ <key>include</key>
20
+ <string>#comment-haml</string>
21
+ </dict>
22
+ <dict>
23
+ <key>include</key>
24
+ <string>#comment-html</string>
25
+ </dict>
26
+ <dict>
27
+ <key>include</key>
28
+ <string>#doctype</string>
29
+ </dict>
30
+ <dict>
31
+ <key>include</key>
32
+ <string>#element</string>
33
+ </dict>
34
+ <dict>
35
+ <key>include</key>
36
+ <string>#implicit-div</string>
37
+ </dict>
38
+ <dict>
39
+ <key>include</key>
40
+ <string>#control-flow</string>
41
+ </dict>
42
+ <dict>
43
+ <key>include</key>
44
+ <string>#output</string>
45
+ </dict>
46
+ <dict>
47
+ <key>include</key>
48
+ <string>#filter</string>
49
+ </dict>
50
+ <dict>
51
+ <key>include</key>
52
+ <string>#text</string>
53
+ </dict>
54
+ </array>
55
+ <key>repository</key>
6
56
  <dict>
7
- <key>fileTypes</key>
8
- <array>
9
- <string>chaml</string>
10
- <string>coffeehaml</string>
11
- </array>
12
- <key>name</key>
13
- <string>CoffeeHaml</string>
14
- <key>patterns</key>
15
- <array>
16
- <dict>
17
- <key>include</key>
18
- <string>#prologue</string>
19
- </dict>
20
- <dict>
21
- <key>include</key>
22
- <string>#comment-haml</string>
23
- </dict>
24
- <dict>
25
- <key>include</key>
26
- <string>#comment-html</string>
27
- </dict>
28
- <dict>
29
- <key>include</key>
30
- <string>#doctype</string>
31
- </dict>
32
- <dict>
33
- <key>include</key>
34
- <string>#element</string>
35
- </dict>
36
- <dict>
37
- <key>include</key>
38
- <string>#implicit-div</string>
39
- </dict>
40
- <dict>
41
- <key>include</key>
42
- <string>#control-flow</string>
43
- </dict>
44
- <dict>
45
- <key>include</key>
46
- <string>#output</string>
47
- </dict>
57
+ <key>attribute-brace</key>
58
+ <dict>
59
+ <key>begin</key>
60
+ <string>\{</string>
61
+ <key>beginCaptures</key>
48
62
  <dict>
49
- <key>include</key>
50
- <string>#filter</string>
63
+ <key>0</key>
64
+ <dict>
65
+ <key>name</key>
66
+ <string>punctuation.definition.attributes.begin.coffeehaml</string>
67
+ </dict>
51
68
  </dict>
69
+ <key>contentName</key>
70
+ <string>source.coffee.embedded.haml</string>
71
+ <key>end</key>
72
+ <string>\}</string>
73
+ <key>endCaptures</key>
52
74
  <dict>
53
- <key>include</key>
54
- <string>#text</string>
75
+ <key>0</key>
76
+ <dict>
77
+ <key>name</key>
78
+ <string>punctuation.definition.attributes.end.coffeehaml</string>
79
+ </dict>
55
80
  </dict>
56
- </array>
57
- <key>repository</key>
81
+ <key>name</key>
82
+ <string>meta.attribute.brace.coffeehaml</string>
83
+ <key>patterns</key>
84
+ <array>
85
+ <dict>
86
+ <key>include</key>
87
+ <string>#attribute-content</string>
88
+ </dict>
89
+ </array>
90
+ </dict>
91
+ <key>attribute-content</key>
58
92
  <dict>
59
- <key>attribute-brace</key>
60
- <dict>
61
- <key>begin</key>
62
- <string>\{</string>
63
- <key>beginCaptures</key>
93
+ <key>patterns</key>
94
+ <array>
64
95
  <dict>
65
- <key>0</key>
66
- <dict>
67
- <key>name</key>
68
- <string>punctuation.definition.attributes.begin.coffeehaml</string>
69
- </dict>
96
+ <key>include</key>
97
+ <string>#spread-jsx</string>
70
98
  </dict>
71
- <key>end</key>
72
- <string>\}</string>
73
- <key>endCaptures</key>
74
99
  <dict>
75
- <key>0</key>
76
- <dict>
77
- <key>name</key>
78
- <string>punctuation.definition.attributes.end.coffeehaml</string>
79
- </dict>
100
+ <key>include</key>
101
+ <string>#spread-coffee</string>
80
102
  </dict>
81
- <key>name</key>
82
- <string>meta.attribute.brace.coffeehaml</string>
83
- <key>patterns</key>
84
- <array>
85
- <dict>
86
- <key>include</key>
87
- <string>#attribute-content</string>
88
- </dict>
89
- </array>
90
- </dict>
91
- <key>attribute-content</key>
92
- <dict>
93
- <key>patterns</key>
94
- <array>
95
- <dict>
96
- <key>include</key>
97
- <string>#spread-jsx</string>
98
- </dict>
99
- <dict>
100
- <key>include</key>
101
- <string>#spread-coffee</string>
102
- </dict>
103
- <dict>
104
- <key>include</key>
105
- <string>#attribute-pair</string>
106
- </dict>
107
- <dict>
108
- <key>include</key>
109
- <string>#attribute-shorthand</string>
110
- </dict>
111
- <dict>
112
- <key>include</key>
113
- <string>#coffeescript-expression</string>
114
- </dict>
115
- </array>
116
- </dict>
117
- <key>attribute-pair</key>
118
- <dict>
119
- <key>captures</key>
120
103
  <dict>
121
- <key>1</key>
122
- <dict>
123
- <key>name</key>
124
- <string>entity.other.attribute-name.coffeehaml</string>
125
- </dict>
126
- <key>2</key>
127
- <dict>
128
- <key>name</key>
129
- <string>keyword.operator.assignment.coffeehaml</string>
130
- </dict>
104
+ <key>include</key>
105
+ <string>#attribute-pair</string>
131
106
  </dict>
132
- <key>match</key>
133
- <string>([\w_-]+|"[^"]*"|'[^']*')\s*(:)(?!:)\s*</string>
134
- <key>name</key>
135
- <string>meta.attribute.pair.coffeehaml</string>
136
- </dict>
137
- <key>attribute-paren</key>
107
+ <dict>
108
+ <key>include</key>
109
+ <string>#attribute-shorthand</string>
110
+ </dict>
111
+ <dict>
112
+ <key>include</key>
113
+ <string>source.coffee</string>
114
+ </dict>
115
+ </array>
116
+ </dict>
117
+ <key>attribute-pair</key>
118
+ <dict>
119
+ <key>captures</key>
138
120
  <dict>
139
- <key>begin</key>
140
- <string>\(</string>
141
- <key>beginCaptures</key>
121
+ <key>1</key>
142
122
  <dict>
143
- <key>0</key>
144
- <dict>
145
- <key>name</key>
146
- <string>punctuation.definition.attributes.begin.coffeehaml</string>
147
- </dict>
123
+ <key>name</key>
124
+ <string>entity.other.attribute-name.coffeehaml</string>
148
125
  </dict>
149
- <key>end</key>
150
- <string>\)</string>
151
- <key>endCaptures</key>
126
+ <key>2</key>
152
127
  <dict>
153
- <key>0</key>
154
- <dict>
155
- <key>name</key>
156
- <string>punctuation.definition.attributes.end.coffeehaml</string>
157
- </dict>
128
+ <key>name</key>
129
+ <string>keyword.operator.assignment.coffeehaml</string>
158
130
  </dict>
159
- <key>name</key>
160
- <string>meta.attribute.paren.coffeehaml</string>
161
- <key>patterns</key>
162
- <array>
163
- <dict>
164
- <key>include</key>
165
- <string>#attribute-content</string>
166
- </dict>
167
- </array>
168
131
  </dict>
169
- <key>attribute-shorthand</key>
132
+ <key>match</key>
133
+ <string>([\w_-]+|"[^"]*"|'[^']*')\s*(:)(?!:)\s*</string>
134
+ <key>name</key>
135
+ <string>meta.attribute.pair.coffeehaml</string>
136
+ </dict>
137
+ <key>attribute-paren</key>
138
+ <dict>
139
+ <key>begin</key>
140
+ <string>\(</string>
141
+ <key>beginCaptures</key>
170
142
  <dict>
171
- <key>captures</key>
143
+ <key>0</key>
172
144
  <dict>
173
- <key>1</key>
174
- <dict>
175
- <key>name</key>
176
- <string>variable.other.shorthand.coffeehaml</string>
177
- </dict>
145
+ <key>name</key>
146
+ <string>punctuation.definition.attributes.begin.coffeehaml</string>
178
147
  </dict>
179
- <key>match</key>
180
- <string>(?&lt;=[\{,])[\s]*([\w$]+)(?=[,\}])</string>
181
- <key>name</key>
182
- <string>meta.attribute.shorthand.coffeehaml</string>
183
148
  </dict>
184
- <key>coffee-boolean</key>
149
+ <key>contentName</key>
150
+ <string>source.coffee.embedded.haml</string>
151
+ <key>end</key>
152
+ <string>\)</string>
153
+ <key>endCaptures</key>
185
154
  <dict>
186
- <key>match</key>
187
- <string>\b(true|false|yes|no|on|off)\b</string>
188
- <key>name</key>
189
- <string>constant.language.boolean.coffeehaml</string>
155
+ <key>0</key>
156
+ <dict>
157
+ <key>name</key>
158
+ <string>punctuation.definition.attributes.end.coffeehaml</string>
159
+ </dict>
190
160
  </dict>
191
- <key>coffee-bracket</key>
161
+ <key>name</key>
162
+ <string>meta.attribute.paren.coffeehaml</string>
163
+ <key>patterns</key>
164
+ <array>
165
+ <dict>
166
+ <key>include</key>
167
+ <string>#attribute-content</string>
168
+ </dict>
169
+ </array>
170
+ </dict>
171
+ <key>attribute-shorthand</key>
172
+ <dict>
173
+ <key>captures</key>
192
174
  <dict>
193
- <key>patterns</key>
194
- <array>
175
+ <key>1</key>
176
+ <dict>
177
+ <key>name</key>
178
+ <string>variable.other.shorthand.coffeehaml</string>
179
+ </dict>
180
+ </dict>
181
+ <key>match</key>
182
+ <string>(?&lt;=[\{,])[\s]*([\w$]+)(?=[,\}])</string>
183
+ <key>name</key>
184
+ <string>meta.attribute.shorthand.coffeehaml</string>
185
+ </dict>
186
+ <key>coffee-boolean</key>
187
+ <dict>
188
+ <key>match</key>
189
+ <string>\b(true|false|yes|no|on|off)\b</string>
190
+ <key>name</key>
191
+ <string>constant.language.boolean.coffeehaml</string>
192
+ </dict>
193
+ <key>coffee-bracket</key>
194
+ <dict>
195
+ <key>patterns</key>
196
+ <array>
197
+ <dict>
198
+ <key>begin</key>
199
+ <string>\{</string>
200
+ <key>beginCaptures</key>
195
201
  <dict>
196
- <key>begin</key>
197
- <string>\{</string>
198
- <key>beginCaptures</key>
202
+ <key>0</key>
199
203
  <dict>
200
- <key>0</key>
201
- <dict>
202
- <key>name</key>
203
- <string>punctuation.definition.bracket.curly.begin.coffeehaml</string>
204
- </dict>
204
+ <key>name</key>
205
+ <string>punctuation.definition.bracket.curly.begin.coffeehaml</string>
205
206
  </dict>
206
- <key>end</key>
207
- <string>\}</string>
208
- <key>endCaptures</key>
207
+ </dict>
208
+ <key>end</key>
209
+ <string>\}</string>
210
+ <key>endCaptures</key>
211
+ <dict>
212
+ <key>0</key>
209
213
  <dict>
210
- <key>0</key>
211
- <dict>
212
- <key>name</key>
213
- <string>punctuation.definition.bracket.curly.end.coffeehaml</string>
214
- </dict>
214
+ <key>name</key>
215
+ <string>punctuation.definition.bracket.curly.end.coffeehaml</string>
215
216
  </dict>
216
- <key>name</key>
217
- <string>meta.brace.curly.coffeehaml</string>
218
- <key>patterns</key>
219
- <array>
220
- <dict>
221
- <key>include</key>
222
- <string>#coffeescript-expression</string>
223
- </dict>
224
- </array>
225
217
  </dict>
226
- <dict>
227
- <key>begin</key>
228
- <string>\(</string>
229
- <key>beginCaptures</key>
218
+ <key>name</key>
219
+ <string>meta.brace.curly.coffeehaml</string>
220
+ <key>patterns</key>
221
+ <array>
230
222
  <dict>
231
- <key>0</key>
232
- <dict>
233
- <key>name</key>
234
- <string>punctuation.definition.bracket.round.begin.coffeehaml</string>
235
- </dict>
223
+ <key>include</key>
224
+ <string>#coffeescript-expression</string>
236
225
  </dict>
237
- <key>end</key>
238
- <string>\)</string>
239
- <key>endCaptures</key>
226
+ </array>
227
+ </dict>
228
+ <dict>
229
+ <key>begin</key>
230
+ <string>\(</string>
231
+ <key>beginCaptures</key>
232
+ <dict>
233
+ <key>0</key>
240
234
  <dict>
241
- <key>0</key>
242
- <dict>
243
- <key>name</key>
244
- <string>punctuation.definition.bracket.round.end.coffeehaml</string>
245
- </dict>
235
+ <key>name</key>
236
+ <string>punctuation.definition.bracket.round.begin.coffeehaml</string>
246
237
  </dict>
247
- <key>name</key>
248
- <string>meta.brace.round.coffeehaml</string>
249
- <key>patterns</key>
250
- <array>
251
- <dict>
252
- <key>include</key>
253
- <string>#coffeescript-expression</string>
254
- </dict>
255
- </array>
256
238
  </dict>
239
+ <key>end</key>
240
+ <string>\)</string>
241
+ <key>endCaptures</key>
257
242
  <dict>
258
- <key>begin</key>
259
- <string>\[</string>
260
- <key>beginCaptures</key>
243
+ <key>0</key>
261
244
  <dict>
262
- <key>0</key>
263
- <dict>
264
- <key>name</key>
265
- <string>punctuation.definition.bracket.square.begin.coffeehaml</string>
266
- </dict>
245
+ <key>name</key>
246
+ <string>punctuation.definition.bracket.round.end.coffeehaml</string>
267
247
  </dict>
268
- <key>end</key>
269
- <string>\]</string>
270
- <key>endCaptures</key>
248
+ </dict>
249
+ <key>name</key>
250
+ <string>meta.brace.round.coffeehaml</string>
251
+ <key>patterns</key>
252
+ <array>
271
253
  <dict>
272
- <key>0</key>
273
- <dict>
274
- <key>name</key>
275
- <string>punctuation.definition.bracket.square.end.coffeehaml</string>
276
- </dict>
254
+ <key>include</key>
255
+ <string>#coffeescript-expression</string>
277
256
  </dict>
278
- <key>name</key>
279
- <string>meta.brace.square.coffeehaml</string>
280
- <key>patterns</key>
281
- <array>
282
- <dict>
283
- <key>include</key>
284
- <string>#coffeescript-expression</string>
285
- </dict>
286
- </array>
287
- </dict>
288
- </array>
289
- </dict>
290
- <key>coffee-comment</key>
291
- <dict>
292
- <key>match</key>
293
- <string>#(?![\{@]).*$</string>
294
- <key>name</key>
295
- <string>comment.line.number-sign.coffeehaml</string>
296
- </dict>
297
- <key>coffee-function</key>
298
- <dict>
299
- <key>captures</key>
257
+ </array>
258
+ </dict>
300
259
  <dict>
301
- <key>1</key>
260
+ <key>begin</key>
261
+ <string>\[</string>
262
+ <key>beginCaptures</key>
302
263
  <dict>
303
- <key>name</key>
304
- <string>storage.type.function.arrow.coffeehaml</string>
264
+ <key>0</key>
265
+ <dict>
266
+ <key>name</key>
267
+ <string>punctuation.definition.bracket.square.begin.coffeehaml</string>
268
+ </dict>
305
269
  </dict>
306
- <key>2</key>
270
+ <key>end</key>
271
+ <string>\]</string>
272
+ <key>endCaptures</key>
307
273
  <dict>
308
- <key>name</key>
309
- <string>storage.type.function.coffeehaml</string>
274
+ <key>0</key>
275
+ <dict>
276
+ <key>name</key>
277
+ <string>punctuation.definition.bracket.square.end.coffeehaml</string>
278
+ </dict>
310
279
  </dict>
280
+ <key>name</key>
281
+ <string>meta.brace.square.coffeehaml</string>
282
+ <key>patterns</key>
283
+ <array>
284
+ <dict>
285
+ <key>include</key>
286
+ <string>#coffeescript-expression</string>
287
+ </dict>
288
+ </array>
311
289
  </dict>
312
- <key>match</key>
313
- <string>(-&gt;|=&gt;)|\b(function)\b</string>
314
- <key>name</key>
315
- <string>meta.function.arrow.coffeehaml</string>
316
- </dict>
317
- <key>coffee-interpolation</key>
290
+ </array>
291
+ </dict>
292
+ <key>coffee-comment</key>
293
+ <dict>
294
+ <key>match</key>
295
+ <string>#(?![\{@]).*$</string>
296
+ <key>name</key>
297
+ <string>comment.line.number-sign.coffeehaml</string>
298
+ </dict>
299
+ <key>coffee-function</key>
300
+ <dict>
301
+ <key>captures</key>
318
302
  <dict>
319
- <key>begin</key>
320
- <string>#\{</string>
321
- <key>beginCaptures</key>
303
+ <key>1</key>
322
304
  <dict>
323
- <key>0</key>
324
- <dict>
325
- <key>name</key>
326
- <string>punctuation.definition.interpolation.begin.coffeehaml</string>
327
- </dict>
305
+ <key>name</key>
306
+ <string>storage.type.function.arrow.coffeehaml</string>
328
307
  </dict>
329
- <key>end</key>
330
- <string>\}</string>
331
- <key>endCaptures</key>
308
+ <key>2</key>
332
309
  <dict>
333
- <key>0</key>
334
- <dict>
335
- <key>name</key>
336
- <string>punctuation.definition.interpolation.end.coffeehaml</string>
337
- </dict>
310
+ <key>name</key>
311
+ <string>storage.type.function.coffeehaml</string>
338
312
  </dict>
339
- <key>name</key>
340
- <string>meta.embedded.interpolation.coffeehaml</string>
341
- <key>patterns</key>
342
- <array>
343
- <dict>
344
- <key>include</key>
345
- <string>#coffeescript-expression</string>
346
- </dict>
347
- </array>
348
313
  </dict>
349
- <key>coffee-null</key>
350
- <dict>
351
- <key>match</key>
352
- <string>\b(null|undefined|this|Infinity|NaN)\b</string>
353
- <key>name</key>
354
- <string>constant.language.null.coffeehaml</string>
355
- </dict>
356
- <key>coffee-number</key>
314
+ <key>match</key>
315
+ <string>(-&gt;|=&gt;)|\b(function)\b</string>
316
+ <key>name</key>
317
+ <string>meta.function.arrow.coffeehaml</string>
318
+ </dict>
319
+ <key>coffee-import-keyword</key>
320
+ <dict>
321
+ <key>match</key>
322
+ <string>\b(import|export|default|from|as|type)\b(?!\s*[=:])</string>
323
+ <key>name</key>
324
+ <string>keyword.control.import.coffeehaml</string>
325
+ </dict>
326
+ <key>coffee-interpolation</key>
327
+ <dict>
328
+ <key>begin</key>
329
+ <string>#\{</string>
330
+ <key>beginCaptures</key>
357
331
  <dict>
358
- <key>match</key>
359
- <string>\b(0[xX][0-9a-fA-F]+|0[oO]?[0-7]+|0[bB][01]+|(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?)\b</string>
360
- <key>name</key>
361
- <string>constant.numeric.coffeehaml</string>
332
+ <key>0</key>
333
+ <dict>
334
+ <key>name</key>
335
+ <string>punctuation.definition.interpolation.begin.coffeehaml</string>
336
+ </dict>
362
337
  </dict>
363
- <key>coffee-operator</key>
338
+ <key>end</key>
339
+ <string>\}</string>
340
+ <key>endCaptures</key>
364
341
  <dict>
365
- <key>match</key>
366
- <string>\b(and|or|not|is|isnt|instanceof|typeof|new|delete|of|in|then|when|do|by|own|unless|loop|break|continue|return|yield|await|throw|try|catch|finally|class|extends|super|import|export|default|from|as)\b|(\?\?|\.\.\.|\?\=|\.\.|\?\.?|:{2,3}|\|\||&amp;&amp;|[&lt;&gt;=!]==?|[-+*/%&amp;|^~]=?|[&lt;&gt;=!]=|[-+*/%&amp;|^~&lt;&gt;]=?)</string>
367
- <key>name</key>
368
- <string>keyword.operator.coffeehaml</string>
342
+ <key>0</key>
343
+ <dict>
344
+ <key>name</key>
345
+ <string>punctuation.definition.interpolation.end.coffeehaml</string>
346
+ </dict>
369
347
  </dict>
370
- <key>coffee-regex</key>
371
- <dict>
372
- <key>begin</key>
373
- <string>(?&lt;=[=:(\[,!&amp;|?:;,\{\(])\s*(/{1,3})(?![/*])</string>
374
- <key>beginCaptures</key>
348
+ <key>name</key>
349
+ <string>meta.embedded.interpolation.coffeehaml</string>
350
+ <key>patterns</key>
351
+ <array>
375
352
  <dict>
376
- <key>2</key>
377
- <dict>
378
- <key>name</key>
379
- <string>punctuation.definition.string.regexp.begin.coffeehaml</string>
380
- </dict>
353
+ <key>include</key>
354
+ <string>#coffeescript-expression</string>
381
355
  </dict>
382
- <key>end</key>
383
- <string>\2[gimuy]*</string>
384
- <key>endCaptures</key>
356
+ </array>
357
+ </dict>
358
+ <key>coffee-null</key>
359
+ <dict>
360
+ <key>match</key>
361
+ <string>\b(null|undefined|this|Infinity|NaN)\b</string>
362
+ <key>name</key>
363
+ <string>constant.language.null.coffeehaml</string>
364
+ </dict>
365
+ <key>coffee-number</key>
366
+ <dict>
367
+ <key>match</key>
368
+ <string>\b(0[xX][0-9a-fA-F]+|0[oO]?[0-7]+|0[bB][01]+|(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?)\b</string>
369
+ <key>name</key>
370
+ <string>constant.numeric.coffeehaml</string>
371
+ </dict>
372
+ <key>coffee-operator</key>
373
+ <dict>
374
+ <key>match</key>
375
+ <string>\b(and|or|not|is|isnt|instanceof|typeof|new|delete|of|in|then|when|do|by|own|unless|loop|break|continue|return|yield|await|throw|try|catch|finally|class|extends|super)\b|(\?\?|\.\.\.|\?\=|\.\.|\?\.?|:{2,3}|\|\||&amp;&amp;|[&lt;&gt;=!]==?|[-+*/%&amp;|^~]=?|[&lt;&gt;=!]=|[-+*/%&amp;|^~&lt;&gt;]=?)</string>
376
+ <key>name</key>
377
+ <string>keyword.operator.coffeehaml</string>
378
+ </dict>
379
+ <key>coffee-regex</key>
380
+ <dict>
381
+ <key>begin</key>
382
+ <string>(?&lt;=[=:(\[,!&amp;|?:;,\{\(])\s*(/{1,3})(?![/*])</string>
383
+ <key>beginCaptures</key>
384
+ <dict>
385
+ <key>2</key>
385
386
  <dict>
386
- <key>0</key>
387
- <dict>
388
- <key>name</key>
389
- <string>punctuation.definition.string.regexp.end.coffeehaml</string>
390
- </dict>
387
+ <key>name</key>
388
+ <string>punctuation.definition.string.regexp.begin.coffeehaml</string>
391
389
  </dict>
392
- <key>name</key>
393
- <string>string.regexp.coffeehaml</string>
394
- <key>patterns</key>
395
- <array>
396
- <dict>
397
- <key>match</key>
398
- <string>\\.</string>
399
- <key>name</key>
400
- <string>constant.character.escape.regexp.coffeehaml</string>
401
- </dict>
402
- </array>
403
390
  </dict>
404
- <key>coffee-splat</key>
391
+ <key>end</key>
392
+ <string>\2[gimuy]*</string>
393
+ <key>endCaptures</key>
405
394
  <dict>
406
- <key>match</key>
407
- <string>\.\.\.</string>
408
- <key>name</key>
409
- <string>keyword.operator.spread.coffeehaml</string>
395
+ <key>0</key>
396
+ <dict>
397
+ <key>name</key>
398
+ <string>punctuation.definition.string.regexp.end.coffeehaml</string>
399
+ </dict>
410
400
  </dict>
411
- <key>coffee-string-double</key>
412
- <dict>
413
- <key>begin</key>
414
- <string>"</string>
415
- <key>beginCaptures</key>
401
+ <key>name</key>
402
+ <string>string.regexp.coffeehaml</string>
403
+ <key>patterns</key>
404
+ <array>
416
405
  <dict>
417
- <key>0</key>
418
- <dict>
419
- <key>name</key>
420
- <string>punctuation.definition.string.begin.coffeehaml</string>
421
- </dict>
406
+ <key>match</key>
407
+ <string>\\.</string>
408
+ <key>name</key>
409
+ <string>constant.character.escape.regexp.coffeehaml</string>
422
410
  </dict>
423
- <key>end</key>
424
- <string>"</string>
425
- <key>endCaptures</key>
411
+ </array>
412
+ </dict>
413
+ <key>coffee-splat</key>
414
+ <dict>
415
+ <key>match</key>
416
+ <string>\.\.\.</string>
417
+ <key>name</key>
418
+ <string>keyword.operator.spread.coffeehaml</string>
419
+ </dict>
420
+ <key>coffee-string-double</key>
421
+ <dict>
422
+ <key>begin</key>
423
+ <string>"</string>
424
+ <key>beginCaptures</key>
425
+ <dict>
426
+ <key>0</key>
426
427
  <dict>
427
- <key>0</key>
428
- <dict>
429
- <key>name</key>
430
- <string>punctuation.definition.string.end.coffeehaml</string>
431
- </dict>
428
+ <key>name</key>
429
+ <string>punctuation.definition.string.begin.coffeehaml</string>
432
430
  </dict>
433
- <key>name</key>
434
- <string>string.quoted.double.coffeehaml</string>
435
- <key>patterns</key>
436
- <array>
437
- <dict>
438
- <key>include</key>
439
- <string>#coffee-interpolation</string>
440
- </dict>
441
- <dict>
442
- <key>match</key>
443
- <string>\\.</string>
444
- <key>name</key>
445
- <string>constant.character.escape.coffeehaml</string>
446
- </dict>
447
- </array>
448
431
  </dict>
449
- <key>coffee-string-heredoc</key>
432
+ <key>end</key>
433
+ <string>"</string>
434
+ <key>endCaptures</key>
450
435
  <dict>
451
- <key>begin</key>
452
- <string>("""|''')</string>
453
- <key>beginCaptures</key>
436
+ <key>0</key>
454
437
  <dict>
455
- <key>0</key>
456
- <dict>
457
- <key>name</key>
458
- <string>punctuation.definition.string.begin.coffeehaml</string>
459
- </dict>
438
+ <key>name</key>
439
+ <string>punctuation.definition.string.end.coffeehaml</string>
460
440
  </dict>
461
- <key>end</key>
462
- <string>\1</string>
463
- <key>endCaptures</key>
441
+ </dict>
442
+ <key>name</key>
443
+ <string>string.quoted.double.coffeehaml</string>
444
+ <key>patterns</key>
445
+ <array>
464
446
  <dict>
465
- <key>0</key>
466
- <dict>
467
- <key>name</key>
468
- <string>punctuation.definition.string.end.coffeehaml</string>
469
- </dict>
447
+ <key>include</key>
448
+ <string>#coffee-interpolation</string>
470
449
  </dict>
471
- <key>name</key>
472
- <string>string.quoted.heredoc.coffeehaml</string>
473
- <key>patterns</key>
474
- <array>
475
- <dict>
476
- <key>include</key>
477
- <string>#coffee-interpolation</string>
478
- </dict>
479
- </array>
480
- </dict>
481
- <key>coffee-string-single</key>
482
- <dict>
483
- <key>begin</key>
484
- <string>'</string>
485
- <key>beginCaptures</key>
486
450
  <dict>
487
- <key>0</key>
488
- <dict>
489
- <key>name</key>
490
- <string>punctuation.definition.string.begin.coffeehaml</string>
491
- </dict>
451
+ <key>match</key>
452
+ <string>\\.</string>
453
+ <key>name</key>
454
+ <string>constant.character.escape.coffeehaml</string>
492
455
  </dict>
493
- <key>end</key>
494
- <string>'</string>
495
- <key>endCaptures</key>
456
+ </array>
457
+ </dict>
458
+ <key>coffee-string-heredoc</key>
459
+ <dict>
460
+ <key>begin</key>
461
+ <string>("""|''')</string>
462
+ <key>beginCaptures</key>
463
+ <dict>
464
+ <key>0</key>
496
465
  <dict>
497
- <key>0</key>
498
- <dict>
499
- <key>name</key>
500
- <string>punctuation.definition.string.end.coffeehaml</string>
501
- </dict>
466
+ <key>name</key>
467
+ <string>punctuation.definition.string.begin.coffeehaml</string>
502
468
  </dict>
503
- <key>name</key>
504
- <string>string.quoted.single.coffeehaml</string>
505
- <key>patterns</key>
506
- <array>
507
- <dict>
508
- <key>match</key>
509
- <string>\\.</string>
510
- <key>name</key>
511
- <string>constant.character.escape.coffeehaml</string>
512
- </dict>
513
- </array>
514
469
  </dict>
515
- <key>coffee-string-template</key>
470
+ <key>end</key>
471
+ <string>\1</string>
472
+ <key>endCaptures</key>
516
473
  <dict>
517
- <key>begin</key>
518
- <string>`</string>
519
- <key>beginCaptures</key>
474
+ <key>0</key>
520
475
  <dict>
521
- <key>0</key>
522
- <dict>
523
- <key>name</key>
524
- <string>punctuation.definition.string.begin.coffeehaml</string>
525
- </dict>
476
+ <key>name</key>
477
+ <string>punctuation.definition.string.end.coffeehaml</string>
526
478
  </dict>
527
- <key>end</key>
528
- <string>`</string>
529
- <key>endCaptures</key>
479
+ </dict>
480
+ <key>name</key>
481
+ <string>string.quoted.heredoc.coffeehaml</string>
482
+ <key>patterns</key>
483
+ <array>
530
484
  <dict>
531
- <key>0</key>
532
- <dict>
533
- <key>name</key>
534
- <string>punctuation.definition.string.end.coffeehaml</string>
535
- </dict>
485
+ <key>include</key>
486
+ <string>#coffee-interpolation</string>
536
487
  </dict>
537
- <key>name</key>
538
- <string>string.quoted.template.coffeehaml</string>
539
- <key>patterns</key>
540
- <array>
541
- <dict>
542
- <key>include</key>
543
- <string>#coffee-interpolation</string>
544
- </dict>
545
- <dict>
546
- <key>match</key>
547
- <string>\\.</string>
548
- <key>name</key>
549
- <string>constant.character.escape.coffeehaml</string>
550
- </dict>
551
- </array>
552
- </dict>
553
- <key>coffee-variable</key>
488
+ </array>
489
+ </dict>
490
+ <key>coffee-string-single</key>
491
+ <dict>
492
+ <key>begin</key>
493
+ <string>'</string>
494
+ <key>beginCaptures</key>
554
495
  <dict>
555
- <key>match</key>
556
- <string>\b([a-zA-Z_$][\w$]*)\b</string>
557
- <key>name</key>
558
- <string>variable.other.coffeehaml</string>
496
+ <key>0</key>
497
+ <dict>
498
+ <key>name</key>
499
+ <string>punctuation.definition.string.begin.coffeehaml</string>
500
+ </dict>
559
501
  </dict>
560
- <key>coffeescript-expression</key>
502
+ <key>end</key>
503
+ <string>'</string>
504
+ <key>endCaptures</key>
561
505
  <dict>
562
- <key>patterns</key>
563
- <array>
564
- <dict>
565
- <key>include</key>
566
- <string>#coffee-string-double</string>
567
- </dict>
568
- <dict>
569
- <key>include</key>
570
- <string>#coffee-string-single</string>
571
- </dict>
572
- <dict>
573
- <key>include</key>
574
- <string>#coffee-string-template</string>
575
- </dict>
576
- <dict>
577
- <key>include</key>
578
- <string>#coffee-string-heredoc</string>
579
- </dict>
580
- <dict>
581
- <key>include</key>
582
- <string>#coffee-regex</string>
583
- </dict>
584
- <dict>
585
- <key>include</key>
586
- <string>#coffee-function</string>
587
- </dict>
588
- <dict>
589
- <key>include</key>
590
- <string>#coffee-interpolation</string>
591
- </dict>
592
- <dict>
593
- <key>include</key>
594
- <string>#coffee-number</string>
595
- </dict>
596
- <dict>
597
- <key>include</key>
598
- <string>#coffee-boolean</string>
599
- </dict>
600
- <dict>
601
- <key>include</key>
602
- <string>#coffee-null</string>
603
- </dict>
604
- <dict>
605
- <key>include</key>
606
- <string>#coffee-operator</string>
607
- </dict>
608
- <dict>
609
- <key>include</key>
610
- <string>#coffee-comment</string>
611
- </dict>
612
- <dict>
613
- <key>include</key>
614
- <string>#coffee-bracket</string>
615
- </dict>
616
- <dict>
617
- <key>include</key>
618
- <string>#coffee-splat</string>
619
- </dict>
620
- <dict>
621
- <key>include</key>
622
- <string>#coffee-variable</string>
623
- </dict>
624
- </array>
506
+ <key>0</key>
507
+ <dict>
508
+ <key>name</key>
509
+ <string>punctuation.definition.string.end.coffeehaml</string>
510
+ </dict>
625
511
  </dict>
626
- <key>comment-haml</key>
512
+ <key>name</key>
513
+ <string>string.quoted.single.coffeehaml</string>
514
+ <key>patterns</key>
515
+ <array>
516
+ <dict>
517
+ <key>match</key>
518
+ <string>\\.</string>
519
+ <key>name</key>
520
+ <string>constant.character.escape.coffeehaml</string>
521
+ </dict>
522
+ </array>
523
+ </dict>
524
+ <key>coffee-string-template</key>
525
+ <dict>
526
+ <key>begin</key>
527
+ <string>`</string>
528
+ <key>beginCaptures</key>
627
529
  <dict>
628
- <key>captures</key>
530
+ <key>0</key>
629
531
  <dict>
630
- <key>2</key>
631
- <dict>
632
- <key>name</key>
633
- <string>punctuation.definition.comment.coffeehaml</string>
634
- </dict>
635
- <key>3</key>
636
- <dict>
637
- <key>name</key>
638
- <string>comment.line.haml.coffeehaml</string>
639
- </dict>
532
+ <key>name</key>
533
+ <string>punctuation.definition.string.begin.coffeehaml</string>
640
534
  </dict>
641
- <key>match</key>
642
- <string>^(\s*)(-#)\s*(.*)$</string>
643
- <key>name</key>
644
- <string>comment.line.haml.coffeehaml</string>
645
535
  </dict>
646
- <key>comment-html</key>
536
+ <key>end</key>
537
+ <string>`</string>
538
+ <key>endCaptures</key>
647
539
  <dict>
648
- <key>captures</key>
540
+ <key>0</key>
649
541
  <dict>
650
- <key>2</key>
651
- <dict>
652
- <key>name</key>
653
- <string>punctuation.definition.comment.coffeehaml</string>
654
- </dict>
655
- <key>3</key>
656
- <dict>
657
- <key>name</key>
658
- <string>comment.block.html.coffeehaml</string>
659
- </dict>
542
+ <key>name</key>
543
+ <string>punctuation.definition.string.end.coffeehaml</string>
660
544
  </dict>
661
- <key>match</key>
662
- <string>^(\s*)(/)\s*(.*)$</string>
663
- <key>name</key>
664
- <string>comment.block.html.coffeehaml</string>
665
545
  </dict>
666
- <key>control-flow</key>
546
+ <key>name</key>
547
+ <string>string.quoted.template.coffeehaml</string>
548
+ <key>patterns</key>
549
+ <array>
550
+ <dict>
551
+ <key>include</key>
552
+ <string>#coffee-interpolation</string>
553
+ </dict>
554
+ <dict>
555
+ <key>match</key>
556
+ <string>\\.</string>
557
+ <key>name</key>
558
+ <string>constant.character.escape.coffeehaml</string>
559
+ </dict>
560
+ </array>
561
+ </dict>
562
+ <key>coffee-variable</key>
563
+ <dict>
564
+ <key>match</key>
565
+ <string>\b([a-zA-Z_$][\w$]*)\b</string>
566
+ <key>name</key>
567
+ <string>variable.other.coffeehaml</string>
568
+ </dict>
569
+ <key>coffeescript-expression</key>
570
+ <dict>
571
+ <key>patterns</key>
572
+ <array>
573
+ <dict>
574
+ <key>include</key>
575
+ <string>source.coffee</string>
576
+ </dict>
577
+ </array>
578
+ </dict>
579
+ <key>comment-haml</key>
580
+ <dict>
581
+ <key>captures</key>
667
582
  <dict>
668
- <key>begin</key>
669
- <string>^(\s*)(-)\s*</string>
670
- <key>beginCaptures</key>
583
+ <key>2</key>
671
584
  <dict>
672
- <key>2</key>
673
- <dict>
674
- <key>name</key>
675
- <string>punctuation.definition.control.coffeehaml</string>
676
- </dict>
585
+ <key>name</key>
586
+ <string>punctuation.definition.comment.coffeehaml</string>
587
+ </dict>
588
+ <key>3</key>
589
+ <dict>
590
+ <key>name</key>
591
+ <string>comment.line.haml.coffeehaml</string>
677
592
  </dict>
678
- <key>end</key>
679
- <string>$</string>
680
- <key>name</key>
681
- <string>meta.control.coffeehaml</string>
682
- <key>patterns</key>
683
- <array>
684
- <dict>
685
- <key>match</key>
686
- <string>\b(if|unless)\b</string>
687
- <key>name</key>
688
- <string>keyword.control.conditional.coffeehaml</string>
689
- </dict>
690
- <dict>
691
- <key>match</key>
692
- <string>\b(for|while|do)\b</string>
693
- <key>name</key>
694
- <string>keyword.control.loop.coffeehaml</string>
695
- </dict>
696
- <dict>
697
- <key>match</key>
698
- <string>\b(else|then|when|by|of|in)\b</string>
699
- <key>name</key>
700
- <string>keyword.control.flow.coffeehaml</string>
701
- </dict>
702
- <dict>
703
- <key>include</key>
704
- <string>#coffeescript-expression</string>
705
- </dict>
706
- </array>
707
593
  </dict>
708
- <key>doctype</key>
594
+ <key>match</key>
595
+ <string>^(\s*)(-#)\s*(.*)$</string>
596
+ <key>name</key>
597
+ <string>comment.line.haml.coffeehaml</string>
598
+ </dict>
599
+ <key>comment-html</key>
600
+ <dict>
601
+ <key>captures</key>
709
602
  <dict>
710
- <key>captures</key>
603
+ <key>2</key>
711
604
  <dict>
712
- <key>2</key>
713
- <dict>
714
- <key>name</key>
715
- <string>keyword.other.doctype.coffeehaml</string>
716
- </dict>
717
- <key>3</key>
718
- <dict>
719
- <key>name</key>
720
- <string>string.unquoted.coffeehaml</string>
721
- </dict>
605
+ <key>name</key>
606
+ <string>punctuation.definition.comment.coffeehaml</string>
607
+ </dict>
608
+ <key>3</key>
609
+ <dict>
610
+ <key>name</key>
611
+ <string>comment.block.html.coffeehaml</string>
722
612
  </dict>
723
- <key>match</key>
724
- <string>^(\s*)(!!!)\s*(.*)$</string>
725
- <key>name</key>
726
- <string>meta.doctype.coffeehaml</string>
727
613
  </dict>
728
- <key>element</key>
614
+ <key>match</key>
615
+ <string>^(\s*)(/)\s*(.*)$</string>
616
+ <key>name</key>
617
+ <string>comment.block.html.coffeehaml</string>
618
+ </dict>
619
+ <key>control-flow</key>
620
+ <dict>
621
+ <key>begin</key>
622
+ <string>^(\s*)(-)\s*</string>
623
+ <key>beginCaptures</key>
729
624
  <dict>
730
- <key>begin</key>
731
- <string>^(\s*)(%)([\w-]+(?:\:[\w-]+)*)</string>
732
- <key>beginCaptures</key>
625
+ <key>2</key>
733
626
  <dict>
734
- <key>2</key>
735
- <dict>
736
- <key>name</key>
737
- <string>punctuation.definition.tag.coffeehaml</string>
738
- </dict>
739
- <key>3</key>
740
- <dict>
741
- <key>name</key>
742
- <string>entity.name.tag.coffeehaml</string>
743
- </dict>
627
+ <key>name</key>
628
+ <string>punctuation.definition.control.coffeehaml</string>
744
629
  </dict>
745
- <key>end</key>
746
- <string>$</string>
747
- <key>name</key>
748
- <string>meta.tag.coffeehaml</string>
749
- <key>patterns</key>
750
- <array>
751
- <dict>
752
- <key>include</key>
753
- <string>#self-close</string>
754
- </dict>
755
- <dict>
756
- <key>include</key>
757
- <string>#modifiers</string>
758
- </dict>
759
- <dict>
760
- <key>include</key>
761
- <string>#attribute-brace</string>
762
- </dict>
763
- <dict>
764
- <key>include</key>
765
- <string>#attribute-paren</string>
766
- </dict>
767
- <dict>
768
- <key>include</key>
769
- <string>#inline-output</string>
770
- </dict>
771
- <dict>
772
- <key>include</key>
773
- <string>#inline-text</string>
774
- </dict>
775
- </array>
776
630
  </dict>
777
- <key>filter</key>
631
+ <key>contentName</key>
632
+ <string>source.coffee.embedded.haml</string>
633
+ <key>end</key>
634
+ <string>$</string>
635
+ <key>name</key>
636
+ <string>meta.control.coffeehaml</string>
637
+ <key>patterns</key>
638
+ <array>
639
+ <dict>
640
+ <key>include</key>
641
+ <string>source.coffee</string>
642
+ </dict>
643
+ </array>
644
+ </dict>
645
+ <key>doctype</key>
646
+ <dict>
647
+ <key>captures</key>
778
648
  <dict>
779
- <key>begin</key>
780
- <string>^(\s*)(:)([\w-]+)</string>
781
- <key>beginCaptures</key>
649
+ <key>2</key>
782
650
  <dict>
783
- <key>2</key>
784
- <dict>
785
- <key>name</key>
786
- <string>punctuation.definition.filter.coffeehaml</string>
787
- </dict>
788
- <key>3</key>
789
- <dict>
790
- <key>name</key>
791
- <string>entity.name.filter.coffeehaml</string>
792
- </dict>
651
+ <key>name</key>
652
+ <string>keyword.other.doctype.coffeehaml</string>
653
+ </dict>
654
+ <key>3</key>
655
+ <dict>
656
+ <key>name</key>
657
+ <string>string.unquoted.coffeehaml</string>
793
658
  </dict>
794
- <key>end</key>
795
- <string>$</string>
796
- <key>name</key>
797
- <string>meta.filter.coffeehaml</string>
798
- <key>patterns</key>
799
- <array>
800
- <dict>
801
- <key>include</key>
802
- <string>#inline-text</string>
803
- </dict>
804
- </array>
805
659
  </dict>
806
- <key>implicit-div</key>
660
+ <key>match</key>
661
+ <string>^(\s*)(!!!)\s*(.*)$</string>
662
+ <key>name</key>
663
+ <string>meta.doctype.coffeehaml</string>
664
+ </dict>
665
+ <key>element</key>
666
+ <dict>
667
+ <key>begin</key>
668
+ <string>^(\s*)(%)([\w-]+(?:\:[\w-]+)*)</string>
669
+ <key>beginCaptures</key>
807
670
  <dict>
808
- <key>begin</key>
809
- <string>^(\s*)([.#])([\w-]+)</string>
810
- <key>beginCaptures</key>
671
+ <key>2</key>
811
672
  <dict>
812
- <key>2</key>
813
- <dict>
814
- <key>name</key>
815
- <string>punctuation.definition.tag.coffeehaml</string>
816
- </dict>
673
+ <key>name</key>
674
+ <string>punctuation.definition.tag.coffeehaml</string>
675
+ </dict>
676
+ <key>3</key>
677
+ <dict>
678
+ <key>name</key>
679
+ <string>entity.name.tag.coffeehaml</string>
817
680
  </dict>
818
- <key>end</key>
819
- <string>$</string>
820
- <key>name</key>
821
- <string>meta.tag.implicit.coffeehaml</string>
822
- <key>patterns</key>
823
- <array>
824
- <dict>
825
- <key>include</key>
826
- <string>#modifiers</string>
827
- </dict>
828
- <dict>
829
- <key>include</key>
830
- <string>#attribute-brace</string>
831
- </dict>
832
- <dict>
833
- <key>include</key>
834
- <string>#attribute-paren</string>
835
- </dict>
836
- <dict>
837
- <key>include</key>
838
- <string>#inline-output</string>
839
- </dict>
840
- <dict>
841
- <key>include</key>
842
- <string>#inline-text</string>
843
- </dict>
844
- </array>
845
681
  </dict>
846
- <key>inline-output</key>
682
+ <key>end</key>
683
+ <string>$</string>
684
+ <key>name</key>
685
+ <string>meta.tag.coffeehaml</string>
686
+ <key>patterns</key>
687
+ <array>
688
+ <dict>
689
+ <key>include</key>
690
+ <string>#self-close</string>
691
+ </dict>
692
+ <dict>
693
+ <key>include</key>
694
+ <string>#modifiers</string>
695
+ </dict>
696
+ <dict>
697
+ <key>include</key>
698
+ <string>#attribute-brace</string>
699
+ </dict>
700
+ <dict>
701
+ <key>include</key>
702
+ <string>#attribute-paren</string>
703
+ </dict>
704
+ <dict>
705
+ <key>include</key>
706
+ <string>#inline-output</string>
707
+ </dict>
708
+ <dict>
709
+ <key>include</key>
710
+ <string>#inline-text</string>
711
+ </dict>
712
+ </array>
713
+ </dict>
714
+ <key>filter</key>
715
+ <dict>
716
+ <key>begin</key>
717
+ <string>^(\s*)(:)([\w-]+)</string>
718
+ <key>beginCaptures</key>
847
719
  <dict>
848
- <key>begin</key>
849
- <string>(!=|=)(?!=)\s*</string>
850
- <key>beginCaptures</key>
720
+ <key>2</key>
851
721
  <dict>
852
- <key>1</key>
853
- <dict>
854
- <key>name</key>
855
- <string>keyword.operator.output.coffeehaml</string>
856
- </dict>
722
+ <key>name</key>
723
+ <string>punctuation.definition.filter.coffeehaml</string>
724
+ </dict>
725
+ <key>3</key>
726
+ <dict>
727
+ <key>name</key>
728
+ <string>entity.name.filter.coffeehaml</string>
857
729
  </dict>
858
- <key>end</key>
859
- <string>$</string>
860
- <key>name</key>
861
- <string>meta.output.inline.coffeehaml</string>
862
- <key>patterns</key>
863
- <array>
864
- <dict>
865
- <key>include</key>
866
- <string>#coffeescript-expression</string>
867
- </dict>
868
- </array>
869
730
  </dict>
870
- <key>inline-text</key>
731
+ <key>end</key>
732
+ <string>$</string>
733
+ <key>name</key>
734
+ <string>meta.filter.coffeehaml</string>
735
+ <key>patterns</key>
736
+ <array>
737
+ <dict>
738
+ <key>include</key>
739
+ <string>#inline-text</string>
740
+ </dict>
741
+ </array>
742
+ </dict>
743
+ <key>implicit-div</key>
744
+ <dict>
745
+ <key>begin</key>
746
+ <string>^(\s*)([.#])([\w-]+)</string>
747
+ <key>beginCaptures</key>
871
748
  <dict>
872
- <key>patterns</key>
873
- <array>
874
- <dict>
875
- <key>match</key>
876
- <string>[^%#\-=/:!.{}()\\s]+</string>
877
- <key>name</key>
878
- <string>text.plain.coffeehaml</string>
879
- </dict>
880
- </array>
749
+ <key>2</key>
750
+ <dict>
751
+ <key>name</key>
752
+ <string>punctuation.definition.tag.coffeehaml</string>
753
+ </dict>
754
+ <key>3</key>
755
+ <dict>
756
+ <key>name</key>
757
+ <string>entity.name.tag.coffeehaml</string>
758
+ </dict>
881
759
  </dict>
882
- <key>modifiers</key>
760
+ <key>end</key>
761
+ <string>$</string>
762
+ <key>name</key>
763
+ <string>meta.tag.implicit.coffeehaml</string>
764
+ <key>patterns</key>
765
+ <array>
766
+ <dict>
767
+ <key>include</key>
768
+ <string>#modifiers</string>
769
+ </dict>
770
+ <dict>
771
+ <key>include</key>
772
+ <string>#attribute-brace</string>
773
+ </dict>
774
+ <dict>
775
+ <key>include</key>
776
+ <string>#attribute-paren</string>
777
+ </dict>
778
+ <dict>
779
+ <key>include</key>
780
+ <string>#inline-output</string>
781
+ </dict>
782
+ <dict>
783
+ <key>include</key>
784
+ <string>#inline-text</string>
785
+ </dict>
786
+ </array>
787
+ </dict>
788
+ <key>inline-output</key>
789
+ <dict>
790
+ <key>begin</key>
791
+ <string>(!=|=)(?!=)\s*</string>
792
+ <key>beginCaptures</key>
883
793
  <dict>
884
- <key>patterns</key>
885
- <array>
794
+ <key>1</key>
795
+ <dict>
796
+ <key>name</key>
797
+ <string>keyword.operator.output.coffeehaml</string>
798
+ </dict>
799
+ </dict>
800
+ <key>contentName</key>
801
+ <string>source.coffee.embedded.haml</string>
802
+ <key>end</key>
803
+ <string>$</string>
804
+ <key>name</key>
805
+ <string>meta.output.inline.coffeehaml</string>
806
+ <key>patterns</key>
807
+ <array>
808
+ <dict>
809
+ <key>include</key>
810
+ <string>source.coffee</string>
811
+ </dict>
812
+ </array>
813
+ </dict>
814
+ <key>inline-text</key>
815
+ <dict>
816
+ <key>patterns</key>
817
+ <array>
818
+ <dict>
819
+ <key>match</key>
820
+ <string>[^%#\-=/:!.{}()\\s]+</string>
821
+ <key>name</key>
822
+ <string>text.plain.coffeehaml</string>
823
+ </dict>
824
+ </array>
825
+ </dict>
826
+ <key>modifiers</key>
827
+ <dict>
828
+ <key>patterns</key>
829
+ <array>
830
+ <dict>
831
+ <key>captures</key>
886
832
  <dict>
887
- <key>captures</key>
833
+ <key>1</key>
888
834
  <dict>
889
- <key>1</key>
890
- <dict>
891
- <key>name</key>
892
- <string>entity.other.attribute-name.class.coffeehaml</string>
893
- </dict>
835
+ <key>name</key>
836
+ <string>entity.name.tag.class.coffeehaml</string>
894
837
  </dict>
895
- <key>match</key>
896
- <string>\.([\w-]+)</string>
897
- <key>name</key>
898
- <string>entity.other.attribute-name.class.coffeehaml</string>
899
838
  </dict>
839
+ <key>match</key>
840
+ <string>\.([\w-]+)</string>
841
+ <key>name</key>
842
+ <string>entity.name.tag.class.coffeehaml</string>
843
+ </dict>
844
+ <dict>
845
+ <key>captures</key>
900
846
  <dict>
901
- <key>captures</key>
847
+ <key>1</key>
902
848
  <dict>
903
- <key>1</key>
904
- <dict>
905
- <key>name</key>
906
- <string>entity.other.attribute-name.id.coffeehaml</string>
907
- </dict>
849
+ <key>name</key>
850
+ <string>entity.name.tag.id.coffeehaml</string>
908
851
  </dict>
909
- <key>match</key>
910
- <string>#([\w-]+)</string>
911
- <key>name</key>
912
- <string>entity.other.attribute-name.id.coffeehaml</string>
913
852
  </dict>
914
- </array>
915
- </dict>
916
- <key>output</key>
853
+ <key>match</key>
854
+ <string>#([\w-]+)</string>
855
+ <key>name</key>
856
+ <string>entity.name.tag.id.coffeehaml</string>
857
+ </dict>
858
+ </array>
859
+ </dict>
860
+ <key>output</key>
861
+ <dict>
862
+ <key>begin</key>
863
+ <string>^(\s*)(!=|=)(?!=)(\s*)</string>
864
+ <key>beginCaptures</key>
917
865
  <dict>
918
- <key>begin</key>
919
- <string>^(\s*)(!=|=)(?!=)(\s*)</string>
920
- <key>beginCaptures</key>
866
+ <key>2</key>
921
867
  <dict>
922
- <key>2</key>
923
- <dict>
924
- <key>name</key>
925
- <string>keyword.operator.output.coffeehaml</string>
926
- </dict>
868
+ <key>name</key>
869
+ <string>keyword.operator.output.coffeehaml</string>
927
870
  </dict>
928
- <key>end</key>
929
- <string>$</string>
930
- <key>name</key>
931
- <string>meta.output.coffeehaml</string>
932
- <key>patterns</key>
933
- <array>
934
- <dict>
935
- <key>include</key>
936
- <string>#coffeescript-expression</string>
937
- </dict>
938
- </array>
939
871
  </dict>
940
- <key>prologue</key>
941
- <dict>
942
- <key>captures</key>
872
+ <key>contentName</key>
873
+ <string>source.coffee.embedded.haml</string>
874
+ <key>end</key>
875
+ <string>$</string>
876
+ <key>name</key>
877
+ <string>meta.output.coffeehaml</string>
878
+ <key>patterns</key>
879
+ <array>
943
880
  <dict>
944
- <key>0</key>
945
- <dict>
946
- <key>patterns</key>
947
- <array>
948
- <dict>
949
- <key>include</key>
950
- <string>#coffeescript-expression</string>
951
- </dict>
952
- </array>
953
- </dict>
881
+ <key>include</key>
882
+ <string>source.coffee</string>
954
883
  </dict>
955
- <key>match</key>
956
- <string>^(import\b.*|export\b.*|const\b.*|let\b.*|var\b.*|function\b.*|class\b.*|@\w+.*|type\b.*|interface\b.*|enum\b.*)$</string>
957
- <key>name</key>
958
- <string>meta.prologue.coffeehaml</string>
959
- </dict>
960
- <key>self-close</key>
884
+ </array>
885
+ </dict>
886
+ <key>prologue</key>
887
+ <dict>
888
+ <key>captures</key>
961
889
  <dict>
962
- <key>match</key>
963
- <string>/(?=\s|$)</string>
964
- <key>name</key>
965
- <string>keyword.operator.self-close.coffeehaml</string>
890
+ <key>0</key>
891
+ <dict>
892
+ <key>patterns</key>
893
+ <array>
894
+ <dict>
895
+ <key>include</key>
896
+ <string>source.coffee</string>
897
+ </dict>
898
+ </array>
899
+ </dict>
966
900
  </dict>
967
- <key>spread-coffee</key>
901
+ <key>match</key>
902
+ <string>^(import\b.*|export\b.*|const\b.*|let\b.*|var\b.*|function\b.*|class\b.*|@\w+.*|type\b.*|interface\b.*|enum\b.*)$</string>
903
+ <key>name</key>
904
+ <string>meta.prologue.coffeehaml</string>
905
+ </dict>
906
+ <key>self-close</key>
907
+ <dict>
908
+ <key>match</key>
909
+ <string>/(?=\s|$)</string>
910
+ <key>name</key>
911
+ <string>keyword.operator.self-close.coffeehaml</string>
912
+ </dict>
913
+ <key>spread-coffee</key>
914
+ <dict>
915
+ <key>captures</key>
968
916
  <dict>
969
- <key>captures</key>
917
+ <key>1</key>
970
918
  <dict>
971
- <key>1</key>
972
- <dict>
973
- <key>name</key>
974
- <string>variable.other.spread.coffeehaml</string>
975
- </dict>
976
- <key>2</key>
977
- <dict>
978
- <key>name</key>
979
- <string>keyword.operator.spread.coffeehaml</string>
980
- </dict>
919
+ <key>name</key>
920
+ <string>variable.other.spread.coffeehaml</string>
921
+ </dict>
922
+ <key>2</key>
923
+ <dict>
924
+ <key>name</key>
925
+ <string>keyword.operator.spread.coffeehaml</string>
981
926
  </dict>
982
- <key>match</key>
983
- <string>([\w$]+)(\.\.\.)</string>
984
- <key>name</key>
985
- <string>meta.spread.coffee.coffeehaml</string>
986
927
  </dict>
987
- <key>spread-jsx</key>
928
+ <key>match</key>
929
+ <string>([\w$]+)(\.\.\.)</string>
930
+ <key>name</key>
931
+ <string>meta.spread.coffee.coffeehaml</string>
932
+ </dict>
933
+ <key>spread-jsx</key>
934
+ <dict>
935
+ <key>captures</key>
988
936
  <dict>
989
- <key>captures</key>
937
+ <key>1</key>
990
938
  <dict>
991
- <key>1</key>
992
- <dict>
993
- <key>name</key>
994
- <string>keyword.operator.spread.coffeehaml</string>
995
- </dict>
996
- <key>2</key>
997
- <dict>
998
- <key>name</key>
999
- <string>variable.other.spread.coffeehaml</string>
1000
- </dict>
939
+ <key>name</key>
940
+ <string>keyword.operator.spread.coffeehaml</string>
941
+ </dict>
942
+ <key>2</key>
943
+ <dict>
944
+ <key>name</key>
945
+ <string>variable.other.spread.coffeehaml</string>
1001
946
  </dict>
1002
- <key>match</key>
1003
- <string>(\.\.\.)\s*([\w$]+)</string>
1004
- <key>name</key>
1005
- <string>meta.spread.jsx.coffeehaml</string>
1006
947
  </dict>
1007
- <key>text</key>
948
+ <key>match</key>
949
+ <string>(\.\.\.)\s*([\w$]+)</string>
950
+ <key>name</key>
951
+ <string>meta.spread.jsx.coffeehaml</string>
952
+ </dict>
953
+ <key>text</key>
954
+ <dict>
955
+ <key>captures</key>
1008
956
  <dict>
1009
- <key>captures</key>
957
+ <key>2</key>
1010
958
  <dict>
1011
- <key>2</key>
1012
- <dict>
1013
- <key>name</key>
1014
- <string>text.plain.coffeehaml</string>
1015
- </dict>
959
+ <key>name</key>
960
+ <string>text.plain.coffeehaml</string>
1016
961
  </dict>
1017
- <key>match</key>
1018
- <string>^(\s*)(\S.*)$</string>
1019
- <key>name</key>
1020
- <string>text.plain.coffeehaml</string>
1021
962
  </dict>
963
+ <key>match</key>
964
+ <string>^(\s*)(\S.*)$</string>
965
+ <key>name</key>
966
+ <string>text.plain.coffeehaml</string>
1022
967
  </dict>
1023
- <key>scopeName</key>
1024
- <string>source.coffeehaml</string>
1025
968
  </dict>
969
+ <key>scopeName</key>
970
+ <string>source.coffeehaml</string>
971
+ <key>uuid</key>
972
+ <string>1EEA33FD-AEAC-4C44-9EB6-D4D0D9E5C9CB</string>
1026
973
  </dict>
1027
974
  </plist>