@codingame/monaco-vscode-perl-default-extension 1.85.1 → 1.85.3

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.
@@ -1,2977 +0,0 @@
1
- {
2
- "information_for_contributors": [
3
- "This file has been converted from https://github.com/textmate/perl.tmbundle/blob/master/Syntaxes/Perl.plist",
4
- "If you want to provide a fix or improvement, please create a pull request against the original repository.",
5
- "Once accepted there, we are happy to receive an update request."
6
- ],
7
- "version": "https://github.com/textmate/perl.tmbundle/commit/a85927a902d6e5d7805f56a653f324d34dfad53a",
8
- "name": "Perl",
9
- "scopeName": "source.perl",
10
- "comment": "\n\tTODO:\tInclude RegExp syntax\n",
11
- "patterns": [
12
- {
13
- "include": "#line_comment"
14
- },
15
- {
16
- "begin": "^(?==[a-zA-Z]+)",
17
- "end": "^(=cut\\b.*$)",
18
- "endCaptures": {
19
- "1": {
20
- "patterns": [
21
- {
22
- "include": "#pod"
23
- }
24
- ]
25
- }
26
- },
27
- "name": "comment.block.documentation.perl",
28
- "patterns": [
29
- {
30
- "include": "#pod"
31
- }
32
- ]
33
- },
34
- {
35
- "include": "#variable"
36
- },
37
- {
38
- "applyEndPatternLast": 1,
39
- "begin": "\\b(?=qr\\s*[^\\s\\w])",
40
- "comment": "string.regexp.compile.perl",
41
- "end": "((([egimosxradlupcn]*)))(?=(\\s+\\S|\\s*[;\\,\\#\\{\\}\\)]|\\s*$))",
42
- "endCaptures": {
43
- "1": {
44
- "name": "string.regexp.compile.perl"
45
- },
46
- "2": {
47
- "name": "punctuation.definition.string.perl"
48
- },
49
- "3": {
50
- "name": "keyword.control.regexp-option.perl"
51
- }
52
- },
53
- "patterns": [
54
- {
55
- "begin": "(qr)\\s*\\{",
56
- "captures": {
57
- "0": {
58
- "name": "punctuation.definition.string.perl"
59
- },
60
- "1": {
61
- "name": "support.function.perl"
62
- }
63
- },
64
- "end": "\\}",
65
- "name": "string.regexp.compile.nested_braces.perl",
66
- "patterns": [
67
- {
68
- "include": "#escaped_char"
69
- },
70
- {
71
- "include": "#variable"
72
- },
73
- {
74
- "include": "#nested_braces_interpolated"
75
- }
76
- ]
77
- },
78
- {
79
- "begin": "(qr)\\s*\\[",
80
- "captures": {
81
- "0": {
82
- "name": "punctuation.definition.string.perl"
83
- },
84
- "1": {
85
- "name": "support.function.perl"
86
- }
87
- },
88
- "end": "\\]",
89
- "name": "string.regexp.compile.nested_brackets.perl",
90
- "patterns": [
91
- {
92
- "include": "#escaped_char"
93
- },
94
- {
95
- "include": "#variable"
96
- },
97
- {
98
- "include": "#nested_brackets_interpolated"
99
- }
100
- ]
101
- },
102
- {
103
- "begin": "(qr)\\s*<",
104
- "captures": {
105
- "0": {
106
- "name": "punctuation.definition.string.perl"
107
- },
108
- "1": {
109
- "name": "support.function.perl"
110
- }
111
- },
112
- "end": ">",
113
- "name": "string.regexp.compile.nested_ltgt.perl",
114
- "patterns": [
115
- {
116
- "include": "#escaped_char"
117
- },
118
- {
119
- "include": "#variable"
120
- },
121
- {
122
- "include": "#nested_ltgt_interpolated"
123
- }
124
- ]
125
- },
126
- {
127
- "begin": "(qr)\\s*\\(",
128
- "captures": {
129
- "0": {
130
- "name": "punctuation.definition.string.perl"
131
- },
132
- "1": {
133
- "name": "support.function.perl"
134
- }
135
- },
136
- "end": "\\)",
137
- "name": "string.regexp.compile.nested_parens.perl",
138
- "patterns": [
139
- {
140
- "comment": "This is to prevent thinks like qr/foo$/ to treat $/ as a variable",
141
- "match": "\\$(?=[^\\s\\w\\\\'\\{\\[\\(\\<])"
142
- },
143
- {
144
- "include": "#escaped_char"
145
- },
146
- {
147
- "include": "#variable"
148
- },
149
- {
150
- "include": "#nested_parens_interpolated"
151
- }
152
- ]
153
- },
154
- {
155
- "begin": "(qr)\\s*'",
156
- "captures": {
157
- "0": {
158
- "name": "punctuation.definition.string.perl"
159
- },
160
- "1": {
161
- "name": "support.function.perl"
162
- }
163
- },
164
- "end": "'",
165
- "name": "string.regexp.compile.single-quote.perl",
166
- "patterns": [
167
- {
168
- "include": "#escaped_char"
169
- }
170
- ]
171
- },
172
- {
173
- "begin": "(qr)\\s*([^\\s\\w'\\{\\[\\(\\<])",
174
- "captures": {
175
- "0": {
176
- "name": "punctuation.definition.string.perl"
177
- },
178
- "1": {
179
- "name": "support.function.perl"
180
- }
181
- },
182
- "end": "\\2",
183
- "name": "string.regexp.compile.simple-delimiter.perl",
184
- "patterns": [
185
- {
186
- "comment": "This is to prevent thinks like qr/foo$/ to treat $/ as a variable",
187
- "match": "\\$(?=[^\\s\\w'\\{\\[\\(\\<])",
188
- "name": "keyword.control.anchor.perl"
189
- },
190
- {
191
- "include": "#escaped_char"
192
- },
193
- {
194
- "include": "#variable"
195
- },
196
- {
197
- "include": "#nested_parens_interpolated"
198
- }
199
- ]
200
- }
201
- ]
202
- },
203
- {
204
- "applyEndPatternLast": 1,
205
- "begin": "(?<!\\{|\\+|\\-)\\b(?=m\\s*[^\\sa-zA-Z0-9])",
206
- "comment": "string.regexp.find-m.perl",
207
- "end": "((([egimosxradlupcn]*)))(?=(\\s+\\S|\\s*[;\\,\\#\\{\\}\\)]|\\s*$))",
208
- "endCaptures": {
209
- "1": {
210
- "name": "string.regexp.find-m.perl"
211
- },
212
- "2": {
213
- "name": "punctuation.definition.string.perl"
214
- },
215
- "3": {
216
- "name": "keyword.control.regexp-option.perl"
217
- }
218
- },
219
- "patterns": [
220
- {
221
- "begin": "(m)\\s*\\{",
222
- "captures": {
223
- "0": {
224
- "name": "punctuation.definition.string.perl"
225
- },
226
- "1": {
227
- "name": "support.function.perl"
228
- }
229
- },
230
- "end": "\\}",
231
- "name": "string.regexp.find-m.nested_braces.perl",
232
- "patterns": [
233
- {
234
- "include": "#escaped_char"
235
- },
236
- {
237
- "include": "#variable"
238
- },
239
- {
240
- "include": "#nested_braces_interpolated"
241
- }
242
- ]
243
- },
244
- {
245
- "begin": "(m)\\s*\\[",
246
- "captures": {
247
- "0": {
248
- "name": "punctuation.definition.string.perl"
249
- },
250
- "1": {
251
- "name": "support.function.perl"
252
- }
253
- },
254
- "end": "\\]",
255
- "name": "string.regexp.find-m.nested_brackets.perl",
256
- "patterns": [
257
- {
258
- "include": "#escaped_char"
259
- },
260
- {
261
- "include": "#variable"
262
- },
263
- {
264
- "include": "#nested_brackets_interpolated"
265
- }
266
- ]
267
- },
268
- {
269
- "begin": "(m)\\s*<",
270
- "captures": {
271
- "0": {
272
- "name": "punctuation.definition.string.perl"
273
- },
274
- "1": {
275
- "name": "support.function.perl"
276
- }
277
- },
278
- "end": ">",
279
- "name": "string.regexp.find-m.nested_ltgt.perl",
280
- "patterns": [
281
- {
282
- "include": "#escaped_char"
283
- },
284
- {
285
- "include": "#variable"
286
- },
287
- {
288
- "include": "#nested_ltgt_interpolated"
289
- }
290
- ]
291
- },
292
- {
293
- "begin": "(m)\\s*\\(",
294
- "captures": {
295
- "0": {
296
- "name": "punctuation.definition.string.perl"
297
- },
298
- "1": {
299
- "name": "support.function.perl"
300
- }
301
- },
302
- "end": "\\)",
303
- "name": "string.regexp.find-m.nested_parens.perl",
304
- "patterns": [
305
- {
306
- "include": "#escaped_char"
307
- },
308
- {
309
- "include": "#variable"
310
- },
311
- {
312
- "include": "#nested_parens_interpolated"
313
- }
314
- ]
315
- },
316
- {
317
- "begin": "(m)\\s*'",
318
- "captures": {
319
- "0": {
320
- "name": "punctuation.definition.string.perl"
321
- },
322
- "1": {
323
- "name": "support.function.perl"
324
- }
325
- },
326
- "end": "'",
327
- "name": "string.regexp.find-m.single-quote.perl",
328
- "patterns": [
329
- {
330
- "include": "#escaped_char"
331
- }
332
- ]
333
- },
334
- {
335
- "begin": "\\G(?<!\\{|\\+|\\-)(m)(?!_)\\s*([^\\sa-zA-Z0-9'\\{\\[\\(\\<])",
336
- "captures": {
337
- "0": {
338
- "name": "punctuation.definition.string.perl"
339
- },
340
- "1": {
341
- "name": "support.function.perl"
342
- }
343
- },
344
- "end": "\\2",
345
- "name": "string.regexp.find-m.simple-delimiter.perl",
346
- "patterns": [
347
- {
348
- "comment": "This is to prevent thinks like qr/foo$/ to treat $/ as a variable",
349
- "match": "\\$(?=[^\\sa-zA-Z0-9'\\{\\[\\(\\<])",
350
- "name": "keyword.control.anchor.perl"
351
- },
352
- {
353
- "include": "#escaped_char"
354
- },
355
- {
356
- "include": "#variable"
357
- },
358
- {
359
- "begin": "\\[",
360
- "beginCaptures": {
361
- "1": {
362
- "name": "punctuation.definition.character-class.begin.perl"
363
- }
364
- },
365
- "end": "\\]",
366
- "endCaptures": {
367
- "1": {
368
- "name": "punctuation.definition.character-class.end.perl"
369
- }
370
- },
371
- "name": "constant.other.character-class.set.perl",
372
- "patterns": [
373
- {
374
- "comment": "This is to prevent thinks like qr/foo$/ to treat $/ as a variable",
375
- "match": "\\$(?=[^\\s\\w'\\{\\[\\(\\<])",
376
- "name": "keyword.control.anchor.perl"
377
- },
378
- {
379
- "include": "#escaped_char"
380
- }
381
- ]
382
- },
383
- {
384
- "include": "#nested_parens_interpolated"
385
- }
386
- ]
387
- }
388
- ]
389
- },
390
- {
391
- "applyEndPatternLast": 1,
392
- "begin": "\\b(?=(?<!\\&)(s)(\\s+\\S|\\s*[;\\,\\{\\}\\(\\)\\[<]|$))",
393
- "comment": "string.regexp.replace.perl",
394
- "end": "((([egimosxradlupcn]*)))(?=(\\s+\\S|\\s*[;\\,\\{\\}\\)\\]>]|\\s*$))",
395
- "endCaptures": {
396
- "1": {
397
- "name": "string.regexp.replace.perl"
398
- },
399
- "2": {
400
- "name": "punctuation.definition.string.perl"
401
- },
402
- "3": {
403
- "name": "keyword.control.regexp-option.perl"
404
- }
405
- },
406
- "patterns": [
407
- {
408
- "begin": "(s)\\s*\\{",
409
- "captures": {
410
- "0": {
411
- "name": "punctuation.definition.string.perl"
412
- },
413
- "1": {
414
- "name": "support.function.perl"
415
- }
416
- },
417
- "end": "\\}",
418
- "name": "string.regexp.nested_braces.perl",
419
- "patterns": [
420
- {
421
- "include": "#escaped_char"
422
- },
423
- {
424
- "include": "#nested_braces"
425
- }
426
- ]
427
- },
428
- {
429
- "begin": "(s)\\s*\\[",
430
- "captures": {
431
- "0": {
432
- "name": "punctuation.definition.string.perl"
433
- },
434
- "1": {
435
- "name": "support.function.perl"
436
- }
437
- },
438
- "end": "\\]",
439
- "name": "string.regexp.nested_brackets.perl",
440
- "patterns": [
441
- {
442
- "include": "#escaped_char"
443
- },
444
- {
445
- "include": "#nested_brackets"
446
- }
447
- ]
448
- },
449
- {
450
- "begin": "(s)\\s*<",
451
- "captures": {
452
- "0": {
453
- "name": "punctuation.definition.string.perl"
454
- },
455
- "1": {
456
- "name": "support.function.perl"
457
- }
458
- },
459
- "end": ">",
460
- "name": "string.regexp.nested_ltgt.perl",
461
- "patterns": [
462
- {
463
- "include": "#escaped_char"
464
- },
465
- {
466
- "include": "#nested_ltgt"
467
- }
468
- ]
469
- },
470
- {
471
- "begin": "(s)\\s*\\(",
472
- "captures": {
473
- "0": {
474
- "name": "punctuation.definition.string.perl"
475
- },
476
- "1": {
477
- "name": "support.function.perl"
478
- }
479
- },
480
- "end": "\\)",
481
- "name": "string.regexp.nested_parens.perl",
482
- "patterns": [
483
- {
484
- "include": "#escaped_char"
485
- },
486
- {
487
- "include": "#nested_parens"
488
- }
489
- ]
490
- },
491
- {
492
- "begin": "\\{",
493
- "captures": {
494
- "0": {
495
- "name": "punctuation.definition.string.perl"
496
- }
497
- },
498
- "end": "\\}",
499
- "name": "string.regexp.format.nested_braces.perl",
500
- "patterns": [
501
- {
502
- "include": "#escaped_char"
503
- },
504
- {
505
- "include": "#variable"
506
- },
507
- {
508
- "include": "#nested_braces_interpolated"
509
- }
510
- ]
511
- },
512
- {
513
- "begin": "\\[",
514
- "captures": {
515
- "0": {
516
- "name": "punctuation.definition.string.perl"
517
- }
518
- },
519
- "end": "\\]",
520
- "name": "string.regexp.format.nested_brackets.perl",
521
- "patterns": [
522
- {
523
- "include": "#escaped_char"
524
- },
525
- {
526
- "include": "#variable"
527
- },
528
- {
529
- "include": "#nested_brackets_interpolated"
530
- }
531
- ]
532
- },
533
- {
534
- "begin": "<",
535
- "captures": {
536
- "0": {
537
- "name": "punctuation.definition.string.perl"
538
- }
539
- },
540
- "end": ">",
541
- "name": "string.regexp.format.nested_ltgt.perl",
542
- "patterns": [
543
- {
544
- "include": "#escaped_char"
545
- },
546
- {
547
- "include": "#variable"
548
- },
549
- {
550
- "include": "#nested_ltgt_interpolated"
551
- }
552
- ]
553
- },
554
- {
555
- "begin": "\\(",
556
- "captures": {
557
- "0": {
558
- "name": "punctuation.definition.string.perl"
559
- }
560
- },
561
- "end": "\\)",
562
- "name": "string.regexp.format.nested_parens.perl",
563
- "patterns": [
564
- {
565
- "include": "#escaped_char"
566
- },
567
- {
568
- "include": "#variable"
569
- },
570
- {
571
- "include": "#nested_parens_interpolated"
572
- }
573
- ]
574
- },
575
- {
576
- "begin": "'",
577
- "captures": {
578
- "0": {
579
- "name": "punctuation.definition.string.perl"
580
- }
581
- },
582
- "end": "'",
583
- "name": "string.regexp.format.single_quote.perl",
584
- "patterns": [
585
- {
586
- "match": "\\\\['\\\\]",
587
- "name": "constant.character.escape.perl"
588
- }
589
- ]
590
- },
591
- {
592
- "begin": "([^\\s\\w\\[({<;])",
593
- "captures": {
594
- "0": {
595
- "name": "punctuation.definition.string.perl"
596
- }
597
- },
598
- "end": "\\1",
599
- "name": "string.regexp.format.simple_delimiter.perl",
600
- "patterns": [
601
- {
602
- "include": "#escaped_char"
603
- },
604
- {
605
- "include": "#variable"
606
- }
607
- ]
608
- },
609
- {
610
- "match": "\\s+"
611
- }
612
- ]
613
- },
614
- {
615
- "begin": "\\b(?=s([^\\sa-zA-Z0-9\\[({<]).*\\1([egimosxradlupcn]*)([\\}\\)\\;\\,]|\\s+))",
616
- "comment": "string.regexp.replaceXXX",
617
- "end": "((([egimosxradlupcn]*)))(?=([\\}\\)\\;\\,]|\\s+|\\s*$))",
618
- "endCaptures": {
619
- "1": {
620
- "name": "string.regexp.replace.perl"
621
- },
622
- "2": {
623
- "name": "punctuation.definition.string.perl"
624
- },
625
- "3": {
626
- "name": "keyword.control.regexp-option.perl"
627
- }
628
- },
629
- "patterns": [
630
- {
631
- "begin": "(s\\s*)([^\\sa-zA-Z0-9\\[({<])",
632
- "captures": {
633
- "0": {
634
- "name": "punctuation.definition.string.perl"
635
- },
636
- "1": {
637
- "name": "support.function.perl"
638
- }
639
- },
640
- "end": "(?=\\2)",
641
- "name": "string.regexp.replaceXXX.simple_delimiter.perl",
642
- "patterns": [
643
- {
644
- "include": "#escaped_char"
645
- }
646
- ]
647
- },
648
- {
649
- "begin": "'",
650
- "captures": {
651
- "0": {
652
- "name": "punctuation.definition.string.perl"
653
- }
654
- },
655
- "end": "'",
656
- "name": "string.regexp.replaceXXX.format.single_quote.perl",
657
- "patterns": [
658
- {
659
- "match": "\\\\['\\\\]",
660
- "name": "constant.character.escape.perl.perl"
661
- }
662
- ]
663
- },
664
- {
665
- "begin": "([^\\sa-zA-Z0-9\\[({<])",
666
- "captures": {
667
- "0": {
668
- "name": "punctuation.definition.string.perl"
669
- }
670
- },
671
- "end": "\\1",
672
- "name": "string.regexp.replaceXXX.format.simple_delimiter.perl",
673
- "patterns": [
674
- {
675
- "include": "#escaped_char"
676
- },
677
- {
678
- "include": "#variable"
679
- }
680
- ]
681
- }
682
- ]
683
- },
684
- {
685
- "begin": "\\b(?=(?<!\\\\)s\\s*([^\\s\\w\\[({<>]))",
686
- "comment": "string.regexp.replace.extended",
687
- "end": "((([egimosradlupc]*x[egimosradlupc]*)))\\b",
688
- "endCaptures": {
689
- "1": {
690
- "name": "string.regexp.replace.perl"
691
- },
692
- "2": {
693
- "name": "punctuation.definition.string.perl"
694
- },
695
- "3": {
696
- "name": "keyword.control.regexp-option.perl"
697
- }
698
- },
699
- "patterns": [
700
- {
701
- "begin": "(s)\\s*(.)",
702
- "captures": {
703
- "0": {
704
- "name": "punctuation.definition.string.perl"
705
- },
706
- "1": {
707
- "name": "support.function.perl"
708
- }
709
- },
710
- "end": "(?=\\2)",
711
- "name": "string.regexp.replace.extended.simple_delimiter.perl",
712
- "patterns": [
713
- {
714
- "include": "#escaped_char"
715
- }
716
- ]
717
- },
718
- {
719
- "begin": "'",
720
- "captures": {
721
- "0": {
722
- "name": "punctuation.definition.string.perl"
723
- }
724
- },
725
- "end": "'(?=[egimosradlupc]*x[egimosradlupc]*)\\b",
726
- "name": "string.regexp.replace.extended.simple_delimiter.perl",
727
- "patterns": [
728
- {
729
- "include": "#escaped_char"
730
- }
731
- ]
732
- },
733
- {
734
- "begin": "(.)",
735
- "captures": {
736
- "0": {
737
- "name": "punctuation.definition.string.perl"
738
- }
739
- },
740
- "end": "\\1(?=[egimosradlupc]*x[egimosradlupc]*)\\b",
741
- "name": "string.regexp.replace.extended.simple_delimiter.perl",
742
- "patterns": [
743
- {
744
- "include": "#escaped_char"
745
- },
746
- {
747
- "include": "#variable"
748
- }
749
- ]
750
- }
751
- ]
752
- },
753
- {
754
- "begin": "(?<=\\(|\\{|~|&|\\||if|unless|^)\\s*((\\/))",
755
- "beginCaptures": {
756
- "1": {
757
- "name": "string.regexp.find.perl"
758
- },
759
- "2": {
760
- "name": "punctuation.definition.string.perl"
761
- }
762
- },
763
- "contentName": "string.regexp.find.perl",
764
- "end": "((\\1([egimosxradlupcn]*)))(?=(\\s+\\S|\\s*[;\\,\\#\\{\\}\\)]|\\s*$))",
765
- "endCaptures": {
766
- "1": {
767
- "name": "string.regexp.find.perl"
768
- },
769
- "2": {
770
- "name": "punctuation.definition.string.perl"
771
- },
772
- "3": {
773
- "name": "keyword.control.regexp-option.perl"
774
- }
775
- },
776
- "patterns": [
777
- {
778
- "comment": "This is to prevent thinks like /foo$/ to treat $/ as a variable",
779
- "match": "\\$(?=\\/)",
780
- "name": "keyword.control.anchor.perl"
781
- },
782
- {
783
- "include": "#escaped_char"
784
- },
785
- {
786
- "include": "#variable"
787
- }
788
- ]
789
- },
790
- {
791
- "captures": {
792
- "1": {
793
- "name": "constant.other.key.perl"
794
- }
795
- },
796
- "match": "\\b(\\w+)\\s*(?==>)"
797
- },
798
- {
799
- "match": "(?<={)\\s*\\w+\\s*(?=})",
800
- "name": "constant.other.bareword.perl"
801
- },
802
- {
803
- "captures": {
804
- "1": {
805
- "name": "keyword.control.perl"
806
- },
807
- "2": {
808
- "name": "entity.name.type.class.perl"
809
- }
810
- },
811
- "match": "^\\s*(package)\\s+([^\\s;]+)",
812
- "name": "meta.class.perl"
813
- },
814
- {
815
- "captures": {
816
- "1": {
817
- "name": "storage.type.sub.perl"
818
- },
819
- "2": {
820
- "name": "entity.name.function.perl"
821
- },
822
- "3": {
823
- "name": "storage.type.method.perl"
824
- }
825
- },
826
- "match": "\\b(sub)(?:\\s+([-a-zA-Z0-9_]+))?\\s*(?:\\([\\$\\@\\*;]*\\))?[^\\w\\{]",
827
- "name": "meta.function.perl"
828
- },
829
- {
830
- "captures": {
831
- "1": {
832
- "name": "entity.name.function.perl"
833
- },
834
- "2": {
835
- "name": "punctuation.definition.parameters.perl"
836
- },
837
- "3": {
838
- "name": "variable.parameter.function.perl"
839
- }
840
- },
841
- "match": "^\\s*(BEGIN|UNITCHECK|CHECK|INIT|END|DESTROY)\\b",
842
- "name": "meta.function.perl"
843
- },
844
- {
845
- "begin": "^(?=(\\t| {4}))",
846
- "end": "(?=[^\\t\\s])",
847
- "name": "meta.leading-tabs",
848
- "patterns": [
849
- {
850
- "captures": {
851
- "1": {
852
- "name": "meta.odd-tab"
853
- },
854
- "2": {
855
- "name": "meta.even-tab"
856
- }
857
- },
858
- "match": "(\\t| {4})(\\t| {4})?"
859
- }
860
- ]
861
- },
862
- {
863
- "captures": {
864
- "1": {
865
- "name": "support.function.perl"
866
- },
867
- "2": {
868
- "name": "punctuation.definition.string.perl"
869
- },
870
- "5": {
871
- "name": "punctuation.definition.string.perl"
872
- },
873
- "8": {
874
- "name": "punctuation.definition.string.perl"
875
- }
876
- },
877
- "match": "\\b(tr|y)\\s*([^A-Za-z0-9\\s])(.*?)(?<!\\\\)(\\\\{2})*(\\2)(.*?)(?<!\\\\)(\\\\{2})*(\\2)",
878
- "name": "string.regexp.replace.perl"
879
- },
880
- {
881
- "match": "\\b(__FILE__|__LINE__|__PACKAGE__|__SUB__)\\b",
882
- "name": "constant.language.perl"
883
- },
884
- {
885
- "begin": "\\b(__DATA__|__END__)\\n?",
886
- "beginCaptures": {
887
- "1": {
888
- "name": "constant.language.perl"
889
- }
890
- },
891
- "contentName": "comment.block.documentation.perl",
892
- "end": "\\z",
893
- "patterns": [
894
- {
895
- "include": "#pod"
896
- }
897
- ]
898
- },
899
- {
900
- "match": "(?<!->)\\b(continue|default|die|do|else|elsif|exit|for|foreach|given|goto|if|last|next|redo|return|select|unless|until|wait|when|while|switch|case|require|use|eval)\\b",
901
- "name": "keyword.control.perl"
902
- },
903
- {
904
- "match": "\\b(my|our|local)\\b",
905
- "name": "storage.modifier.perl"
906
- },
907
- {
908
- "match": "(?<!\\w)\\-[rwxoRWXOezsfdlpSbctugkTBMAC]\\b",
909
- "name": "keyword.operator.filetest.perl"
910
- },
911
- {
912
- "match": "\\b(and|or|xor|as|not)\\b",
913
- "name": "keyword.operator.logical.perl"
914
- },
915
- {
916
- "match": "(<=>|=>|->)",
917
- "name": "keyword.operator.comparison.perl"
918
- },
919
- {
920
- "include": "#heredoc"
921
- },
922
- {
923
- "begin": "\\bqq\\s*([^\\(\\{\\[\\<\\w\\s])",
924
- "beginCaptures": {
925
- "0": {
926
- "name": "punctuation.definition.string.begin.perl"
927
- }
928
- },
929
- "end": "\\1",
930
- "endCaptures": {
931
- "0": {
932
- "name": "punctuation.definition.string.end.perl"
933
- }
934
- },
935
- "name": "string.quoted.other.qq.perl",
936
- "patterns": [
937
- {
938
- "include": "#escaped_char"
939
- },
940
- {
941
- "include": "#variable"
942
- }
943
- ]
944
- },
945
- {
946
- "begin": "\\bqx\\s*([^'\\(\\{\\[\\<\\w\\s])",
947
- "beginCaptures": {
948
- "0": {
949
- "name": "punctuation.definition.string.begin.perl"
950
- }
951
- },
952
- "end": "\\1",
953
- "endCaptures": {
954
- "0": {
955
- "name": "punctuation.definition.string.end.perl"
956
- }
957
- },
958
- "name": "string.interpolated.qx.perl",
959
- "patterns": [
960
- {
961
- "include": "#escaped_char"
962
- },
963
- {
964
- "include": "#variable"
965
- }
966
- ]
967
- },
968
- {
969
- "begin": "\\bqx\\s*'",
970
- "beginCaptures": {
971
- "0": {
972
- "name": "punctuation.definition.string.begin.perl"
973
- }
974
- },
975
- "end": "'",
976
- "endCaptures": {
977
- "0": {
978
- "name": "punctuation.definition.string.end.perl"
979
- }
980
- },
981
- "name": "string.interpolated.qx.single-quote.perl",
982
- "patterns": [
983
- {
984
- "include": "#escaped_char"
985
- }
986
- ]
987
- },
988
- {
989
- "begin": "\"",
990
- "beginCaptures": {
991
- "0": {
992
- "name": "punctuation.definition.string.begin.perl"
993
- }
994
- },
995
- "end": "\"",
996
- "endCaptures": {
997
- "0": {
998
- "name": "punctuation.definition.string.end.perl"
999
- }
1000
- },
1001
- "name": "string.quoted.double.perl",
1002
- "patterns": [
1003
- {
1004
- "include": "#escaped_char"
1005
- },
1006
- {
1007
- "include": "#variable"
1008
- }
1009
- ]
1010
- },
1011
- {
1012
- "begin": "(?<!->)\\bqw?\\s*([^\\(\\{\\[\\<\\w\\s])",
1013
- "beginCaptures": {
1014
- "0": {
1015
- "name": "punctuation.definition.string.begin.perl"
1016
- }
1017
- },
1018
- "end": "\\1",
1019
- "endCaptures": {
1020
- "0": {
1021
- "name": "punctuation.definition.string.end.perl"
1022
- }
1023
- },
1024
- "name": "string.quoted.other.q.perl"
1025
- },
1026
- {
1027
- "begin": "'",
1028
- "beginCaptures": {
1029
- "0": {
1030
- "name": "punctuation.definition.string.begin.perl"
1031
- }
1032
- },
1033
- "end": "'",
1034
- "endCaptures": {
1035
- "0": {
1036
- "name": "punctuation.definition.string.end.perl"
1037
- }
1038
- },
1039
- "name": "string.quoted.single.perl",
1040
- "patterns": [
1041
- {
1042
- "match": "\\\\['\\\\]",
1043
- "name": "constant.character.escape.perl"
1044
- }
1045
- ]
1046
- },
1047
- {
1048
- "begin": "`",
1049
- "beginCaptures": {
1050
- "0": {
1051
- "name": "punctuation.definition.string.begin.perl"
1052
- }
1053
- },
1054
- "end": "`",
1055
- "endCaptures": {
1056
- "0": {
1057
- "name": "punctuation.definition.string.end.perl"
1058
- }
1059
- },
1060
- "name": "string.interpolated.perl",
1061
- "patterns": [
1062
- {
1063
- "include": "#escaped_char"
1064
- },
1065
- {
1066
- "include": "#variable"
1067
- }
1068
- ]
1069
- },
1070
- {
1071
- "begin": "(?<!->)\\bqq\\s*\\(",
1072
- "beginCaptures": {
1073
- "0": {
1074
- "name": "punctuation.definition.string.begin.perl"
1075
- }
1076
- },
1077
- "end": "\\)",
1078
- "endCaptures": {
1079
- "0": {
1080
- "name": "punctuation.definition.string.end.perl"
1081
- }
1082
- },
1083
- "name": "string.quoted.other.qq-paren.perl",
1084
- "patterns": [
1085
- {
1086
- "include": "#escaped_char"
1087
- },
1088
- {
1089
- "include": "#nested_parens_interpolated"
1090
- },
1091
- {
1092
- "include": "#variable"
1093
- }
1094
- ]
1095
- },
1096
- {
1097
- "begin": "\\bqq\\s*\\{",
1098
- "beginCaptures": {
1099
- "0": {
1100
- "name": "punctuation.definition.string.begin.perl"
1101
- }
1102
- },
1103
- "end": "\\}",
1104
- "endCaptures": {
1105
- "0": {
1106
- "name": "punctuation.definition.string.end.perl"
1107
- }
1108
- },
1109
- "name": "string.quoted.other.qq-brace.perl",
1110
- "patterns": [
1111
- {
1112
- "include": "#escaped_char"
1113
- },
1114
- {
1115
- "include": "#nested_braces_interpolated"
1116
- },
1117
- {
1118
- "include": "#variable"
1119
- }
1120
- ]
1121
- },
1122
- {
1123
- "begin": "\\bqq\\s*\\[",
1124
- "beginCaptures": {
1125
- "0": {
1126
- "name": "punctuation.definition.string.begin.perl"
1127
- }
1128
- },
1129
- "end": "\\]",
1130
- "endCaptures": {
1131
- "0": {
1132
- "name": "punctuation.definition.string.end.perl"
1133
- }
1134
- },
1135
- "name": "string.quoted.other.qq-bracket.perl",
1136
- "patterns": [
1137
- {
1138
- "include": "#escaped_char"
1139
- },
1140
- {
1141
- "include": "#nested_brackets_interpolated"
1142
- },
1143
- {
1144
- "include": "#variable"
1145
- }
1146
- ]
1147
- },
1148
- {
1149
- "begin": "\\bqq\\s*\\<",
1150
- "beginCaptures": {
1151
- "0": {
1152
- "name": "punctuation.definition.string.begin.perl"
1153
- }
1154
- },
1155
- "end": "\\>",
1156
- "endCaptures": {
1157
- "0": {
1158
- "name": "punctuation.definition.string.end.perl"
1159
- }
1160
- },
1161
- "name": "string.quoted.other.qq-ltgt.perl",
1162
- "patterns": [
1163
- {
1164
- "include": "#escaped_char"
1165
- },
1166
- {
1167
- "include": "#nested_ltgt_interpolated"
1168
- },
1169
- {
1170
- "include": "#variable"
1171
- }
1172
- ]
1173
- },
1174
- {
1175
- "begin": "(?<!->)\\bqx\\s*\\(",
1176
- "beginCaptures": {
1177
- "0": {
1178
- "name": "punctuation.definition.string.begin.perl"
1179
- }
1180
- },
1181
- "end": "\\)",
1182
- "endCaptures": {
1183
- "0": {
1184
- "name": "punctuation.definition.string.end.perl"
1185
- }
1186
- },
1187
- "name": "string.interpolated.qx-paren.perl",
1188
- "patterns": [
1189
- {
1190
- "include": "#escaped_char"
1191
- },
1192
- {
1193
- "include": "#nested_parens_interpolated"
1194
- },
1195
- {
1196
- "include": "#variable"
1197
- }
1198
- ]
1199
- },
1200
- {
1201
- "begin": "\\bqx\\s*\\{",
1202
- "beginCaptures": {
1203
- "0": {
1204
- "name": "punctuation.definition.string.begin.perl"
1205
- }
1206
- },
1207
- "end": "\\}",
1208
- "endCaptures": {
1209
- "0": {
1210
- "name": "punctuation.definition.string.end.perl"
1211
- }
1212
- },
1213
- "name": "string.interpolated.qx-brace.perl",
1214
- "patterns": [
1215
- {
1216
- "include": "#escaped_char"
1217
- },
1218
- {
1219
- "include": "#nested_braces_interpolated"
1220
- },
1221
- {
1222
- "include": "#variable"
1223
- }
1224
- ]
1225
- },
1226
- {
1227
- "begin": "\\bqx\\s*\\[",
1228
- "beginCaptures": {
1229
- "0": {
1230
- "name": "punctuation.definition.string.begin.perl"
1231
- }
1232
- },
1233
- "end": "\\]",
1234
- "endCaptures": {
1235
- "0": {
1236
- "name": "punctuation.definition.string.end.perl"
1237
- }
1238
- },
1239
- "name": "string.interpolated.qx-bracket.perl",
1240
- "patterns": [
1241
- {
1242
- "include": "#escaped_char"
1243
- },
1244
- {
1245
- "include": "#nested_brackets_interpolated"
1246
- },
1247
- {
1248
- "include": "#variable"
1249
- }
1250
- ]
1251
- },
1252
- {
1253
- "begin": "\\bqx\\s*\\<",
1254
- "beginCaptures": {
1255
- "0": {
1256
- "name": "punctuation.definition.string.begin.perl"
1257
- }
1258
- },
1259
- "end": "\\>",
1260
- "endCaptures": {
1261
- "0": {
1262
- "name": "punctuation.definition.string.end.perl"
1263
- }
1264
- },
1265
- "name": "string.interpolated.qx-ltgt.perl",
1266
- "patterns": [
1267
- {
1268
- "include": "#escaped_char"
1269
- },
1270
- {
1271
- "include": "#nested_ltgt_interpolated"
1272
- },
1273
- {
1274
- "include": "#variable"
1275
- }
1276
- ]
1277
- },
1278
- {
1279
- "begin": "(?<!->)\\bqw?\\s*\\(",
1280
- "beginCaptures": {
1281
- "0": {
1282
- "name": "punctuation.definition.string.begin.perl"
1283
- }
1284
- },
1285
- "end": "\\)",
1286
- "endCaptures": {
1287
- "0": {
1288
- "name": "punctuation.definition.string.end.perl"
1289
- }
1290
- },
1291
- "name": "string.quoted.other.q-paren.perl",
1292
- "patterns": [
1293
- {
1294
- "include": "#nested_parens"
1295
- }
1296
- ]
1297
- },
1298
- {
1299
- "begin": "\\bqw?\\s*\\{",
1300
- "beginCaptures": {
1301
- "0": {
1302
- "name": "punctuation.definition.string.begin.perl"
1303
- }
1304
- },
1305
- "end": "\\}",
1306
- "endCaptures": {
1307
- "0": {
1308
- "name": "punctuation.definition.string.end.perl"
1309
- }
1310
- },
1311
- "name": "string.quoted.other.q-brace.perl",
1312
- "patterns": [
1313
- {
1314
- "include": "#nested_braces"
1315
- }
1316
- ]
1317
- },
1318
- {
1319
- "begin": "\\bqw?\\s*\\[",
1320
- "beginCaptures": {
1321
- "0": {
1322
- "name": "punctuation.definition.string.begin.perl"
1323
- }
1324
- },
1325
- "end": "\\]",
1326
- "endCaptures": {
1327
- "0": {
1328
- "name": "punctuation.definition.string.end.perl"
1329
- }
1330
- },
1331
- "name": "string.quoted.other.q-bracket.perl",
1332
- "patterns": [
1333
- {
1334
- "include": "#nested_brackets"
1335
- }
1336
- ]
1337
- },
1338
- {
1339
- "begin": "\\bqw?\\s*\\<",
1340
- "beginCaptures": {
1341
- "0": {
1342
- "name": "punctuation.definition.string.begin.perl"
1343
- }
1344
- },
1345
- "end": "\\>",
1346
- "endCaptures": {
1347
- "0": {
1348
- "name": "punctuation.definition.string.end.perl"
1349
- }
1350
- },
1351
- "name": "string.quoted.other.q-ltgt.perl",
1352
- "patterns": [
1353
- {
1354
- "include": "#nested_ltgt"
1355
- }
1356
- ]
1357
- },
1358
- {
1359
- "begin": "^__\\w+__",
1360
- "beginCaptures": {
1361
- "0": {
1362
- "name": "punctuation.definition.string.begin.perl"
1363
- }
1364
- },
1365
- "end": "$",
1366
- "endCaptures": {
1367
- "0": {
1368
- "name": "punctuation.definition.string.end.perl"
1369
- }
1370
- },
1371
- "name": "string.unquoted.program-block.perl"
1372
- },
1373
- {
1374
- "begin": "\\b(format)\\s+(\\w+)\\s*=",
1375
- "beginCaptures": {
1376
- "1": {
1377
- "name": "support.function.perl"
1378
- },
1379
- "2": {
1380
- "name": "entity.name.function.format.perl"
1381
- }
1382
- },
1383
- "end": "^\\.\\s*$",
1384
- "name": "meta.format.perl",
1385
- "patterns": [
1386
- {
1387
- "include": "#line_comment"
1388
- },
1389
- {
1390
- "include": "#variable"
1391
- }
1392
- ]
1393
- },
1394
- {
1395
- "captures": {
1396
- "1": {
1397
- "name": "support.function.perl"
1398
- },
1399
- "2": {
1400
- "name": "entity.name.function.perl"
1401
- }
1402
- },
1403
- "match": "\\b(x)\\s*(\\d+)\\b"
1404
- },
1405
- {
1406
- "match": "\\b(ARGV|DATA|ENV|SIG|STDERR|STDIN|STDOUT|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|cmp|connect|cos|crypt|dbmclose|dbmopen|defined|delete|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eq|eval|exec|exists|exp|fcntl|fileno|flock|fork|formline|ge|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|grep|gt|hex|import|index|int|ioctl|join|keys|kill|lc|lcfirst|le|length|link|listen|local|localtime|log|lstat|lt|m|map|mkdir|msgctl|msgget|msgrcv|msgsnd|ne|no|oct|open|opendir|ord|pack|pipe|pop|pos|print|printf|push|quotemeta|rand|read|readdir|readlink|recv|ref|rename|reset|reverse|rewinddir|rindex|rmdir|s|say|scalar|seek|seekdir|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|substr|symlink|syscall|sysopen|sysread|system|syswrite|tell|telldir|tie|tied|time|times|tr|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|utime|values|vec|waitpid|wantarray|warn|write|y)\\b",
1407
- "name": "support.function.perl"
1408
- },
1409
- {
1410
- "captures": {
1411
- "1": {
1412
- "name": "punctuation.section.scope.begin.perl"
1413
- },
1414
- "2": {
1415
- "name": "punctuation.section.scope.end.perl"
1416
- }
1417
- },
1418
- "comment": "Match empty brackets for ↩ snippet",
1419
- "match": "(\\{)(\\})"
1420
- },
1421
- {
1422
- "captures": {
1423
- "1": {
1424
- "name": "punctuation.section.scope.begin.perl"
1425
- },
1426
- "2": {
1427
- "name": "punctuation.section.scope.end.perl"
1428
- }
1429
- },
1430
- "comment": "Match empty parenthesis for ↩ snippet",
1431
- "match": "(\\()(\\))"
1432
- }
1433
- ],
1434
- "repository": {
1435
- "escaped_char": {
1436
- "patterns": [
1437
- {
1438
- "match": "\\\\\\d+",
1439
- "name": "constant.character.escape.perl"
1440
- },
1441
- {
1442
- "match": "\\\\c[^\\s\\\\]",
1443
- "name": "constant.character.escape.perl"
1444
- },
1445
- {
1446
- "match": "\\\\g(?:\\{(?:\\w*|-\\d+)\\}|\\d+)",
1447
- "name": "constant.character.escape.perl"
1448
- },
1449
- {
1450
- "match": "\\\\k(?:\\{\\w*\\}|<\\w*>|'\\w*')",
1451
- "name": "constant.character.escape.perl"
1452
- },
1453
- {
1454
- "match": "\\\\N\\{[^\\}]*\\}",
1455
- "name": "constant.character.escape.perl"
1456
- },
1457
- {
1458
- "match": "\\\\o\\{\\d*\\}",
1459
- "name": "constant.character.escape.perl"
1460
- },
1461
- {
1462
- "match": "\\\\(?:p|P)(?:\\{\\w*\\}|P)",
1463
- "name": "constant.character.escape.perl"
1464
- },
1465
- {
1466
- "match": "\\\\x(?:[0-9a-zA-Z]{2}|\\{\\w*\\})?",
1467
- "name": "constant.character.escape.perl"
1468
- },
1469
- {
1470
- "match": "\\\\.",
1471
- "name": "constant.character.escape.perl"
1472
- }
1473
- ]
1474
- },
1475
- "heredoc": {
1476
- "patterns": [
1477
- {
1478
- "begin": "((((<<(~)?) *')(HTML)(')))(.*)\\n?",
1479
- "beginCaptures": {
1480
- "1": {
1481
- "name": "string.unquoted.heredoc.raw.perl"
1482
- },
1483
- "2": {
1484
- "name": "punctuation.definition.string.begin.perl"
1485
- },
1486
- "3": {
1487
- "name": "punctuation.definition.delimiter.begin.perl"
1488
- },
1489
- "7": {
1490
- "name": "punctuation.definition.delimiter.end.perl"
1491
- },
1492
- "8": {
1493
- "patterns": [
1494
- {
1495
- "include": "$self"
1496
- }
1497
- ]
1498
- }
1499
- },
1500
- "contentName": "string.unquoted.heredoc.raw.perl",
1501
- "end": "^((?!\\5)\\s+)?((\\6))$",
1502
- "endCaptures": {
1503
- "2": {
1504
- "name": "string.unquoted.heredoc.raw.perl"
1505
- },
1506
- "3": {
1507
- "name": "punctuation.definition.string.end.perl"
1508
- }
1509
- },
1510
- "name": "meta.embedded.block.html",
1511
- "patterns": [
1512
- {
1513
- "begin": "^",
1514
- "end": "\\n",
1515
- "name": "text.html.basic",
1516
- "patterns": [
1517
- {
1518
- "include": "text.html.basic"
1519
- }
1520
- ]
1521
- }
1522
- ]
1523
- },
1524
- {
1525
- "begin": "((((<<(~)?) *')(XML)(')))(.*)\\n?",
1526
- "beginCaptures": {
1527
- "1": {
1528
- "name": "string.unquoted.heredoc.raw.perl"
1529
- },
1530
- "2": {
1531
- "name": "punctuation.definition.string.begin.perl"
1532
- },
1533
- "3": {
1534
- "name": "punctuation.definition.delimiter.begin.perl"
1535
- },
1536
- "7": {
1537
- "name": "punctuation.definition.delimiter.end.perl"
1538
- },
1539
- "8": {
1540
- "patterns": [
1541
- {
1542
- "include": "$self"
1543
- }
1544
- ]
1545
- }
1546
- },
1547
- "contentName": "string.unquoted.heredoc.raw.perl",
1548
- "end": "^((?!\\5)\\s+)?((\\6))$",
1549
- "endCaptures": {
1550
- "2": {
1551
- "name": "string.unquoted.heredoc.raw.perl"
1552
- },
1553
- "3": {
1554
- "name": "punctuation.definition.string.end.perl"
1555
- }
1556
- },
1557
- "name": "meta.embedded.block.xml",
1558
- "patterns": [
1559
- {
1560
- "begin": "^",
1561
- "end": "\\n",
1562
- "name": "text.xml",
1563
- "patterns": [
1564
- {
1565
- "include": "text.xml"
1566
- }
1567
- ]
1568
- }
1569
- ]
1570
- },
1571
- {
1572
- "begin": "((((<<(~)?) *')(CSS)(')))(.*)\\n?",
1573
- "beginCaptures": {
1574
- "1": {
1575
- "name": "string.unquoted.heredoc.raw.perl"
1576
- },
1577
- "2": {
1578
- "name": "punctuation.definition.string.begin.perl"
1579
- },
1580
- "3": {
1581
- "name": "punctuation.definition.delimiter.begin.perl"
1582
- },
1583
- "7": {
1584
- "name": "punctuation.definition.delimiter.end.perl"
1585
- },
1586
- "8": {
1587
- "patterns": [
1588
- {
1589
- "include": "$self"
1590
- }
1591
- ]
1592
- }
1593
- },
1594
- "contentName": "string.unquoted.heredoc.raw.perl",
1595
- "end": "^((?!\\5)\\s+)?((\\6))$",
1596
- "endCaptures": {
1597
- "2": {
1598
- "name": "string.unquoted.heredoc.raw.perl"
1599
- },
1600
- "3": {
1601
- "name": "punctuation.definition.string.end.perl"
1602
- }
1603
- },
1604
- "name": "meta.embedded.block.css",
1605
- "patterns": [
1606
- {
1607
- "begin": "^",
1608
- "end": "\\n",
1609
- "name": "source.css",
1610
- "patterns": [
1611
- {
1612
- "include": "source.css"
1613
- }
1614
- ]
1615
- }
1616
- ]
1617
- },
1618
- {
1619
- "begin": "((((<<(~)?) *')(JAVASCRIPT)(')))(.*)\\n?",
1620
- "beginCaptures": {
1621
- "1": {
1622
- "name": "string.unquoted.heredoc.raw.perl"
1623
- },
1624
- "2": {
1625
- "name": "punctuation.definition.string.begin.perl"
1626
- },
1627
- "3": {
1628
- "name": "punctuation.definition.delimiter.begin.perl"
1629
- },
1630
- "7": {
1631
- "name": "punctuation.definition.delimiter.end.perl"
1632
- },
1633
- "8": {
1634
- "patterns": [
1635
- {
1636
- "include": "$self"
1637
- }
1638
- ]
1639
- }
1640
- },
1641
- "contentName": "string.unquoted.heredoc.raw.perl",
1642
- "end": "^((?!\\5)\\s+)?((\\6))$",
1643
- "endCaptures": {
1644
- "2": {
1645
- "name": "string.unquoted.heredoc.raw.perl"
1646
- },
1647
- "3": {
1648
- "name": "punctuation.definition.string.end.perl"
1649
- }
1650
- },
1651
- "name": "meta.embedded.block.js",
1652
- "patterns": [
1653
- {
1654
- "begin": "^",
1655
- "end": "\\n",
1656
- "name": "source.js",
1657
- "patterns": [
1658
- {
1659
- "include": "source.js"
1660
- }
1661
- ]
1662
- }
1663
- ]
1664
- },
1665
- {
1666
- "begin": "((((<<(~)?) *')(SQL)(')))(.*)\\n?",
1667
- "beginCaptures": {
1668
- "1": {
1669
- "name": "string.unquoted.heredoc.raw.perl"
1670
- },
1671
- "2": {
1672
- "name": "punctuation.definition.string.begin.perl"
1673
- },
1674
- "3": {
1675
- "name": "punctuation.definition.delimiter.begin.perl"
1676
- },
1677
- "7": {
1678
- "name": "punctuation.definition.delimiter.end.perl"
1679
- },
1680
- "8": {
1681
- "patterns": [
1682
- {
1683
- "include": "$self"
1684
- }
1685
- ]
1686
- }
1687
- },
1688
- "contentName": "string.unquoted.heredoc.raw.perl",
1689
- "end": "^((?!\\5)\\s+)?((\\6))$",
1690
- "endCaptures": {
1691
- "2": {
1692
- "name": "string.unquoted.heredoc.raw.perl"
1693
- },
1694
- "3": {
1695
- "name": "punctuation.definition.string.end.perl"
1696
- }
1697
- },
1698
- "name": "meta.embedded.block.sql",
1699
- "patterns": [
1700
- {
1701
- "begin": "^",
1702
- "end": "\\n",
1703
- "name": "source.sql",
1704
- "patterns": [
1705
- {
1706
- "include": "source.sql"
1707
- }
1708
- ]
1709
- }
1710
- ]
1711
- },
1712
- {
1713
- "begin": "((((<<(~)?) *')(POSTSCRIPT)(')))(.*)\\n?",
1714
- "beginCaptures": {
1715
- "1": {
1716
- "name": "string.unquoted.heredoc.raw.perl"
1717
- },
1718
- "2": {
1719
- "name": "punctuation.definition.string.begin.perl"
1720
- },
1721
- "3": {
1722
- "name": "punctuation.definition.delimiter.begin.perl"
1723
- },
1724
- "7": {
1725
- "name": "punctuation.definition.delimiter.end.perl"
1726
- },
1727
- "8": {
1728
- "patterns": [
1729
- {
1730
- "include": "$self"
1731
- }
1732
- ]
1733
- }
1734
- },
1735
- "contentName": "string.unquoted.heredoc.raw.perl",
1736
- "end": "^((?!\\5)\\s+)?((\\6))$",
1737
- "endCaptures": {
1738
- "2": {
1739
- "name": "string.unquoted.heredoc.raw.perl"
1740
- },
1741
- "3": {
1742
- "name": "punctuation.definition.string.end.perl"
1743
- }
1744
- },
1745
- "name": "meta.embedded.block.postscript",
1746
- "patterns": [
1747
- {
1748
- "begin": "^",
1749
- "end": "\\n",
1750
- "name": "source.postscript",
1751
- "patterns": [
1752
- {
1753
- "include": "source.postscript"
1754
- }
1755
- ]
1756
- }
1757
- ]
1758
- },
1759
- {
1760
- "begin": "((((<<(~)?) *')([^']*)(')))(.*)\\n?",
1761
- "beginCaptures": {
1762
- "1": {
1763
- "name": "string.unquoted.heredoc.raw.perl"
1764
- },
1765
- "2": {
1766
- "name": "punctuation.definition.string.begin.perl"
1767
- },
1768
- "3": {
1769
- "name": "punctuation.definition.delimiter.begin.perl"
1770
- },
1771
- "7": {
1772
- "name": "punctuation.definition.delimiter.end.perl"
1773
- },
1774
- "8": {
1775
- "patterns": [
1776
- {
1777
- "include": "$self"
1778
- }
1779
- ]
1780
- }
1781
- },
1782
- "contentName": "string.unquoted.heredoc.raw.perl",
1783
- "end": "^((?!\\5)\\s+)?((\\6))$",
1784
- "endCaptures": {
1785
- "2": {
1786
- "name": "string.unquoted.heredoc.raw.perl"
1787
- },
1788
- "3": {
1789
- "name": "punctuation.definition.string.end.perl"
1790
- }
1791
- }
1792
- },
1793
- {
1794
- "begin": "((((<<(~)?) *\\\\)((?![=\\d\\$\\( ])[^;,'\"`\\s\\)]*)()))(.*)\\n?",
1795
- "beginCaptures": {
1796
- "1": {
1797
- "name": "string.unquoted.heredoc.raw.perl"
1798
- },
1799
- "2": {
1800
- "name": "punctuation.definition.string.begin.perl"
1801
- },
1802
- "3": {
1803
- "name": "punctuation.definition.delimiter.begin.perl"
1804
- },
1805
- "7": {
1806
- "name": "punctuation.definition.delimiter.end.perl"
1807
- },
1808
- "8": {
1809
- "patterns": [
1810
- {
1811
- "include": "$self"
1812
- }
1813
- ]
1814
- }
1815
- },
1816
- "contentName": "string.unquoted.heredoc.raw.perl",
1817
- "end": "^((?!\\5)\\s+)?((\\6))$",
1818
- "endCaptures": {
1819
- "2": {
1820
- "name": "string.unquoted.heredoc.raw.perl"
1821
- },
1822
- "3": {
1823
- "name": "punctuation.definition.string.end.perl"
1824
- }
1825
- }
1826
- },
1827
- {
1828
- "begin": "((((<<(~)?) *\")(HTML)(\")))(.*)\\n?",
1829
- "beginCaptures": {
1830
- "1": {
1831
- "name": "string.unquoted.heredoc.interpolated.perl"
1832
- },
1833
- "2": {
1834
- "name": "punctuation.definition.string.begin.perl"
1835
- },
1836
- "3": {
1837
- "name": "punctuation.definition.delimiter.begin.perl"
1838
- },
1839
- "7": {
1840
- "name": "punctuation.definition.delimiter.end.perl"
1841
- },
1842
- "8": {
1843
- "patterns": [
1844
- {
1845
- "include": "$self"
1846
- }
1847
- ]
1848
- }
1849
- },
1850
- "contentName": "string.unquoted.heredoc.interpolated.perl",
1851
- "end": "^((?!\\5)\\s+)?((\\6))$",
1852
- "endCaptures": {
1853
- "2": {
1854
- "name": "string.unquoted.heredoc.interpolated.perl"
1855
- },
1856
- "3": {
1857
- "name": "punctuation.definition.string.end.perl"
1858
- }
1859
- },
1860
- "name": "meta.embedded.block.html",
1861
- "patterns": [
1862
- {
1863
- "begin": "^",
1864
- "end": "\\n",
1865
- "name": "text.html.basic",
1866
- "patterns": [
1867
- {
1868
- "include": "#escaped_char"
1869
- },
1870
- {
1871
- "include": "#variable"
1872
- },
1873
- {
1874
- "include": "text.html.basic"
1875
- }
1876
- ]
1877
- }
1878
- ]
1879
- },
1880
- {
1881
- "begin": "((((<<(~)?) *\")(XML)(\")))(.*)\\n?",
1882
- "beginCaptures": {
1883
- "1": {
1884
- "name": "string.unquoted.heredoc.interpolated.perl"
1885
- },
1886
- "2": {
1887
- "name": "punctuation.definition.string.begin.perl"
1888
- },
1889
- "3": {
1890
- "name": "punctuation.definition.delimiter.begin.perl"
1891
- },
1892
- "7": {
1893
- "name": "punctuation.definition.delimiter.end.perl"
1894
- },
1895
- "8": {
1896
- "patterns": [
1897
- {
1898
- "include": "$self"
1899
- }
1900
- ]
1901
- }
1902
- },
1903
- "contentName": "string.unquoted.heredoc.interpolated.perl",
1904
- "end": "^((?!\\5)\\s+)?((\\6))$",
1905
- "endCaptures": {
1906
- "2": {
1907
- "name": "string.unquoted.heredoc.interpolated.perl"
1908
- },
1909
- "3": {
1910
- "name": "punctuation.definition.string.end.perl"
1911
- }
1912
- },
1913
- "name": "meta.embedded.block.xml",
1914
- "patterns": [
1915
- {
1916
- "begin": "^",
1917
- "end": "\\n",
1918
- "name": "text.xml",
1919
- "patterns": [
1920
- {
1921
- "include": "#escaped_char"
1922
- },
1923
- {
1924
- "include": "#variable"
1925
- },
1926
- {
1927
- "include": "text.xml"
1928
- }
1929
- ]
1930
- }
1931
- ]
1932
- },
1933
- {
1934
- "begin": "((((<<(~)?) *\")(CSS)(\")))(.*)\\n?",
1935
- "beginCaptures": {
1936
- "1": {
1937
- "name": "string.unquoted.heredoc.interpolated.perl"
1938
- },
1939
- "2": {
1940
- "name": "punctuation.definition.string.begin.perl"
1941
- },
1942
- "3": {
1943
- "name": "punctuation.definition.delimiter.begin.perl"
1944
- },
1945
- "7": {
1946
- "name": "punctuation.definition.delimiter.end.perl"
1947
- },
1948
- "8": {
1949
- "patterns": [
1950
- {
1951
- "include": "$self"
1952
- }
1953
- ]
1954
- }
1955
- },
1956
- "contentName": "string.unquoted.heredoc.interpolated.perl",
1957
- "end": "^((?!\\5)\\s+)?((\\6))$",
1958
- "endCaptures": {
1959
- "2": {
1960
- "name": "string.unquoted.heredoc.interpolated.perl"
1961
- },
1962
- "3": {
1963
- "name": "punctuation.definition.string.end.perl"
1964
- }
1965
- },
1966
- "name": "meta.embedded.block.css",
1967
- "patterns": [
1968
- {
1969
- "begin": "^",
1970
- "end": "\\n",
1971
- "name": "source.css",
1972
- "patterns": [
1973
- {
1974
- "include": "#escaped_char"
1975
- },
1976
- {
1977
- "include": "#variable"
1978
- },
1979
- {
1980
- "include": "source.css"
1981
- }
1982
- ]
1983
- }
1984
- ]
1985
- },
1986
- {
1987
- "begin": "((((<<(~)?) *\")(JAVASCRIPT)(\")))(.*)\\n?",
1988
- "beginCaptures": {
1989
- "1": {
1990
- "name": "string.unquoted.heredoc.interpolated.perl"
1991
- },
1992
- "2": {
1993
- "name": "punctuation.definition.string.begin.perl"
1994
- },
1995
- "3": {
1996
- "name": "punctuation.definition.delimiter.begin.perl"
1997
- },
1998
- "7": {
1999
- "name": "punctuation.definition.delimiter.end.perl"
2000
- },
2001
- "8": {
2002
- "patterns": [
2003
- {
2004
- "include": "$self"
2005
- }
2006
- ]
2007
- }
2008
- },
2009
- "contentName": "string.unquoted.heredoc.interpolated.perl",
2010
- "end": "^((?!\\5)\\s+)?((\\6))$",
2011
- "endCaptures": {
2012
- "2": {
2013
- "name": "string.unquoted.heredoc.interpolated.perl"
2014
- },
2015
- "3": {
2016
- "name": "punctuation.definition.string.end.perl"
2017
- }
2018
- },
2019
- "name": "meta.embedded.block.js",
2020
- "patterns": [
2021
- {
2022
- "begin": "^",
2023
- "end": "\\n",
2024
- "name": "source.js",
2025
- "patterns": [
2026
- {
2027
- "include": "#escaped_char"
2028
- },
2029
- {
2030
- "include": "#variable"
2031
- },
2032
- {
2033
- "include": "source.js"
2034
- }
2035
- ]
2036
- }
2037
- ]
2038
- },
2039
- {
2040
- "begin": "((((<<(~)?) *\")(SQL)(\")))(.*)\\n?",
2041
- "beginCaptures": {
2042
- "1": {
2043
- "name": "string.unquoted.heredoc.interpolated.perl"
2044
- },
2045
- "2": {
2046
- "name": "punctuation.definition.string.begin.perl"
2047
- },
2048
- "3": {
2049
- "name": "punctuation.definition.delimiter.begin.perl"
2050
- },
2051
- "7": {
2052
- "name": "punctuation.definition.delimiter.end.perl"
2053
- },
2054
- "8": {
2055
- "patterns": [
2056
- {
2057
- "include": "$self"
2058
- }
2059
- ]
2060
- }
2061
- },
2062
- "contentName": "string.unquoted.heredoc.interpolated.perl",
2063
- "end": "^((?!\\5)\\s+)?((\\6))$",
2064
- "endCaptures": {
2065
- "2": {
2066
- "name": "string.unquoted.heredoc.interpolated.perl"
2067
- },
2068
- "3": {
2069
- "name": "punctuation.definition.string.end.perl"
2070
- }
2071
- },
2072
- "name": "meta.embedded.block.sql",
2073
- "patterns": [
2074
- {
2075
- "begin": "^",
2076
- "end": "\\n",
2077
- "name": "source.sql",
2078
- "patterns": [
2079
- {
2080
- "include": "#escaped_char"
2081
- },
2082
- {
2083
- "include": "#variable"
2084
- },
2085
- {
2086
- "include": "source.sql"
2087
- }
2088
- ]
2089
- }
2090
- ]
2091
- },
2092
- {
2093
- "begin": "((((<<(~)?) *\")(POSTSCRIPT)(\")))(.*)\\n?",
2094
- "beginCaptures": {
2095
- "1": {
2096
- "name": "string.unquoted.heredoc.interpolated.perl"
2097
- },
2098
- "2": {
2099
- "name": "punctuation.definition.string.begin.perl"
2100
- },
2101
- "3": {
2102
- "name": "punctuation.definition.delimiter.begin.perl"
2103
- },
2104
- "7": {
2105
- "name": "punctuation.definition.delimiter.end.perl"
2106
- },
2107
- "8": {
2108
- "patterns": [
2109
- {
2110
- "include": "$self"
2111
- }
2112
- ]
2113
- }
2114
- },
2115
- "contentName": "string.unquoted.heredoc.interpolated.perl",
2116
- "end": "^((?!\\5)\\s+)?((\\6))$",
2117
- "endCaptures": {
2118
- "2": {
2119
- "name": "string.unquoted.heredoc.interpolated.perl"
2120
- },
2121
- "3": {
2122
- "name": "punctuation.definition.string.end.perl"
2123
- }
2124
- },
2125
- "name": "meta.embedded.block.postscript",
2126
- "patterns": [
2127
- {
2128
- "begin": "^",
2129
- "end": "\\n",
2130
- "name": "source.postscript",
2131
- "patterns": [
2132
- {
2133
- "include": "#escaped_char"
2134
- },
2135
- {
2136
- "include": "#variable"
2137
- },
2138
- {
2139
- "include": "source.postscript"
2140
- }
2141
- ]
2142
- }
2143
- ]
2144
- },
2145
- {
2146
- "begin": "((((<<(~)?) *\")([^\"]*)(\")))(.*)\\n?",
2147
- "beginCaptures": {
2148
- "1": {
2149
- "name": "string.unquoted.heredoc.interpolated.perl"
2150
- },
2151
- "2": {
2152
- "name": "punctuation.definition.string.begin.perl"
2153
- },
2154
- "3": {
2155
- "name": "punctuation.definition.delimiter.begin.perl"
2156
- },
2157
- "7": {
2158
- "name": "punctuation.definition.delimiter.end.perl"
2159
- },
2160
- "8": {
2161
- "patterns": [
2162
- {
2163
- "include": "$self"
2164
- }
2165
- ]
2166
- }
2167
- },
2168
- "contentName": "string.unquoted.heredoc.interpolated.perl",
2169
- "end": "^((?!\\5)\\s+)?((\\6))$",
2170
- "endCaptures": {
2171
- "2": {
2172
- "name": "string.unquoted.heredoc.interpolated.perl"
2173
- },
2174
- "3": {
2175
- "name": "punctuation.definition.string.end.perl"
2176
- }
2177
- },
2178
- "patterns": [
2179
- {
2180
- "include": "#escaped_char"
2181
- },
2182
- {
2183
- "include": "#variable"
2184
- }
2185
- ]
2186
- },
2187
- {
2188
- "begin": "((((<<(~)?) *)(HTML)()))(.*)\\n?",
2189
- "beginCaptures": {
2190
- "1": {
2191
- "name": "string.unquoted.heredoc.interpolated.perl"
2192
- },
2193
- "2": {
2194
- "name": "punctuation.definition.string.begin.perl"
2195
- },
2196
- "3": {
2197
- "name": "punctuation.definition.delimiter.begin.perl"
2198
- },
2199
- "7": {
2200
- "name": "punctuation.definition.delimiter.end.perl"
2201
- },
2202
- "8": {
2203
- "patterns": [
2204
- {
2205
- "include": "$self"
2206
- }
2207
- ]
2208
- }
2209
- },
2210
- "contentName": "string.unquoted.heredoc.interpolated.perl",
2211
- "end": "^((?!\\5)\\s+)?((\\6))$",
2212
- "endCaptures": {
2213
- "2": {
2214
- "name": "string.unquoted.heredoc.interpolated.perl"
2215
- },
2216
- "3": {
2217
- "name": "punctuation.definition.string.end.perl"
2218
- }
2219
- },
2220
- "name": "meta.embedded.block.html",
2221
- "patterns": [
2222
- {
2223
- "begin": "^",
2224
- "end": "\\n",
2225
- "name": "text.html.basic",
2226
- "patterns": [
2227
- {
2228
- "include": "#escaped_char"
2229
- },
2230
- {
2231
- "include": "#variable"
2232
- },
2233
- {
2234
- "include": "text.html.basic"
2235
- }
2236
- ]
2237
- }
2238
- ]
2239
- },
2240
- {
2241
- "begin": "((((<<(~)?) *)(XML)()))(.*)\\n?",
2242
- "beginCaptures": {
2243
- "1": {
2244
- "name": "string.unquoted.heredoc.interpolated.perl"
2245
- },
2246
- "2": {
2247
- "name": "punctuation.definition.string.begin.perl"
2248
- },
2249
- "3": {
2250
- "name": "punctuation.definition.delimiter.begin.perl"
2251
- },
2252
- "7": {
2253
- "name": "punctuation.definition.delimiter.end.perl"
2254
- },
2255
- "8": {
2256
- "patterns": [
2257
- {
2258
- "include": "$self"
2259
- }
2260
- ]
2261
- }
2262
- },
2263
- "contentName": "string.unquoted.heredoc.interpolated.perl",
2264
- "end": "^((?!\\5)\\s+)?((\\6))$",
2265
- "endCaptures": {
2266
- "2": {
2267
- "name": "string.unquoted.heredoc.interpolated.perl"
2268
- },
2269
- "3": {
2270
- "name": "punctuation.definition.string.end.perl"
2271
- }
2272
- },
2273
- "name": "meta.embedded.block.xml",
2274
- "patterns": [
2275
- {
2276
- "begin": "^",
2277
- "end": "\\n",
2278
- "name": "text.xml",
2279
- "patterns": [
2280
- {
2281
- "include": "#escaped_char"
2282
- },
2283
- {
2284
- "include": "#variable"
2285
- },
2286
- {
2287
- "include": "text.xml"
2288
- }
2289
- ]
2290
- }
2291
- ]
2292
- },
2293
- {
2294
- "begin": "((((<<(~)?) *)(CSS)()))(.*)\\n?",
2295
- "beginCaptures": {
2296
- "1": {
2297
- "name": "string.unquoted.heredoc.interpolated.perl"
2298
- },
2299
- "2": {
2300
- "name": "punctuation.definition.string.begin.perl"
2301
- },
2302
- "3": {
2303
- "name": "punctuation.definition.delimiter.begin.perl"
2304
- },
2305
- "7": {
2306
- "name": "punctuation.definition.delimiter.end.perl"
2307
- },
2308
- "8": {
2309
- "patterns": [
2310
- {
2311
- "include": "$self"
2312
- }
2313
- ]
2314
- }
2315
- },
2316
- "contentName": "string.unquoted.heredoc.interpolated.perl",
2317
- "end": "^((?!\\5)\\s+)?((\\6))$",
2318
- "endCaptures": {
2319
- "2": {
2320
- "name": "string.unquoted.heredoc.interpolated.perl"
2321
- },
2322
- "3": {
2323
- "name": "punctuation.definition.string.end.perl"
2324
- }
2325
- },
2326
- "name": "meta.embedded.block.css",
2327
- "patterns": [
2328
- {
2329
- "begin": "^",
2330
- "end": "\\n",
2331
- "name": "source.css",
2332
- "patterns": [
2333
- {
2334
- "include": "#escaped_char"
2335
- },
2336
- {
2337
- "include": "#variable"
2338
- },
2339
- {
2340
- "include": "source.css"
2341
- }
2342
- ]
2343
- }
2344
- ]
2345
- },
2346
- {
2347
- "begin": "((((<<(~)?) *)(JAVASCRIPT)()))(.*)\\n?",
2348
- "beginCaptures": {
2349
- "1": {
2350
- "name": "string.unquoted.heredoc.interpolated.perl"
2351
- },
2352
- "2": {
2353
- "name": "punctuation.definition.string.begin.perl"
2354
- },
2355
- "3": {
2356
- "name": "punctuation.definition.delimiter.begin.perl"
2357
- },
2358
- "7": {
2359
- "name": "punctuation.definition.delimiter.end.perl"
2360
- },
2361
- "8": {
2362
- "patterns": [
2363
- {
2364
- "include": "$self"
2365
- }
2366
- ]
2367
- }
2368
- },
2369
- "contentName": "string.unquoted.heredoc.interpolated.perl",
2370
- "end": "^((?!\\5)\\s+)?((\\6))$",
2371
- "endCaptures": {
2372
- "2": {
2373
- "name": "string.unquoted.heredoc.interpolated.perl"
2374
- },
2375
- "3": {
2376
- "name": "punctuation.definition.string.end.perl"
2377
- }
2378
- },
2379
- "name": "meta.embedded.block.js",
2380
- "patterns": [
2381
- {
2382
- "begin": "^",
2383
- "end": "\\n",
2384
- "name": "source.js",
2385
- "patterns": [
2386
- {
2387
- "include": "#escaped_char"
2388
- },
2389
- {
2390
- "include": "#variable"
2391
- },
2392
- {
2393
- "include": "source.js"
2394
- }
2395
- ]
2396
- }
2397
- ]
2398
- },
2399
- {
2400
- "begin": "((((<<(~)?) *)(SQL)()))(.*)\\n?",
2401
- "beginCaptures": {
2402
- "1": {
2403
- "name": "string.unquoted.heredoc.interpolated.perl"
2404
- },
2405
- "2": {
2406
- "name": "punctuation.definition.string.begin.perl"
2407
- },
2408
- "3": {
2409
- "name": "punctuation.definition.delimiter.begin.perl"
2410
- },
2411
- "7": {
2412
- "name": "punctuation.definition.delimiter.end.perl"
2413
- },
2414
- "8": {
2415
- "patterns": [
2416
- {
2417
- "include": "$self"
2418
- }
2419
- ]
2420
- }
2421
- },
2422
- "contentName": "string.unquoted.heredoc.interpolated.perl",
2423
- "end": "^((?!\\5)\\s+)?((\\6))$",
2424
- "endCaptures": {
2425
- "2": {
2426
- "name": "string.unquoted.heredoc.interpolated.perl"
2427
- },
2428
- "3": {
2429
- "name": "punctuation.definition.string.end.perl"
2430
- }
2431
- },
2432
- "name": "meta.embedded.block.sql",
2433
- "patterns": [
2434
- {
2435
- "begin": "^",
2436
- "end": "\\n",
2437
- "name": "source.sql",
2438
- "patterns": [
2439
- {
2440
- "include": "#escaped_char"
2441
- },
2442
- {
2443
- "include": "#variable"
2444
- },
2445
- {
2446
- "include": "source.sql"
2447
- }
2448
- ]
2449
- }
2450
- ]
2451
- },
2452
- {
2453
- "begin": "((((<<(~)?) *)(POSTSCRIPT)()))(.*)\\n?",
2454
- "beginCaptures": {
2455
- "1": {
2456
- "name": "string.unquoted.heredoc.interpolated.perl"
2457
- },
2458
- "2": {
2459
- "name": "punctuation.definition.string.begin.perl"
2460
- },
2461
- "3": {
2462
- "name": "punctuation.definition.delimiter.begin.perl"
2463
- },
2464
- "7": {
2465
- "name": "punctuation.definition.delimiter.end.perl"
2466
- },
2467
- "8": {
2468
- "patterns": [
2469
- {
2470
- "include": "$self"
2471
- }
2472
- ]
2473
- }
2474
- },
2475
- "contentName": "string.unquoted.heredoc.interpolated.perl",
2476
- "end": "^((?!\\5)\\s+)?((\\6))$",
2477
- "endCaptures": {
2478
- "2": {
2479
- "name": "string.unquoted.heredoc.interpolated.perl"
2480
- },
2481
- "3": {
2482
- "name": "punctuation.definition.string.end.perl"
2483
- }
2484
- },
2485
- "name": "meta.embedded.block.postscript",
2486
- "patterns": [
2487
- {
2488
- "begin": "^",
2489
- "end": "\\n",
2490
- "name": "source.postscript",
2491
- "patterns": [
2492
- {
2493
- "include": "#escaped_char"
2494
- },
2495
- {
2496
- "include": "#variable"
2497
- },
2498
- {
2499
- "include": "source.postscript"
2500
- }
2501
- ]
2502
- }
2503
- ]
2504
- },
2505
- {
2506
- "begin": "((((<<(~)?) *)((?![=\\d\\$\\( ])[^;,'\"`\\s\\)]*)()))(.*)\\n?",
2507
- "beginCaptures": {
2508
- "1": {
2509
- "name": "string.unquoted.heredoc.interpolated.perl"
2510
- },
2511
- "2": {
2512
- "name": "punctuation.definition.string.begin.perl"
2513
- },
2514
- "3": {
2515
- "name": "punctuation.definition.delimiter.begin.perl"
2516
- },
2517
- "7": {
2518
- "name": "punctuation.definition.delimiter.end.perl"
2519
- },
2520
- "8": {
2521
- "patterns": [
2522
- {
2523
- "include": "$self"
2524
- }
2525
- ]
2526
- }
2527
- },
2528
- "contentName": "string.unquoted.heredoc.interpolated.perl",
2529
- "end": "^((?!\\5)\\s+)?((\\6))$",
2530
- "endCaptures": {
2531
- "2": {
2532
- "name": "string.unquoted.heredoc.interpolated.perl"
2533
- },
2534
- "3": {
2535
- "name": "punctuation.definition.string.end.perl"
2536
- }
2537
- },
2538
- "patterns": [
2539
- {
2540
- "include": "#escaped_char"
2541
- },
2542
- {
2543
- "include": "#variable"
2544
- }
2545
- ]
2546
- },
2547
- {
2548
- "begin": "((((<<(~)?) *`)([^`]*)(`)))(.*)\\n?",
2549
- "beginCaptures": {
2550
- "1": {
2551
- "name": "string.unquoted.heredoc.interpolated.perl"
2552
- },
2553
- "2": {
2554
- "name": "punctuation.definition.string.begin.perl"
2555
- },
2556
- "3": {
2557
- "name": "punctuation.definition.delimiter.begin.perl"
2558
- },
2559
- "7": {
2560
- "name": "punctuation.definition.delimiter.end.perl"
2561
- },
2562
- "8": {
2563
- "patterns": [
2564
- {
2565
- "include": "$self"
2566
- }
2567
- ]
2568
- }
2569
- },
2570
- "contentName": "string.unquoted.heredoc.shell.perl",
2571
- "end": "^((?!\\5)\\s+)?((\\6))$",
2572
- "endCaptures": {
2573
- "2": {
2574
- "name": "string.unquoted.heredoc.interpolated.perl"
2575
- },
2576
- "3": {
2577
- "name": "punctuation.definition.string.end.perl"
2578
- }
2579
- },
2580
- "patterns": [
2581
- {
2582
- "include": "#escaped_char"
2583
- },
2584
- {
2585
- "include": "#variable"
2586
- }
2587
- ]
2588
- }
2589
- ]
2590
- },
2591
- "line_comment": {
2592
- "patterns": [
2593
- {
2594
- "begin": "(^[ \\t]+)?(?=#)",
2595
- "beginCaptures": {
2596
- "1": {
2597
- "name": "punctuation.whitespace.comment.leading.perl"
2598
- }
2599
- },
2600
- "end": "(?!\\G)",
2601
- "patterns": [
2602
- {
2603
- "begin": "#",
2604
- "beginCaptures": {
2605
- "0": {
2606
- "name": "punctuation.definition.comment.perl"
2607
- }
2608
- },
2609
- "end": "\\n",
2610
- "name": "comment.line.number-sign.perl"
2611
- }
2612
- ]
2613
- }
2614
- ]
2615
- },
2616
- "nested_braces": {
2617
- "begin": "\\{",
2618
- "captures": {
2619
- "1": {
2620
- "name": "punctuation.section.scope.perl"
2621
- }
2622
- },
2623
- "end": "\\}",
2624
- "patterns": [
2625
- {
2626
- "include": "#escaped_char"
2627
- },
2628
- {
2629
- "include": "#nested_braces"
2630
- }
2631
- ]
2632
- },
2633
- "nested_braces_interpolated": {
2634
- "begin": "\\{",
2635
- "captures": {
2636
- "1": {
2637
- "name": "punctuation.section.scope.perl"
2638
- }
2639
- },
2640
- "end": "\\}",
2641
- "patterns": [
2642
- {
2643
- "include": "#escaped_char"
2644
- },
2645
- {
2646
- "include": "#variable"
2647
- },
2648
- {
2649
- "include": "#nested_braces_interpolated"
2650
- }
2651
- ]
2652
- },
2653
- "nested_brackets": {
2654
- "begin": "\\[",
2655
- "captures": {
2656
- "1": {
2657
- "name": "punctuation.section.scope.perl"
2658
- }
2659
- },
2660
- "end": "\\]",
2661
- "patterns": [
2662
- {
2663
- "include": "#escaped_char"
2664
- },
2665
- {
2666
- "include": "#nested_brackets"
2667
- }
2668
- ]
2669
- },
2670
- "nested_brackets_interpolated": {
2671
- "begin": "\\[",
2672
- "captures": {
2673
- "1": {
2674
- "name": "punctuation.section.scope.perl"
2675
- }
2676
- },
2677
- "end": "\\]",
2678
- "patterns": [
2679
- {
2680
- "include": "#escaped_char"
2681
- },
2682
- {
2683
- "include": "#variable"
2684
- },
2685
- {
2686
- "include": "#nested_brackets_interpolated"
2687
- }
2688
- ]
2689
- },
2690
- "nested_ltgt": {
2691
- "begin": "<",
2692
- "captures": {
2693
- "1": {
2694
- "name": "punctuation.section.scope.perl"
2695
- }
2696
- },
2697
- "end": ">",
2698
- "patterns": [
2699
- {
2700
- "include": "#nested_ltgt"
2701
- }
2702
- ]
2703
- },
2704
- "nested_ltgt_interpolated": {
2705
- "begin": "<",
2706
- "captures": {
2707
- "1": {
2708
- "name": "punctuation.section.scope.perl"
2709
- }
2710
- },
2711
- "end": ">",
2712
- "patterns": [
2713
- {
2714
- "include": "#variable"
2715
- },
2716
- {
2717
- "include": "#nested_ltgt_interpolated"
2718
- }
2719
- ]
2720
- },
2721
- "nested_parens": {
2722
- "begin": "\\(",
2723
- "captures": {
2724
- "1": {
2725
- "name": "punctuation.section.scope.perl"
2726
- }
2727
- },
2728
- "end": "\\)",
2729
- "patterns": [
2730
- {
2731
- "include": "#escaped_char"
2732
- },
2733
- {
2734
- "include": "#nested_parens"
2735
- }
2736
- ]
2737
- },
2738
- "nested_parens_interpolated": {
2739
- "begin": "\\(",
2740
- "captures": {
2741
- "1": {
2742
- "name": "punctuation.section.scope.perl"
2743
- }
2744
- },
2745
- "end": "\\)",
2746
- "patterns": [
2747
- {
2748
- "comment": "This is to prevent thinks like qr/foo$/ to treat $/ as a variable",
2749
- "match": "\\$(?=[^\\s\\w'\\{\\[\\(\\<])",
2750
- "name": "keyword.control.anchor.perl"
2751
- },
2752
- {
2753
- "include": "#escaped_char"
2754
- },
2755
- {
2756
- "include": "#variable"
2757
- },
2758
- {
2759
- "include": "#nested_parens_interpolated"
2760
- }
2761
- ]
2762
- },
2763
- "pod": {
2764
- "patterns": [
2765
- {
2766
- "match": "^=(pod|back|cut)\\b",
2767
- "name": "storage.type.class.pod.perl"
2768
- },
2769
- {
2770
- "begin": "^(=begin)\\s+(html)\\s*$",
2771
- "beginCaptures": {
2772
- "1": {
2773
- "name": "storage.type.class.pod.perl"
2774
- },
2775
- "2": {
2776
- "name": "variable.other.pod.perl"
2777
- }
2778
- },
2779
- "contentName": "text.embedded.html.basic",
2780
- "end": "^(=end)\\s+(html)|^(?==cut)",
2781
- "endCaptures": {
2782
- "1": {
2783
- "name": "storage.type.class.pod.perl"
2784
- },
2785
- "2": {
2786
- "name": "variable.other.pod.perl"
2787
- }
2788
- },
2789
- "name": "meta.embedded.pod.perl",
2790
- "patterns": [
2791
- {
2792
- "include": "text.html.basic"
2793
- }
2794
- ]
2795
- },
2796
- {
2797
- "captures": {
2798
- "1": {
2799
- "name": "storage.type.class.pod.perl"
2800
- },
2801
- "2": {
2802
- "name": "variable.other.pod.perl",
2803
- "patterns": [
2804
- {
2805
- "include": "#pod-formatting"
2806
- }
2807
- ]
2808
- }
2809
- },
2810
- "match": "^(=(?:head[1-4]|item|over|encoding|begin|end|for))\\b\\s*(.*)"
2811
- },
2812
- {
2813
- "include": "#pod-formatting"
2814
- }
2815
- ]
2816
- },
2817
- "pod-formatting": {
2818
- "patterns": [
2819
- {
2820
- "captures": {
2821
- "1": {
2822
- "name": "markup.italic.pod.perl"
2823
- },
2824
- "2": {
2825
- "name": "markup.italic.pod.perl"
2826
- }
2827
- },
2828
- "match": "I(?:<([^<>]+)>|<+(\\s+(?:(?<!\\s)>|[^>])+\\s+)>+)",
2829
- "name": "entity.name.type.instance.pod.perl"
2830
- },
2831
- {
2832
- "captures": {
2833
- "1": {
2834
- "name": "markup.bold.pod.perl"
2835
- },
2836
- "2": {
2837
- "name": "markup.bold.pod.perl"
2838
- }
2839
- },
2840
- "match": "B(?:<([^<>]+)>|<+(\\s+(?:(?<!\\s)>|[^>])+\\s+)>+)",
2841
- "name": "entity.name.type.instance.pod.perl"
2842
- },
2843
- {
2844
- "captures": {
2845
- "1": {
2846
- "name": "markup.raw.pod.perl"
2847
- },
2848
- "2": {
2849
- "name": "markup.raw.pod.perl"
2850
- }
2851
- },
2852
- "match": "C(?:<([^<>]+)>|<+(\\\\s+(?:(?<!\\\\s)>|[^>])+\\\\s+)>+)",
2853
- "name": "entity.name.type.instance.pod.perl"
2854
- },
2855
- {
2856
- "captures": {
2857
- "1": {
2858
- "name": "markup.underline.link.hyperlink.pod.perl"
2859
- }
2860
- },
2861
- "match": "L<([^>]+)>",
2862
- "name": "entity.name.type.instance.pod.perl"
2863
- },
2864
- {
2865
- "match": "[EFSXZ]<[^>]*>",
2866
- "name": "entity.name.type.instance.pod.perl"
2867
- }
2868
- ]
2869
- },
2870
- "variable": {
2871
- "patterns": [
2872
- {
2873
- "captures": {
2874
- "1": {
2875
- "name": "punctuation.definition.variable.perl"
2876
- }
2877
- },
2878
- "match": "(\\$)&(?![A-Za-z0-9_])",
2879
- "name": "variable.other.regexp.match.perl"
2880
- },
2881
- {
2882
- "captures": {
2883
- "1": {
2884
- "name": "punctuation.definition.variable.perl"
2885
- }
2886
- },
2887
- "match": "(\\$)`(?![A-Za-z0-9_])",
2888
- "name": "variable.other.regexp.pre-match.perl"
2889
- },
2890
- {
2891
- "captures": {
2892
- "1": {
2893
- "name": "punctuation.definition.variable.perl"
2894
- }
2895
- },
2896
- "match": "(\\$)'(?![A-Za-z0-9_])",
2897
- "name": "variable.other.regexp.post-match.perl"
2898
- },
2899
- {
2900
- "captures": {
2901
- "1": {
2902
- "name": "punctuation.definition.variable.perl"
2903
- }
2904
- },
2905
- "match": "(\\$)\\+(?![A-Za-z0-9_])",
2906
- "name": "variable.other.regexp.last-paren-match.perl"
2907
- },
2908
- {
2909
- "captures": {
2910
- "1": {
2911
- "name": "punctuation.definition.variable.perl"
2912
- }
2913
- },
2914
- "match": "(\\$)\"(?![A-Za-z0-9_])",
2915
- "name": "variable.other.readwrite.list-separator.perl"
2916
- },
2917
- {
2918
- "captures": {
2919
- "1": {
2920
- "name": "punctuation.definition.variable.perl"
2921
- }
2922
- },
2923
- "match": "(\\$)0(?![A-Za-z0-9_])",
2924
- "name": "variable.other.predefined.program-name.perl"
2925
- },
2926
- {
2927
- "captures": {
2928
- "1": {
2929
- "name": "punctuation.definition.variable.perl"
2930
- }
2931
- },
2932
- "match": "(\\$)[_ab\\*\\.\\/\\|,\\\\;#%=\\-~^:?!\\$<>\\(\\)\\[\\]@](?![A-Za-z0-9_])",
2933
- "name": "variable.other.predefined.perl"
2934
- },
2935
- {
2936
- "captures": {
2937
- "1": {
2938
- "name": "punctuation.definition.variable.perl"
2939
- }
2940
- },
2941
- "match": "(\\$)[0-9]+(?![A-Za-z0-9_])",
2942
- "name": "variable.other.subpattern.perl"
2943
- },
2944
- {
2945
- "captures": {
2946
- "1": {
2947
- "name": "punctuation.definition.variable.perl"
2948
- }
2949
- },
2950
- "match": "([\\$\\@\\%](#)?)([a-zA-Zx7f-xff\\$]|::)([a-zA-Z0-9_x7f-xff\\$]|::)*\\b",
2951
- "name": "variable.other.readwrite.global.perl"
2952
- },
2953
- {
2954
- "captures": {
2955
- "1": {
2956
- "name": "punctuation.definition.variable.perl"
2957
- },
2958
- "2": {
2959
- "name": "punctuation.definition.variable.perl"
2960
- }
2961
- },
2962
- "match": "(\\$\\{)(?:[a-zA-Zx7f-xff\\$]|::)(?:[a-zA-Z0-9_x7f-xff\\$]|::)*(\\})",
2963
- "name": "variable.other.readwrite.global.perl"
2964
- },
2965
- {
2966
- "captures": {
2967
- "1": {
2968
- "name": "punctuation.definition.variable.perl"
2969
- }
2970
- },
2971
- "match": "([\\$\\@\\%](#)?)[0-9_]\\b",
2972
- "name": "variable.other.readwrite.global.special.perl"
2973
- }
2974
- ]
2975
- }
2976
- }
2977
- }