@master/css-language-service 0.0.0-site.1793659883.g69c9aebcf628

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 +131 -0
  2. package/dist/common.d.ts +2 -0
  3. package/dist/common.js +1 -0
  4. package/dist/core.d.ts +34 -0
  5. package/dist/core.js +81 -0
  6. package/dist/document-analysis.d.ts +16 -0
  7. package/dist/document-analysis.js +34 -0
  8. package/dist/features/edit-syntax-colors.d.ts +5 -0
  9. package/dist/features/edit-syntax-colors.js +36 -0
  10. package/dist/features/format-directives.d.ts +5 -0
  11. package/dist/features/format-directives.js +60 -0
  12. package/dist/features/inspect-syntax.d.ts +5 -0
  13. package/dist/features/inspect-syntax.js +48 -0
  14. package/dist/features/render-semantic-tokens.d.ts +6 -0
  15. package/dist/features/render-semantic-tokens.js +36 -0
  16. package/dist/features/render-syntax-colors.d.ts +5 -0
  17. package/dist/features/render-syntax-colors.js +47 -0
  18. package/dist/features/suggest-syntax.d.ts +5 -0
  19. package/dist/features/suggest-syntax.js +165 -0
  20. package/dist/index.d.ts +8 -0
  21. package/dist/index.js +8 -0
  22. package/dist/settings.d.ts +21 -0
  23. package/dist/settings.js +64 -0
  24. package/dist/shiki/hast.d.ts +13 -0
  25. package/dist/shiki/hast.js +174 -0
  26. package/dist/shiki/languages.d.ts +8 -0
  27. package/dist/shiki/languages.js +69 -0
  28. package/dist/shiki.d.ts +159 -0
  29. package/dist/shiki.js +522 -0
  30. package/dist/utils/beautify-css.d.ts +2 -0
  31. package/dist/utils/beautify-css.js +12 -0
  32. package/dist/utils/convert-color-token.d.ts +4 -0
  33. package/dist/utils/convert-color-token.js +31 -0
  34. package/dist/utils/create-css-markdown-documentation.d.ts +6 -0
  35. package/dist/utils/create-css-markdown-documentation.js +12 -0
  36. package/dist/utils/create-doc.d.ts +17 -0
  37. package/dist/utils/create-doc.js +20 -0
  38. package/dist/utils/get-position.d.ts +2 -0
  39. package/dist/utils/get-position.js +8 -0
  40. package/dist/utils/get-range.d.ts +3 -0
  41. package/dist/utils/get-range.js +20 -0
  42. package/package.json +60 -0
  43. package/src/shiki.css +7 -0
  44. package/syntaxes/master-css.tmLanguage.json +881 -0
@@ -0,0 +1,881 @@
1
+ {
2
+ "name": "Master CSS Directive Injection",
3
+ "scopeName": "master-css.directive.injection",
4
+ "injectionSelector": "L:source.css -comment -string, L:source.css.scss -comment -string, L:source.css.less -comment -string, L:source.css.postcss -comment -string",
5
+ "patterns": [
6
+ {
7
+ "include": "#master-directive"
8
+ }
9
+ ],
10
+ "repository": {
11
+ "comment": {
12
+ "patterns": [
13
+ {
14
+ "begin": "/\\*",
15
+ "end": "\\*/",
16
+ "name": "comment.block.css"
17
+ }
18
+ ]
19
+ },
20
+ "master-directive": {
21
+ "patterns": [
22
+ {
23
+ "begin": "(?i)(@)(source)\\b",
24
+ "beginCaptures": {
25
+ "0": {
26
+ "name": "keyword.control.at-rule.master-css"
27
+ }
28
+ },
29
+ "end": "(;)|$",
30
+ "endCaptures": {
31
+ "1": {
32
+ "name": "punctuation.section.master-css"
33
+ }
34
+ },
35
+ "patterns": [
36
+ {
37
+ "include": "#master-source-prelude"
38
+ }
39
+ ]
40
+ },
41
+ {
42
+ "begin": "(?i)(@)(reference|blocklist)\\b",
43
+ "beginCaptures": {
44
+ "0": {
45
+ "name": "keyword.control.at-rule.master-css"
46
+ }
47
+ },
48
+ "end": "(;)|$",
49
+ "endCaptures": {
50
+ "1": {
51
+ "name": "punctuation.section.master-css"
52
+ }
53
+ },
54
+ "patterns": [
55
+ {
56
+ "include": "#master-plain-string"
57
+ },
58
+ {
59
+ "match": "[;{}]",
60
+ "name": "punctuation.section.master-css"
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "begin": "(?i)(@)(preserve|prune)\\b",
66
+ "beginCaptures": {
67
+ "0": {
68
+ "name": "keyword.control.at-rule.master-css"
69
+ }
70
+ },
71
+ "end": "(;)|$",
72
+ "endCaptures": {
73
+ "1": {
74
+ "name": "punctuation.section.master-css"
75
+ }
76
+ },
77
+ "patterns": [
78
+ {
79
+ "include": "#master-preserve-prelude"
80
+ }
81
+ ]
82
+ },
83
+ {
84
+ "begin": "(?i)(@)(theme)\\b",
85
+ "beginCaptures": {
86
+ "0": {
87
+ "name": "keyword.control.at-rule.master-css"
88
+ }
89
+ },
90
+ "end": "(;)|(?<=\\})|$",
91
+ "endCaptures": {
92
+ "1": {
93
+ "name": "punctuation.section.master-css"
94
+ }
95
+ },
96
+ "patterns": [
97
+ {
98
+ "match": "\\b(?:static|inline)\\b(?!-)",
99
+ "name": "storage.modifier.master-css"
100
+ },
101
+ {
102
+ "include": "#master-block"
103
+ }
104
+ ]
105
+ },
106
+ {
107
+ "begin": "(?i)(@)(safelist)\\b",
108
+ "beginCaptures": {
109
+ "0": {
110
+ "name": "keyword.control.at-rule.master-css"
111
+ }
112
+ },
113
+ "end": "(;)|$",
114
+ "endCaptures": {
115
+ "1": {
116
+ "name": "punctuation.section.master-css"
117
+ }
118
+ },
119
+ "patterns": [
120
+ {
121
+ "begin": "\\G\\s*(keyframes)\\b(?!-)",
122
+ "beginCaptures": {
123
+ "1": {
124
+ "name": "storage.modifier.master-css"
125
+ }
126
+ },
127
+ "end": "(?=;)|$",
128
+ "patterns": [
129
+ {
130
+ "include": "#master-plain-string"
131
+ }
132
+ ]
133
+ },
134
+ {
135
+ "include": "#master-string"
136
+ },
137
+ {
138
+ "match": "[;{}]",
139
+ "name": "punctuation.section.master-css"
140
+ }
141
+ ]
142
+ },
143
+ {
144
+ "begin": "(?i)(@)(utility|mixin|apply)\\b",
145
+ "beginCaptures": {
146
+ "0": {
147
+ "name": "keyword.control.at-rule.master-css"
148
+ }
149
+ },
150
+ "end": "(;)|(?<=\\})|$",
151
+ "endCaptures": {
152
+ "1": {
153
+ "name": "punctuation.section.master-css"
154
+ }
155
+ },
156
+ "patterns": [
157
+ {
158
+ "include": "#master-block"
159
+ },
160
+ {
161
+ "include": "#master-mixin-prelude"
162
+ }
163
+ ]
164
+ },
165
+ {
166
+ "begin": "(?i)(@)(contents)\\b",
167
+ "beginCaptures": {
168
+ "0": {
169
+ "name": "keyword.control.at-rule.master-css"
170
+ }
171
+ },
172
+ "end": "(;)|(?<=\\})|$",
173
+ "endCaptures": {
174
+ "1": {
175
+ "name": "punctuation.section.master-css"
176
+ }
177
+ },
178
+ "patterns": [
179
+ {
180
+ "include": "#master-block"
181
+ },
182
+ {
183
+ "match": "[;{}]",
184
+ "name": "punctuation.section.master-css"
185
+ }
186
+ ]
187
+ }
188
+ ]
189
+ },
190
+ "master-prelude": {
191
+ "patterns": [
192
+ {
193
+ "include": "#master-string"
194
+ },
195
+ {
196
+ "include": "#master-query"
197
+ },
198
+ {
199
+ "include": "#master-selector"
200
+ },
201
+ {
202
+ "include": "#master-class-fragment"
203
+ },
204
+ {
205
+ "match": "[;{}]",
206
+ "name": "punctuation.section.master-css"
207
+ }
208
+ ]
209
+ },
210
+ "master-native-declaration": {
211
+ "patterns": [
212
+ {
213
+ "begin": "(^|(?<=[{;]))(\\s*)([_a-zA-Z-][_a-zA-Z0-9-]*)(\\s*)(:)",
214
+ "beginCaptures": {
215
+ "3": {
216
+ "name": "support.type.property-name.master-css"
217
+ },
218
+ "5": {
219
+ "name": "punctuation.separator.key-value.css"
220
+ }
221
+ },
222
+ "contentName": "meta.property-value.css",
223
+ "end": "\\s*(;)|\\s*(?=\\})",
224
+ "endCaptures": {
225
+ "1": {
226
+ "name": "punctuation.terminator.rule.css"
227
+ }
228
+ },
229
+ "patterns": [
230
+ {
231
+ "include": "#master-value"
232
+ },
233
+ {
234
+ "include": "source.css#property-values"
235
+ }
236
+ ]
237
+ }
238
+ ]
239
+ },
240
+ "master-source-prelude": {
241
+ "patterns": [
242
+ {
243
+ "include": "#master-plain-string"
244
+ },
245
+ {
246
+ "match": "\\bnot\\b(?!-)",
247
+ "name": "storage.modifier.master-css"
248
+ },
249
+ {
250
+ "match": "[;{}]",
251
+ "name": "punctuation.section.master-css"
252
+ }
253
+ ]
254
+ },
255
+ "master-keyframes": {
256
+ "patterns": [
257
+ {
258
+ "begin": "(?i)(?=@(?:-(?:webkit|moz|o|ms)-)?keyframes([\"';{\\s]|/\\*|$))",
259
+ "end": "(?<=})(?!\\G)",
260
+ "patterns": [
261
+ {
262
+ "begin": "(?i)\\G(@)(?:-(?:webkit|moz|o|ms)-)?keyframes",
263
+ "beginCaptures": {
264
+ "0": {
265
+ "name": "keyword.control.at-rule.keyframes.css"
266
+ },
267
+ "1": {
268
+ "name": "punctuation.definition.keyword.css"
269
+ }
270
+ },
271
+ "end": "(?=\\s*\\{)",
272
+ "name": "meta.at-rule.keyframes.header.css",
273
+ "patterns": [
274
+ {
275
+ "include": "source.css#comment-block"
276
+ },
277
+ {
278
+ "include": "source.css#escapes"
279
+ },
280
+ {
281
+ "captures": {
282
+ "0": {
283
+ "patterns": [
284
+ {
285
+ "include": "source.css#escapes"
286
+ }
287
+ ]
288
+ }
289
+ },
290
+ "match": "[-A-Z_a-z[^\\x00-\\x7F]](?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))*",
291
+ "name": "variable.parameter.keyframe-list.css"
292
+ }
293
+ ]
294
+ },
295
+ {
296
+ "begin": "\\{",
297
+ "beginCaptures": {
298
+ "0": {
299
+ "name": "punctuation.section.keyframes.begin.bracket.curly.css"
300
+ }
301
+ },
302
+ "end": "\\}",
303
+ "endCaptures": {
304
+ "0": {
305
+ "name": "punctuation.section.keyframes.end.bracket.curly.css"
306
+ }
307
+ },
308
+ "name": "meta.at-rule.keyframes.body.css",
309
+ "patterns": [
310
+ {
311
+ "include": "source.css#comment-block"
312
+ },
313
+ {
314
+ "include": "source.css#escapes"
315
+ },
316
+ {
317
+ "captures": {
318
+ "1": {
319
+ "name": "entity.other.keyframe-offset.css"
320
+ },
321
+ "2": {
322
+ "name": "entity.other.keyframe-offset.percentage.css"
323
+ }
324
+ },
325
+ "match": "(?i)(?<![-\\w])(from|to)(?![-\\w])|([-+]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)%)"
326
+ },
327
+ {
328
+ "include": "source.css#rule-list"
329
+ }
330
+ ]
331
+ }
332
+ ]
333
+ }
334
+ ]
335
+ },
336
+ "master-preserve-prelude": {
337
+ "patterns": [
338
+ {
339
+ "match": "\\bnative\\b",
340
+ "name": "support.constant.property-value.master-css"
341
+ },
342
+ {
343
+ "match": "[;{}]",
344
+ "name": "punctuation.section.master-css"
345
+ }
346
+ ]
347
+ },
348
+ "master-block": {
349
+ "patterns": [
350
+ {
351
+ "begin": "\\{",
352
+ "beginCaptures": {
353
+ "0": {
354
+ "name": "punctuation.section.master-css"
355
+ }
356
+ },
357
+ "end": "\\}",
358
+ "endCaptures": {
359
+ "0": {
360
+ "name": "punctuation.section.master-css"
361
+ }
362
+ },
363
+ "patterns": [
364
+ {
365
+ "include": "#comment"
366
+ },
367
+ {
368
+ "include": "#master-attribute-selector"
369
+ },
370
+ {
371
+ "include": "#master-string"
372
+ },
373
+ {
374
+ "include": "#master-directive"
375
+ },
376
+ {
377
+ "include": "#master-native-declaration"
378
+ },
379
+ {
380
+ "include": "#master-conditional-group"
381
+ },
382
+ {
383
+ "include": "source.css#at-rules"
384
+ },
385
+ {
386
+ "include": "#master-query"
387
+ },
388
+ {
389
+ "include": "#master-selector"
390
+ },
391
+ {
392
+ "include": "#master-value"
393
+ },
394
+ {
395
+ "include": "#master-block"
396
+ }
397
+ ]
398
+ }
399
+ ]
400
+ },
401
+ "master-class-fragment": {
402
+ "patterns": [
403
+ {
404
+ "match": "(?<![:@._a-zA-Z0-9-])([_a-zA-Z-][_a-zA-Z0-9-]*)(/)(0(?:\\.[0-9]+)?|\\.[0-9]+|1(?:\\.0+)?)(?=[:@!_\\s;\\'\"}]|$)",
405
+ "captures": {
406
+ "1": {
407
+ "name": "entity.other.attribute-name.class.master-css"
408
+ },
409
+ "2": {
410
+ "name": "keyword.operator.master-css"
411
+ },
412
+ "3": {
413
+ "name": "constant.numeric.master-css"
414
+ }
415
+ }
416
+ },
417
+ {
418
+ "match": "(?<![:@._a-zA-Z0-9-])([_a-zA-Z-][_a-zA-Z0-9-]*)(:{1,2})(hover|focus-visible|focus-within|focus|active|visited|disabled|checked|first-child|last-child|before|after)(?=[:@!_\\s;\\'\"}]|$)",
419
+ "captures": {
420
+ "1": {
421
+ "name": "entity.other.attribute-name.class.master-css"
422
+ },
423
+ "2": {
424
+ "name": "punctuation.definition.entity.master-css"
425
+ },
426
+ "3": {
427
+ "name": "entity.other.attribute-name.pseudo-class.master-css"
428
+ }
429
+ }
430
+ },
431
+ {
432
+ "match": "(?<![_a-zA-Z0-9-])(\\()(-{0,2}[_a-zA-Z][_a-zA-Z0-9-]*)(:)",
433
+ "captures": {
434
+ "1": {
435
+ "name": "punctuation.section.declaration.begin.master-css"
436
+ },
437
+ "2": {
438
+ "name": "support.type.property-name.master-css"
439
+ },
440
+ "3": {
441
+ "name": "keyword.operator.master-css"
442
+ }
443
+ }
444
+ },
445
+ {
446
+ "match": "\\)(?=[:@!_\\[\\s'\"]|$)",
447
+ "name": "punctuation.section.declaration.end.master-css"
448
+ },
449
+ {
450
+ "begin": "\\b(var)(\\()",
451
+ "beginCaptures": {
452
+ "1": {
453
+ "name": "support.function.misc.master-css"
454
+ }
455
+ },
456
+ "end": "\\)",
457
+ "patterns": [
458
+ {
459
+ "match": "--[_a-zA-Z0-9-]+",
460
+ "name": "variable.argument.css"
461
+ },
462
+ {
463
+ "include": "#master-value"
464
+ }
465
+ ]
466
+ },
467
+ {
468
+ "match": "(?<![:@._a-zA-Z0-9-])([_a-zA-Z-][_a-zA-Z0-9-]*)(?=:{1,2}[_a-zA-Z-][_a-zA-Z0-9-]*\\s*\\{)",
469
+ "name": "entity.other.attribute-name.class.master-css"
470
+ },
471
+ {
472
+ "match": "\\$[_a-zA-Z-][_a-zA-Z0-9-]*",
473
+ "name": "invalid.deprecated.master-css"
474
+ },
475
+ {
476
+ "match": "(?<=:)(?![_a-zA-Z-][_a-zA-Z0-9-]*\\s*\\{)([_a-zA-Z-][_a-zA-Z0-9-]*)(?=[:@!_\\s;'\")]|$)",
477
+ "name": "support.constant.property-value.master-css"
478
+ },
479
+ {
480
+ "match": "!(?=[:@_>+~\\s;'\")]|$)",
481
+ "name": "keyword.operator.important.css"
482
+ },
483
+ {
484
+ "match": "(?<=:)([_a-zA-Z-][_a-zA-Z0-9-]*)(?=@|\\s|[;'\"])",
485
+ "name": "entity.other.attribute-name.pseudo-class.master-css"
486
+ },
487
+ {
488
+ "match": "(?<![:@._a-zA-Z0-9-])[_a-zA-Z-][_a-zA-Z0-9-]*(?=:(?![_a-zA-Z-][_a-zA-Z0-9-]*\\s*\\{))",
489
+ "name": "entity.other.attribute-name.class.master-css"
490
+ },
491
+ {
492
+ "match": "(:{1,2})([_a-zA-Z-][_a-zA-Z0-9-]*)",
493
+ "captures": {
494
+ "1": {
495
+ "name": "punctuation.definition.entity.master-css"
496
+ },
497
+ "2": {
498
+ "name": "entity.other.attribute-name.pseudo-class.master-css"
499
+ }
500
+ }
501
+ },
502
+ {
503
+ "match": "(@[_a-zA-Z-][_a-zA-Z0-9-]*)",
504
+ "name": "keyword.control.at-rule.master-css.query"
505
+ },
506
+ {
507
+ "match": "(?<![:@._a-zA-Z0-9-])[_a-zA-Z-][_a-zA-Z0-9-]*(?!\\s*:)",
508
+ "name": "entity.other.attribute-name.class.master-css"
509
+ }
510
+ ]
511
+ },
512
+ "master-selector": {
513
+ "patterns": [
514
+ {
515
+ "include": "#master-attribute-selector"
516
+ },
517
+ {
518
+ "match": "\\*",
519
+ "name": "entity.name.tag.wildcard.css"
520
+ },
521
+ {
522
+ "match": "(&|[>+~(),\\[\\]])",
523
+ "name": "keyword.operator.selector.master-css"
524
+ },
525
+ {
526
+ "match": "(?<![.#:_a-zA-Z0-9-])([a-zA-Z][_a-zA-Z0-9-]*)(?=\\s*(?:[,)>+~{]|$))",
527
+ "name": "entity.name.tag.master-css"
528
+ },
529
+ {
530
+ "match": "(\\.)([_a-zA-Z-][_a-zA-Z0-9-]*)",
531
+ "captures": {
532
+ "1": {
533
+ "name": "punctuation.definition.entity.master-css"
534
+ },
535
+ "2": {
536
+ "name": "entity.other.attribute-name.class.master-css"
537
+ }
538
+ }
539
+ },
540
+ {
541
+ "match": "(#)([_a-zA-Z-][_a-zA-Z0-9-]*)",
542
+ "captures": {
543
+ "1": {
544
+ "name": "punctuation.definition.entity.master-css"
545
+ },
546
+ "2": {
547
+ "name": "variable.other.master-css"
548
+ }
549
+ }
550
+ },
551
+ {
552
+ "match": "(:{1,2})([_a-zA-Z-][_a-zA-Z0-9-]*)",
553
+ "captures": {
554
+ "1": {
555
+ "name": "punctuation.definition.entity.master-css"
556
+ },
557
+ "2": {
558
+ "name": "entity.other.attribute-name.pseudo-class.master-css"
559
+ }
560
+ }
561
+ }
562
+ ]
563
+ },
564
+ "master-query": {
565
+ "patterns": [
566
+ {
567
+ "match": "(@[a-zA-Z]?)(>=|<=|>|<|=)([_a-zA-Z-][_a-zA-Z0-9-]*)",
568
+ "captures": {
569
+ "1": {
570
+ "name": "keyword.control.at-rule.master-css.query"
571
+ },
572
+ "2": {
573
+ "name": "keyword.operator.master-css.query"
574
+ },
575
+ "3": {
576
+ "name": "support.constant.property-value.master-css.query"
577
+ }
578
+ }
579
+ },
580
+ {
581
+ "match": "@[_a-zA-Z-][_a-zA-Z0-9-]*\\b",
582
+ "name": "keyword.control.at-rule.master-css.query"
583
+ },
584
+ {
585
+ "match": "\\b([a-zA-Z])?(>=|<=|>|<|=)([_a-zA-Z-][_a-zA-Z0-9-]*)",
586
+ "captures": {
587
+ "1": {
588
+ "name": "keyword.control.at-rule.master-css.query"
589
+ },
590
+ "2": {
591
+ "name": "keyword.operator.master-css.query"
592
+ },
593
+ "3": {
594
+ "name": "support.constant.property-value.master-css.query"
595
+ }
596
+ }
597
+ },
598
+ {
599
+ "match": "(>=|<=|>|<|=)",
600
+ "name": "keyword.operator.master-css.query"
601
+ }
602
+ ]
603
+ },
604
+ "master-plain-string": {
605
+ "patterns": [
606
+ {
607
+ "begin": "\"",
608
+ "beginCaptures": {
609
+ "0": {
610
+ "name": "punctuation.definition.string.begin.master-css"
611
+ }
612
+ },
613
+ "end": "\"",
614
+ "endCaptures": {
615
+ "0": {
616
+ "name": "punctuation.definition.string.end.master-css"
617
+ }
618
+ },
619
+ "name": "string.quoted.double.master-css",
620
+ "patterns": [
621
+ {
622
+ "match": "\\\\.",
623
+ "name": "constant.character.escape.master-css"
624
+ }
625
+ ]
626
+ },
627
+ {
628
+ "begin": "'",
629
+ "beginCaptures": {
630
+ "0": {
631
+ "name": "punctuation.definition.string.begin.master-css"
632
+ }
633
+ },
634
+ "end": "'",
635
+ "endCaptures": {
636
+ "0": {
637
+ "name": "punctuation.definition.string.end.master-css"
638
+ }
639
+ },
640
+ "name": "string.quoted.single.master-css",
641
+ "patterns": [
642
+ {
643
+ "match": "\\\\.",
644
+ "name": "constant.character.escape.master-css"
645
+ }
646
+ ]
647
+ }
648
+ ]
649
+ },
650
+ "master-string": {
651
+ "patterns": [
652
+ {
653
+ "begin": "\"",
654
+ "beginCaptures": {
655
+ "0": {
656
+ "name": "punctuation.definition.string.begin.master-css"
657
+ }
658
+ },
659
+ "end": "\"",
660
+ "endCaptures": {
661
+ "0": {
662
+ "name": "punctuation.definition.string.end.master-css"
663
+ }
664
+ },
665
+ "name": "string.quoted.double.master-css",
666
+ "patterns": [
667
+ {
668
+ "match": "\\\\.",
669
+ "name": "constant.character.escape.master-css"
670
+ },
671
+ {
672
+ "include": "#master-class-fragment"
673
+ }
674
+ ]
675
+ },
676
+ {
677
+ "begin": "'",
678
+ "beginCaptures": {
679
+ "0": {
680
+ "name": "punctuation.definition.string.begin.master-css"
681
+ }
682
+ },
683
+ "end": "'",
684
+ "endCaptures": {
685
+ "0": {
686
+ "name": "punctuation.definition.string.end.master-css"
687
+ }
688
+ },
689
+ "name": "string.quoted.single.master-css",
690
+ "patterns": [
691
+ {
692
+ "match": "\\\\.",
693
+ "name": "constant.character.escape.master-css"
694
+ },
695
+ {
696
+ "include": "#master-class-fragment"
697
+ }
698
+ ]
699
+ }
700
+ ]
701
+ },
702
+ "master-value": {
703
+ "patterns": [
704
+ {
705
+ "match": "ident(?=\\()",
706
+ "name": "support.function.misc.master-css"
707
+ },
708
+ {
709
+ "match": "--[_a-zA-Z-][_a-zA-Z0-9-]*",
710
+ "name": "variable.css.custom-property.master-css"
711
+ }
712
+ ]
713
+ },
714
+ "master-mixin-prelude": {
715
+ "patterns": [
716
+ {
717
+ "include": "#comment"
718
+ },
719
+ {
720
+ "include": "#master-plain-string"
721
+ },
722
+ {
723
+ "match": "<(?:integer|number|string|custom-ident)>",
724
+ "name": "support.function.misc.master-css"
725
+ },
726
+ {
727
+ "match": "--[_a-zA-Z-][_a-zA-Z0-9-]*",
728
+ "name": "variable.css.custom-property.master-css"
729
+ },
730
+ {
731
+ "match": "-?(?:[0-9]*\\.)?[0-9]+(?:%|[a-zA-Z]+)?",
732
+ "name": "constant.numeric.master-css"
733
+ },
734
+ {
735
+ "match": "[_a-zA-Z-][_a-zA-Z0-9-]*",
736
+ "name": "entity.other.attribute-name.class.master-css"
737
+ },
738
+ {
739
+ "match": "[:,()]",
740
+ "name": "keyword.operator.master-css"
741
+ }
742
+ ]
743
+ },
744
+ "master-conditional-group": {
745
+ "patterns": [
746
+ {
747
+ "begin": "(?i)(?=@(?:media|container|supports|layer|scope|starting-style)(?![\\w-]))",
748
+ "end": "(?<=\\})|(;)",
749
+ "endCaptures": {
750
+ "1": {
751
+ "name": "punctuation.terminator.rule.css"
752
+ }
753
+ },
754
+ "patterns": [
755
+ {
756
+ "begin": "(?i)\\G(@)media(?![\\w-])",
757
+ "beginCaptures": {
758
+ "0": {
759
+ "name": "keyword.control.at-rule.media.css"
760
+ },
761
+ "1": {
762
+ "name": "punctuation.definition.keyword.css"
763
+ }
764
+ },
765
+ "end": "(?=\\s*[{;])",
766
+ "name": "meta.at-rule.media.header.css",
767
+ "patterns": [
768
+ {
769
+ "include": "source.css#media-query-list"
770
+ }
771
+ ]
772
+ },
773
+ {
774
+ "begin": "(?i)\\G(@)container(?![\\w-])",
775
+ "beginCaptures": {
776
+ "0": {
777
+ "name": "keyword.control.at-rule.css"
778
+ },
779
+ "1": {
780
+ "name": "punctuation.definition.keyword.css"
781
+ }
782
+ },
783
+ "end": "(?=\\s*[{;])",
784
+ "name": "meta.at-rule.container.header.css",
785
+ "patterns": [
786
+ {
787
+ "include": "source.css#media-query-list"
788
+ }
789
+ ]
790
+ },
791
+ {
792
+ "begin": "(?i)\\G(@)supports(?![\\w-])",
793
+ "beginCaptures": {
794
+ "0": {
795
+ "name": "keyword.control.at-rule.supports.css"
796
+ },
797
+ "1": {
798
+ "name": "punctuation.definition.keyword.css"
799
+ }
800
+ },
801
+ "end": "(?=\\s*[{;])",
802
+ "name": "meta.at-rule.supports.header.css",
803
+ "patterns": [
804
+ {
805
+ "include": "source.css#feature-query-operators"
806
+ },
807
+ {
808
+ "include": "source.css#feature-query"
809
+ }
810
+ ]
811
+ },
812
+ {
813
+ "begin": "(?i)\\G(@)(?:layer|scope|starting-style)(?![\\w-])",
814
+ "beginCaptures": {
815
+ "0": {
816
+ "name": "keyword.control.at-rule.css"
817
+ },
818
+ "1": {
819
+ "name": "punctuation.definition.keyword.css"
820
+ }
821
+ },
822
+ "end": "(?=\\s*[{;])",
823
+ "name": "meta.at-rule.header.css",
824
+ "patterns": [
825
+ {
826
+ "include": "#comment"
827
+ },
828
+ {
829
+ "include": "#master-selector"
830
+ }
831
+ ]
832
+ },
833
+ {
834
+ "include": "#master-block"
835
+ }
836
+ ]
837
+ }
838
+ ]
839
+ },
840
+ "master-attribute-selector": {
841
+ "patterns": [
842
+ {
843
+ "begin": "\\[",
844
+ "beginCaptures": {
845
+ "0": {
846
+ "name": "punctuation.definition.entity.begin.bracket.square.css"
847
+ }
848
+ },
849
+ "end": "\\]",
850
+ "endCaptures": {
851
+ "0": {
852
+ "name": "punctuation.definition.entity.end.bracket.square.css"
853
+ }
854
+ },
855
+ "name": "meta.attribute-selector.master-css",
856
+ "patterns": [
857
+ {
858
+ "include": "#master-plain-string"
859
+ },
860
+ {
861
+ "match": "[~|^$*]?=",
862
+ "name": "keyword.operator.pattern.css"
863
+ },
864
+ {
865
+ "match": "(?<==)\\s*[_a-zA-Z-][_a-zA-Z0-9-]*",
866
+ "name": "string.unquoted.attribute-value.css"
867
+ },
868
+ {
869
+ "match": "\\b[is]\\s*(?=\\])",
870
+ "name": "storage.modifier.ignore-case.css"
871
+ },
872
+ {
873
+ "match": "[_a-zA-Z-][_a-zA-Z0-9-]*",
874
+ "name": "entity.other.attribute-name.css"
875
+ }
876
+ ]
877
+ }
878
+ ]
879
+ }
880
+ }
881
+ }