Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/latex/syntaxes/markdown-latex-combined.tmLanguage.json
5272 views
1
{
2
"information_for_contributors": [
3
"This file has been converted from https://github.com/jlelong/vscode-latex-basics/blob/master/syntaxes/markdown-latex-combined.tmLanguage.json",
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/jlelong/vscode-latex-basics/commit/8795ab7e45ae21070a6914cb57d2f040fc49254f",
8
"name": "Markdown",
9
"scopeName": "text.tex.markdown_latex_combined",
10
"patterns": [
11
{
12
"include": "text.tex.latex"
13
},
14
{
15
"include": "#frontMatter"
16
},
17
{
18
"include": "#block"
19
}
20
],
21
"repository": {
22
"block": {
23
"patterns": [
24
{
25
"include": "#separator"
26
},
27
{
28
"include": "#heading"
29
},
30
{
31
"include": "#blockquote"
32
},
33
{
34
"include": "#lists"
35
},
36
{
37
"include": "#fenced_code_block"
38
},
39
{
40
"include": "#raw_block"
41
},
42
{
43
"include": "#link-def"
44
},
45
{
46
"include": "#html"
47
},
48
{
49
"include": "#table"
50
},
51
{
52
"include": "#paragraph"
53
}
54
]
55
},
56
"blockquote": {
57
"begin": "(^|\\G)[ ]{0,3}(>) ?",
58
"captures": {
59
"2": {
60
"name": "punctuation.definition.quote.begin.markdown"
61
}
62
},
63
"name": "markup.quote.markdown",
64
"patterns": [
65
{
66
"include": "#block"
67
}
68
],
69
"while": "(^|\\G)\\s*(>) ?"
70
},
71
"fenced_code_block_css": {
72
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(css|css.erb)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
73
"name": "markup.fenced_code.block.markdown",
74
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
75
"beginCaptures": {
76
"3": {
77
"name": "punctuation.definition.markdown"
78
},
79
"4": {
80
"name": "fenced_code.block.language.markdown"
81
},
82
"5": {
83
"name": "fenced_code.block.language.attributes.markdown"
84
}
85
},
86
"endCaptures": {
87
"3": {
88
"name": "punctuation.definition.markdown"
89
}
90
},
91
"patterns": [
92
{
93
"begin": "(^|\\G)(\\s*)(.*)",
94
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
95
"contentName": "meta.embedded.block.css",
96
"patterns": [
97
{
98
"include": "source.css"
99
}
100
]
101
}
102
]
103
},
104
"fenced_code_block_basic": {
105
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(html|htm|shtml|xhtml|inc|tmpl|tpl)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
106
"name": "markup.fenced_code.block.markdown",
107
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
108
"beginCaptures": {
109
"3": {
110
"name": "punctuation.definition.markdown"
111
},
112
"4": {
113
"name": "fenced_code.block.language.markdown"
114
},
115
"5": {
116
"name": "fenced_code.block.language.attributes.markdown"
117
}
118
},
119
"endCaptures": {
120
"3": {
121
"name": "punctuation.definition.markdown"
122
}
123
},
124
"patterns": [
125
{
126
"begin": "(^|\\G)(\\s*)(.*)",
127
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
128
"contentName": "meta.embedded.block.html",
129
"patterns": [
130
{
131
"include": "text.html.basic"
132
}
133
]
134
}
135
]
136
},
137
"fenced_code_block_ini": {
138
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(ini|conf)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
139
"name": "markup.fenced_code.block.markdown",
140
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
141
"beginCaptures": {
142
"3": {
143
"name": "punctuation.definition.markdown"
144
},
145
"4": {
146
"name": "fenced_code.block.language.markdown"
147
},
148
"5": {
149
"name": "fenced_code.block.language.attributes.markdown"
150
}
151
},
152
"endCaptures": {
153
"3": {
154
"name": "punctuation.definition.markdown"
155
}
156
},
157
"patterns": [
158
{
159
"begin": "(^|\\G)(\\s*)(.*)",
160
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
161
"contentName": "meta.embedded.block.ini",
162
"patterns": [
163
{
164
"include": "source.ini"
165
}
166
]
167
}
168
]
169
},
170
"fenced_code_block_java": {
171
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(java|bsh)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
172
"name": "markup.fenced_code.block.markdown",
173
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
174
"beginCaptures": {
175
"3": {
176
"name": "punctuation.definition.markdown"
177
},
178
"4": {
179
"name": "fenced_code.block.language.markdown"
180
},
181
"5": {
182
"name": "fenced_code.block.language.attributes.markdown"
183
}
184
},
185
"endCaptures": {
186
"3": {
187
"name": "punctuation.definition.markdown"
188
}
189
},
190
"patterns": [
191
{
192
"begin": "(^|\\G)(\\s*)(.*)",
193
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
194
"contentName": "meta.embedded.block.java",
195
"patterns": [
196
{
197
"include": "source.java"
198
}
199
]
200
}
201
]
202
},
203
"fenced_code_block_lua": {
204
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(lua)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
205
"name": "markup.fenced_code.block.markdown",
206
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
207
"beginCaptures": {
208
"3": {
209
"name": "punctuation.definition.markdown"
210
},
211
"4": {
212
"name": "fenced_code.block.language.markdown"
213
},
214
"5": {
215
"name": "fenced_code.block.language.attributes.markdown"
216
}
217
},
218
"endCaptures": {
219
"3": {
220
"name": "punctuation.definition.markdown"
221
}
222
},
223
"patterns": [
224
{
225
"begin": "(^|\\G)(\\s*)(.*)",
226
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
227
"contentName": "meta.embedded.block.lua",
228
"patterns": [
229
{
230
"include": "source.lua"
231
}
232
]
233
}
234
]
235
},
236
"fenced_code_block_makefile": {
237
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(Makefile|makefile|GNUmakefile|OCamlMakefile)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
238
"name": "markup.fenced_code.block.markdown",
239
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
240
"beginCaptures": {
241
"3": {
242
"name": "punctuation.definition.markdown"
243
},
244
"4": {
245
"name": "fenced_code.block.language.markdown"
246
},
247
"5": {
248
"name": "fenced_code.block.language.attributes.markdown"
249
}
250
},
251
"endCaptures": {
252
"3": {
253
"name": "punctuation.definition.markdown"
254
}
255
},
256
"patterns": [
257
{
258
"begin": "(^|\\G)(\\s*)(.*)",
259
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
260
"contentName": "meta.embedded.block.makefile",
261
"patterns": [
262
{
263
"include": "source.makefile"
264
}
265
]
266
}
267
]
268
},
269
"fenced_code_block_perl": {
270
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
271
"name": "markup.fenced_code.block.markdown",
272
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
273
"beginCaptures": {
274
"3": {
275
"name": "punctuation.definition.markdown"
276
},
277
"4": {
278
"name": "fenced_code.block.language.markdown"
279
},
280
"5": {
281
"name": "fenced_code.block.language.attributes.markdown"
282
}
283
},
284
"endCaptures": {
285
"3": {
286
"name": "punctuation.definition.markdown"
287
}
288
},
289
"patterns": [
290
{
291
"begin": "(^|\\G)(\\s*)(.*)",
292
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
293
"contentName": "meta.embedded.block.perl",
294
"patterns": [
295
{
296
"include": "source.perl"
297
}
298
]
299
}
300
]
301
},
302
"fenced_code_block_r": {
303
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(R|r|s|S|Rprofile|\\{\\.r.+?\\})((\\s+|:|,|\\{|\\?)[^`]*)?$)",
304
"name": "markup.fenced_code.block.markdown",
305
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
306
"beginCaptures": {
307
"3": {
308
"name": "punctuation.definition.markdown"
309
},
310
"4": {
311
"name": "fenced_code.block.language.markdown"
312
},
313
"5": {
314
"name": "fenced_code.block.language.attributes.markdown"
315
}
316
},
317
"endCaptures": {
318
"3": {
319
"name": "punctuation.definition.markdown"
320
}
321
},
322
"patterns": [
323
{
324
"begin": "(^|\\G)(\\s*)(.*)",
325
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
326
"contentName": "meta.embedded.block.r",
327
"patterns": [
328
{
329
"include": "source.r"
330
}
331
]
332
}
333
]
334
},
335
"fenced_code_block_ruby": {
336
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(ruby|rb|rbx|rjs|Rakefile|rake|cgi|fcgi|gemspec|irbrc|Capfile|ru|prawn|Cheffile|Gemfile|Guardfile|Hobofile|Vagrantfile|Appraisals|Rantfile|Berksfile|Berksfile.lock|Thorfile|Puppetfile)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
337
"name": "markup.fenced_code.block.markdown",
338
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
339
"beginCaptures": {
340
"3": {
341
"name": "punctuation.definition.markdown"
342
},
343
"4": {
344
"name": "fenced_code.block.language.markdown"
345
},
346
"5": {
347
"name": "fenced_code.block.language.attributes.markdown"
348
}
349
},
350
"endCaptures": {
351
"3": {
352
"name": "punctuation.definition.markdown"
353
}
354
},
355
"patterns": [
356
{
357
"begin": "(^|\\G)(\\s*)(.*)",
358
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
359
"contentName": "meta.embedded.block.ruby",
360
"patterns": [
361
{
362
"include": "source.ruby"
363
}
364
]
365
}
366
]
367
},
368
"fenced_code_block_php": {
369
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(php|php3|php4|php5|phpt|phtml|aw|ctp)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
370
"name": "markup.fenced_code.block.markdown",
371
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
372
"beginCaptures": {
373
"3": {
374
"name": "punctuation.definition.markdown"
375
},
376
"4": {
377
"name": "fenced_code.block.language.markdown"
378
},
379
"5": {
380
"name": "fenced_code.block.language.attributes.markdown"
381
}
382
},
383
"endCaptures": {
384
"3": {
385
"name": "punctuation.definition.markdown"
386
}
387
},
388
"patterns": [
389
{
390
"begin": "(^|\\G)(\\s*)(.*)",
391
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
392
"contentName": "meta.embedded.block.php",
393
"patterns": [
394
{
395
"include": "text.html.basic"
396
},
397
{
398
"include": "source.php"
399
}
400
]
401
}
402
]
403
},
404
"fenced_code_block_sql": {
405
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(sql|ddl|dml)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
406
"name": "markup.fenced_code.block.markdown",
407
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
408
"beginCaptures": {
409
"3": {
410
"name": "punctuation.definition.markdown"
411
},
412
"4": {
413
"name": "fenced_code.block.language.markdown"
414
},
415
"5": {
416
"name": "fenced_code.block.language.attributes.markdown"
417
}
418
},
419
"endCaptures": {
420
"3": {
421
"name": "punctuation.definition.markdown"
422
}
423
},
424
"patterns": [
425
{
426
"begin": "(^|\\G)(\\s*)(.*)",
427
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
428
"contentName": "meta.embedded.block.sql",
429
"patterns": [
430
{
431
"include": "source.sql"
432
}
433
]
434
}
435
]
436
},
437
"fenced_code_block_vs_net": {
438
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(vb)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
439
"name": "markup.fenced_code.block.markdown",
440
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
441
"beginCaptures": {
442
"3": {
443
"name": "punctuation.definition.markdown"
444
},
445
"4": {
446
"name": "fenced_code.block.language.markdown"
447
},
448
"5": {
449
"name": "fenced_code.block.language.attributes.markdown"
450
}
451
},
452
"endCaptures": {
453
"3": {
454
"name": "punctuation.definition.markdown"
455
}
456
},
457
"patterns": [
458
{
459
"begin": "(^|\\G)(\\s*)(.*)",
460
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
461
"contentName": "meta.embedded.block.vs_net",
462
"patterns": [
463
{
464
"include": "source.asp.vb.net"
465
}
466
]
467
}
468
]
469
},
470
"fenced_code_block_xml": {
471
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
472
"name": "markup.fenced_code.block.markdown",
473
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
474
"beginCaptures": {
475
"3": {
476
"name": "punctuation.definition.markdown"
477
},
478
"4": {
479
"name": "fenced_code.block.language.markdown"
480
},
481
"5": {
482
"name": "fenced_code.block.language.attributes.markdown"
483
}
484
},
485
"endCaptures": {
486
"3": {
487
"name": "punctuation.definition.markdown"
488
}
489
},
490
"patterns": [
491
{
492
"begin": "(^|\\G)(\\s*)(.*)",
493
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
494
"contentName": "meta.embedded.block.xml",
495
"patterns": [
496
{
497
"include": "text.xml"
498
}
499
]
500
}
501
]
502
},
503
"fenced_code_block_xsl": {
504
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(xsl|xslt)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
505
"name": "markup.fenced_code.block.markdown",
506
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
507
"beginCaptures": {
508
"3": {
509
"name": "punctuation.definition.markdown"
510
},
511
"4": {
512
"name": "fenced_code.block.language.markdown"
513
},
514
"5": {
515
"name": "fenced_code.block.language.attributes.markdown"
516
}
517
},
518
"endCaptures": {
519
"3": {
520
"name": "punctuation.definition.markdown"
521
}
522
},
523
"patterns": [
524
{
525
"begin": "(^|\\G)(\\s*)(.*)",
526
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
527
"contentName": "meta.embedded.block.xsl",
528
"patterns": [
529
{
530
"include": "text.xml.xsl"
531
}
532
]
533
}
534
]
535
},
536
"fenced_code_block_yaml": {
537
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(yaml|yml)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
538
"name": "markup.fenced_code.block.markdown",
539
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
540
"beginCaptures": {
541
"3": {
542
"name": "punctuation.definition.markdown"
543
},
544
"4": {
545
"name": "fenced_code.block.language.markdown"
546
},
547
"5": {
548
"name": "fenced_code.block.language.attributes.markdown"
549
}
550
},
551
"endCaptures": {
552
"3": {
553
"name": "punctuation.definition.markdown"
554
}
555
},
556
"patterns": [
557
{
558
"begin": "(^|\\G)(\\s*)(.*)",
559
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
560
"contentName": "meta.embedded.block.yaml",
561
"patterns": [
562
{
563
"include": "source.yaml"
564
}
565
]
566
}
567
]
568
},
569
"fenced_code_block_dosbatch": {
570
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(bat|batch)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
571
"name": "markup.fenced_code.block.markdown",
572
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
573
"beginCaptures": {
574
"3": {
575
"name": "punctuation.definition.markdown"
576
},
577
"4": {
578
"name": "fenced_code.block.language.markdown"
579
},
580
"5": {
581
"name": "fenced_code.block.language.attributes.markdown"
582
}
583
},
584
"endCaptures": {
585
"3": {
586
"name": "punctuation.definition.markdown"
587
}
588
},
589
"patterns": [
590
{
591
"begin": "(^|\\G)(\\s*)(.*)",
592
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
593
"contentName": "meta.embedded.block.dosbatch",
594
"patterns": [
595
{
596
"include": "source.batchfile"
597
}
598
]
599
}
600
]
601
},
602
"fenced_code_block_clojure": {
603
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(clj|cljs|clojure)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
604
"name": "markup.fenced_code.block.markdown",
605
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
606
"beginCaptures": {
607
"3": {
608
"name": "punctuation.definition.markdown"
609
},
610
"4": {
611
"name": "fenced_code.block.language.markdown"
612
},
613
"5": {
614
"name": "fenced_code.block.language.attributes.markdown"
615
}
616
},
617
"endCaptures": {
618
"3": {
619
"name": "punctuation.definition.markdown"
620
}
621
},
622
"patterns": [
623
{
624
"begin": "(^|\\G)(\\s*)(.*)",
625
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
626
"contentName": "meta.embedded.block.clojure",
627
"patterns": [
628
{
629
"include": "source.clojure"
630
}
631
]
632
}
633
]
634
},
635
"fenced_code_block_coffee": {
636
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(coffee|Cakefile|coffee.erb)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
637
"name": "markup.fenced_code.block.markdown",
638
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
639
"beginCaptures": {
640
"3": {
641
"name": "punctuation.definition.markdown"
642
},
643
"4": {
644
"name": "fenced_code.block.language.markdown"
645
},
646
"5": {
647
"name": "fenced_code.block.language.attributes.markdown"
648
}
649
},
650
"endCaptures": {
651
"3": {
652
"name": "punctuation.definition.markdown"
653
}
654
},
655
"patterns": [
656
{
657
"begin": "(^|\\G)(\\s*)(.*)",
658
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
659
"contentName": "meta.embedded.block.coffee",
660
"patterns": [
661
{
662
"include": "source.coffee"
663
}
664
]
665
}
666
]
667
},
668
"fenced_code_block_c": {
669
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(c|h)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
670
"name": "markup.fenced_code.block.markdown",
671
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
672
"beginCaptures": {
673
"3": {
674
"name": "punctuation.definition.markdown"
675
},
676
"4": {
677
"name": "fenced_code.block.language.markdown"
678
},
679
"5": {
680
"name": "fenced_code.block.language.attributes.markdown"
681
}
682
},
683
"endCaptures": {
684
"3": {
685
"name": "punctuation.definition.markdown"
686
}
687
},
688
"patterns": [
689
{
690
"begin": "(^|\\G)(\\s*)(.*)",
691
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
692
"contentName": "meta.embedded.block.c",
693
"patterns": [
694
{
695
"include": "source.c"
696
}
697
]
698
}
699
]
700
},
701
"fenced_code_block_cpp": {
702
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(cpp|c\\+\\+|cxx)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
703
"name": "markup.fenced_code.block.markdown",
704
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
705
"beginCaptures": {
706
"3": {
707
"name": "punctuation.definition.markdown"
708
},
709
"4": {
710
"name": "fenced_code.block.language.markdown"
711
},
712
"5": {
713
"name": "fenced_code.block.language.attributes.markdown"
714
}
715
},
716
"endCaptures": {
717
"3": {
718
"name": "punctuation.definition.markdown"
719
}
720
},
721
"patterns": [
722
{
723
"begin": "(^|\\G)(\\s*)(.*)",
724
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
725
"contentName": "meta.embedded.block.cpp source.cpp",
726
"patterns": [
727
{
728
"include": "source.cpp"
729
}
730
]
731
}
732
]
733
},
734
"fenced_code_block_diff": {
735
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(patch|diff|rej)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
736
"name": "markup.fenced_code.block.markdown",
737
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
738
"beginCaptures": {
739
"3": {
740
"name": "punctuation.definition.markdown"
741
},
742
"4": {
743
"name": "fenced_code.block.language.markdown"
744
},
745
"5": {
746
"name": "fenced_code.block.language.attributes.markdown"
747
}
748
},
749
"endCaptures": {
750
"3": {
751
"name": "punctuation.definition.markdown"
752
}
753
},
754
"patterns": [
755
{
756
"begin": "(^|\\G)(\\s*)(.*)",
757
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
758
"contentName": "meta.embedded.block.diff",
759
"patterns": [
760
{
761
"include": "source.diff"
762
}
763
]
764
}
765
]
766
},
767
"fenced_code_block_dockerfile": {
768
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(dockerfile|Dockerfile)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
769
"name": "markup.fenced_code.block.markdown",
770
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
771
"beginCaptures": {
772
"3": {
773
"name": "punctuation.definition.markdown"
774
},
775
"4": {
776
"name": "fenced_code.block.language.markdown"
777
},
778
"5": {
779
"name": "fenced_code.block.language.attributes.markdown"
780
}
781
},
782
"endCaptures": {
783
"3": {
784
"name": "punctuation.definition.markdown"
785
}
786
},
787
"patterns": [
788
{
789
"begin": "(^|\\G)(\\s*)(.*)",
790
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
791
"contentName": "meta.embedded.block.dockerfile",
792
"patterns": [
793
{
794
"include": "source.dockerfile"
795
}
796
]
797
}
798
]
799
},
800
"fenced_code_block_git_commit": {
801
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(COMMIT_EDITMSG|MERGE_MSG)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
802
"name": "markup.fenced_code.block.markdown",
803
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
804
"beginCaptures": {
805
"3": {
806
"name": "punctuation.definition.markdown"
807
},
808
"4": {
809
"name": "fenced_code.block.language.markdown"
810
},
811
"5": {
812
"name": "fenced_code.block.language.attributes.markdown"
813
}
814
},
815
"endCaptures": {
816
"3": {
817
"name": "punctuation.definition.markdown"
818
}
819
},
820
"patterns": [
821
{
822
"begin": "(^|\\G)(\\s*)(.*)",
823
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
824
"contentName": "meta.embedded.block.git_commit",
825
"patterns": [
826
{
827
"include": "text.git-commit"
828
}
829
]
830
}
831
]
832
},
833
"fenced_code_block_git_rebase": {
834
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(git-rebase-todo)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
835
"name": "markup.fenced_code.block.markdown",
836
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
837
"beginCaptures": {
838
"3": {
839
"name": "punctuation.definition.markdown"
840
},
841
"4": {
842
"name": "fenced_code.block.language.markdown"
843
},
844
"5": {
845
"name": "fenced_code.block.language.attributes.markdown"
846
}
847
},
848
"endCaptures": {
849
"3": {
850
"name": "punctuation.definition.markdown"
851
}
852
},
853
"patterns": [
854
{
855
"begin": "(^|\\G)(\\s*)(.*)",
856
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
857
"contentName": "meta.embedded.block.git_rebase",
858
"patterns": [
859
{
860
"include": "text.git-rebase"
861
}
862
]
863
}
864
]
865
},
866
"fenced_code_block_go": {
867
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(go|golang)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
868
"name": "markup.fenced_code.block.markdown",
869
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
870
"beginCaptures": {
871
"3": {
872
"name": "punctuation.definition.markdown"
873
},
874
"4": {
875
"name": "fenced_code.block.language.markdown"
876
},
877
"5": {
878
"name": "fenced_code.block.language.attributes.markdown"
879
}
880
},
881
"endCaptures": {
882
"3": {
883
"name": "punctuation.definition.markdown"
884
}
885
},
886
"patterns": [
887
{
888
"begin": "(^|\\G)(\\s*)(.*)",
889
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
890
"contentName": "meta.embedded.block.go",
891
"patterns": [
892
{
893
"include": "source.go"
894
}
895
]
896
}
897
]
898
},
899
"fenced_code_block_groovy": {
900
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(groovy|gvy)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
901
"name": "markup.fenced_code.block.markdown",
902
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
903
"beginCaptures": {
904
"3": {
905
"name": "punctuation.definition.markdown"
906
},
907
"4": {
908
"name": "fenced_code.block.language.markdown"
909
},
910
"5": {
911
"name": "fenced_code.block.language.attributes.markdown"
912
}
913
},
914
"endCaptures": {
915
"3": {
916
"name": "punctuation.definition.markdown"
917
}
918
},
919
"patterns": [
920
{
921
"begin": "(^|\\G)(\\s*)(.*)",
922
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
923
"contentName": "meta.embedded.block.groovy",
924
"patterns": [
925
{
926
"include": "source.groovy"
927
}
928
]
929
}
930
]
931
},
932
"fenced_code_block_pug": {
933
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(jade|pug)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
934
"name": "markup.fenced_code.block.markdown",
935
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
936
"beginCaptures": {
937
"3": {
938
"name": "punctuation.definition.markdown"
939
},
940
"4": {
941
"name": "fenced_code.block.language.markdown"
942
},
943
"5": {
944
"name": "fenced_code.block.language.attributes.markdown"
945
}
946
},
947
"endCaptures": {
948
"3": {
949
"name": "punctuation.definition.markdown"
950
}
951
},
952
"patterns": [
953
{
954
"begin": "(^|\\G)(\\s*)(.*)",
955
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
956
"contentName": "meta.embedded.block.pug",
957
"patterns": [
958
{
959
"include": "text.pug"
960
}
961
]
962
}
963
]
964
},
965
"fenced_code_block_ignore": {
966
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(gitignore|ignore)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
967
"name": "markup.fenced_code.block.markdown",
968
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
969
"beginCaptures": {
970
"3": {
971
"name": "punctuation.definition.markdown"
972
},
973
"4": {
974
"name": "fenced_code.block.language.markdown"
975
},
976
"5": {
977
"name": "fenced_code.block.language.attributes.markdown"
978
}
979
},
980
"endCaptures": {
981
"3": {
982
"name": "punctuation.definition.markdown"
983
}
984
},
985
"patterns": [
986
{
987
"begin": "(^|\\G)(\\s*)(.*)",
988
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
989
"contentName": "meta.embedded.block.ignore",
990
"patterns": [
991
{
992
"include": "source.ignore"
993
}
994
]
995
}
996
]
997
},
998
"fenced_code_block_js": {
999
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(js|jsx|javascript|es6|mjs|cjs|dataviewjs|\\{\\.js.+?\\})((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1000
"name": "markup.fenced_code.block.markdown",
1001
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1002
"beginCaptures": {
1003
"3": {
1004
"name": "punctuation.definition.markdown"
1005
},
1006
"4": {
1007
"name": "fenced_code.block.language.markdown"
1008
},
1009
"5": {
1010
"name": "fenced_code.block.language.attributes.markdown"
1011
}
1012
},
1013
"endCaptures": {
1014
"3": {
1015
"name": "punctuation.definition.markdown"
1016
}
1017
},
1018
"patterns": [
1019
{
1020
"begin": "(^|\\G)(\\s*)(.*)",
1021
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1022
"contentName": "meta.embedded.block.javascript",
1023
"patterns": [
1024
{
1025
"include": "source.js"
1026
}
1027
]
1028
}
1029
]
1030
},
1031
"fenced_code_block_js_regexp": {
1032
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(regexp)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1033
"name": "markup.fenced_code.block.markdown",
1034
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1035
"beginCaptures": {
1036
"3": {
1037
"name": "punctuation.definition.markdown"
1038
},
1039
"4": {
1040
"name": "fenced_code.block.language.markdown"
1041
},
1042
"5": {
1043
"name": "fenced_code.block.language.attributes.markdown"
1044
}
1045
},
1046
"endCaptures": {
1047
"3": {
1048
"name": "punctuation.definition.markdown"
1049
}
1050
},
1051
"patterns": [
1052
{
1053
"begin": "(^|\\G)(\\s*)(.*)",
1054
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1055
"contentName": "meta.embedded.block.js_regexp",
1056
"patterns": [
1057
{
1058
"include": "source.js.regexp"
1059
}
1060
]
1061
}
1062
]
1063
},
1064
"fenced_code_block_json": {
1065
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(json|json5|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1066
"name": "markup.fenced_code.block.markdown",
1067
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1068
"beginCaptures": {
1069
"3": {
1070
"name": "punctuation.definition.markdown"
1071
},
1072
"4": {
1073
"name": "fenced_code.block.language.markdown"
1074
},
1075
"5": {
1076
"name": "fenced_code.block.language.attributes.markdown"
1077
}
1078
},
1079
"endCaptures": {
1080
"3": {
1081
"name": "punctuation.definition.markdown"
1082
}
1083
},
1084
"patterns": [
1085
{
1086
"begin": "(^|\\G)(\\s*)(.*)",
1087
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1088
"contentName": "meta.embedded.block.json",
1089
"patterns": [
1090
{
1091
"include": "source.json"
1092
}
1093
]
1094
}
1095
]
1096
},
1097
"fenced_code_block_jsonc": {
1098
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(jsonc)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1099
"name": "markup.fenced_code.block.markdown",
1100
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1101
"beginCaptures": {
1102
"3": {
1103
"name": "punctuation.definition.markdown"
1104
},
1105
"4": {
1106
"name": "fenced_code.block.language.markdown"
1107
},
1108
"5": {
1109
"name": "fenced_code.block.language.attributes.markdown"
1110
}
1111
},
1112
"endCaptures": {
1113
"3": {
1114
"name": "punctuation.definition.markdown"
1115
}
1116
},
1117
"patterns": [
1118
{
1119
"begin": "(^|\\G)(\\s*)(.*)",
1120
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1121
"contentName": "meta.embedded.block.jsonc",
1122
"patterns": [
1123
{
1124
"include": "source.json.comments"
1125
}
1126
]
1127
}
1128
]
1129
},
1130
"fenced_code_block_jsonl": {
1131
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(jsonl|jsonlines)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1132
"name": "markup.fenced_code.block.markdown",
1133
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1134
"beginCaptures": {
1135
"3": {
1136
"name": "punctuation.definition.markdown"
1137
},
1138
"4": {
1139
"name": "fenced_code.block.language.markdown"
1140
},
1141
"5": {
1142
"name": "fenced_code.block.language.attributes.markdown"
1143
}
1144
},
1145
"endCaptures": {
1146
"3": {
1147
"name": "punctuation.definition.markdown"
1148
}
1149
},
1150
"patterns": [
1151
{
1152
"begin": "(^|\\G)(\\s*)(.*)",
1153
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1154
"contentName": "meta.embedded.block.jsonl",
1155
"patterns": [
1156
{
1157
"include": "source.json.lines"
1158
}
1159
]
1160
}
1161
]
1162
},
1163
"fenced_code_block_less": {
1164
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(less)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1165
"name": "markup.fenced_code.block.markdown",
1166
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1167
"beginCaptures": {
1168
"3": {
1169
"name": "punctuation.definition.markdown"
1170
},
1171
"4": {
1172
"name": "fenced_code.block.language.markdown"
1173
},
1174
"5": {
1175
"name": "fenced_code.block.language.attributes.markdown"
1176
}
1177
},
1178
"endCaptures": {
1179
"3": {
1180
"name": "punctuation.definition.markdown"
1181
}
1182
},
1183
"patterns": [
1184
{
1185
"begin": "(^|\\G)(\\s*)(.*)",
1186
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1187
"contentName": "meta.embedded.block.less",
1188
"patterns": [
1189
{
1190
"include": "source.css.less"
1191
}
1192
]
1193
}
1194
]
1195
},
1196
"fenced_code_block_objc": {
1197
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(objectivec|objective-c|mm|objc|obj-c|m|h)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1198
"name": "markup.fenced_code.block.markdown",
1199
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1200
"beginCaptures": {
1201
"3": {
1202
"name": "punctuation.definition.markdown"
1203
},
1204
"4": {
1205
"name": "fenced_code.block.language.markdown"
1206
},
1207
"5": {
1208
"name": "fenced_code.block.language.attributes.markdown"
1209
}
1210
},
1211
"endCaptures": {
1212
"3": {
1213
"name": "punctuation.definition.markdown"
1214
}
1215
},
1216
"patterns": [
1217
{
1218
"begin": "(^|\\G)(\\s*)(.*)",
1219
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1220
"contentName": "meta.embedded.block.objc",
1221
"patterns": [
1222
{
1223
"include": "source.objc"
1224
}
1225
]
1226
}
1227
]
1228
},
1229
"fenced_code_block_swift": {
1230
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(swift)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1231
"name": "markup.fenced_code.block.markdown",
1232
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1233
"beginCaptures": {
1234
"3": {
1235
"name": "punctuation.definition.markdown"
1236
},
1237
"4": {
1238
"name": "fenced_code.block.language.markdown"
1239
},
1240
"5": {
1241
"name": "fenced_code.block.language.attributes.markdown"
1242
}
1243
},
1244
"endCaptures": {
1245
"3": {
1246
"name": "punctuation.definition.markdown"
1247
}
1248
},
1249
"patterns": [
1250
{
1251
"begin": "(^|\\G)(\\s*)(.*)",
1252
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1253
"contentName": "meta.embedded.block.swift",
1254
"patterns": [
1255
{
1256
"include": "source.swift"
1257
}
1258
]
1259
}
1260
]
1261
},
1262
"fenced_code_block_scss": {
1263
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(scss)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1264
"name": "markup.fenced_code.block.markdown",
1265
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1266
"beginCaptures": {
1267
"3": {
1268
"name": "punctuation.definition.markdown"
1269
},
1270
"4": {
1271
"name": "fenced_code.block.language.markdown"
1272
},
1273
"5": {
1274
"name": "fenced_code.block.language.attributes.markdown"
1275
}
1276
},
1277
"endCaptures": {
1278
"3": {
1279
"name": "punctuation.definition.markdown"
1280
}
1281
},
1282
"patterns": [
1283
{
1284
"begin": "(^|\\G)(\\s*)(.*)",
1285
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1286
"contentName": "meta.embedded.block.scss",
1287
"patterns": [
1288
{
1289
"include": "source.css.scss"
1290
}
1291
]
1292
}
1293
]
1294
},
1295
"fenced_code_block_perl6": {
1296
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(perl6|p6|pl6|pm6|nqp)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1297
"name": "markup.fenced_code.block.markdown",
1298
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1299
"beginCaptures": {
1300
"3": {
1301
"name": "punctuation.definition.markdown"
1302
},
1303
"4": {
1304
"name": "fenced_code.block.language.markdown"
1305
},
1306
"5": {
1307
"name": "fenced_code.block.language.attributes.markdown"
1308
}
1309
},
1310
"endCaptures": {
1311
"3": {
1312
"name": "punctuation.definition.markdown"
1313
}
1314
},
1315
"patterns": [
1316
{
1317
"begin": "(^|\\G)(\\s*)(.*)",
1318
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1319
"contentName": "meta.embedded.block.perl6",
1320
"patterns": [
1321
{
1322
"include": "source.perl.6"
1323
}
1324
]
1325
}
1326
]
1327
},
1328
"fenced_code_block_powershell": {
1329
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(powershell|ps1|psm1|psd1|pwsh)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1330
"name": "markup.fenced_code.block.markdown",
1331
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1332
"beginCaptures": {
1333
"3": {
1334
"name": "punctuation.definition.markdown"
1335
},
1336
"4": {
1337
"name": "fenced_code.block.language.markdown"
1338
},
1339
"5": {
1340
"name": "fenced_code.block.language.attributes.markdown"
1341
}
1342
},
1343
"endCaptures": {
1344
"3": {
1345
"name": "punctuation.definition.markdown"
1346
}
1347
},
1348
"patterns": [
1349
{
1350
"begin": "(^|\\G)(\\s*)(.*)",
1351
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1352
"contentName": "meta.embedded.block.powershell",
1353
"patterns": [
1354
{
1355
"include": "source.powershell"
1356
}
1357
]
1358
}
1359
]
1360
},
1361
"fenced_code_block_python": {
1362
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(python|py|py3|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gyp|gypi|\\{\\.python.+?\\})((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1363
"name": "markup.fenced_code.block.markdown",
1364
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1365
"beginCaptures": {
1366
"3": {
1367
"name": "punctuation.definition.markdown"
1368
},
1369
"4": {
1370
"name": "fenced_code.block.language.markdown"
1371
},
1372
"5": {
1373
"name": "fenced_code.block.language.attributes.markdown"
1374
}
1375
},
1376
"endCaptures": {
1377
"3": {
1378
"name": "punctuation.definition.markdown"
1379
}
1380
},
1381
"patterns": [
1382
{
1383
"begin": "(^|\\G)(\\s*)(.*)",
1384
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1385
"contentName": "meta.embedded.block.python",
1386
"patterns": [
1387
{
1388
"include": "source.python"
1389
}
1390
]
1391
}
1392
]
1393
},
1394
"fenced_code_block_julia": {
1395
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(julia|\\{\\.julia.+?\\})((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1396
"name": "markup.fenced_code.block.markdown",
1397
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1398
"beginCaptures": {
1399
"3": {
1400
"name": "punctuation.definition.markdown"
1401
},
1402
"4": {
1403
"name": "fenced_code.block.language.markdown"
1404
},
1405
"5": {
1406
"name": "fenced_code.block.language.attributes.markdown"
1407
}
1408
},
1409
"endCaptures": {
1410
"3": {
1411
"name": "punctuation.definition.markdown"
1412
}
1413
},
1414
"patterns": [
1415
{
1416
"begin": "(^|\\G)(\\s*)(.*)",
1417
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1418
"contentName": "meta.embedded.block.julia",
1419
"patterns": [
1420
{
1421
"include": "source.julia"
1422
}
1423
]
1424
}
1425
]
1426
},
1427
"fenced_code_block_regexp_python": {
1428
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(re)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1429
"name": "markup.fenced_code.block.markdown",
1430
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1431
"beginCaptures": {
1432
"3": {
1433
"name": "punctuation.definition.markdown"
1434
},
1435
"4": {
1436
"name": "fenced_code.block.language.markdown"
1437
},
1438
"5": {
1439
"name": "fenced_code.block.language.attributes.markdown"
1440
}
1441
},
1442
"endCaptures": {
1443
"3": {
1444
"name": "punctuation.definition.markdown"
1445
}
1446
},
1447
"patterns": [
1448
{
1449
"begin": "(^|\\G)(\\s*)(.*)",
1450
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1451
"contentName": "meta.embedded.block.regexp_python",
1452
"patterns": [
1453
{
1454
"include": "source.regexp.python"
1455
}
1456
]
1457
}
1458
]
1459
},
1460
"fenced_code_block_rust": {
1461
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(rust|rs|\\{\\.rust.+?\\})((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1462
"name": "markup.fenced_code.block.markdown",
1463
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1464
"beginCaptures": {
1465
"3": {
1466
"name": "punctuation.definition.markdown"
1467
},
1468
"4": {
1469
"name": "fenced_code.block.language.markdown"
1470
},
1471
"5": {
1472
"name": "fenced_code.block.language.attributes.markdown"
1473
}
1474
},
1475
"endCaptures": {
1476
"3": {
1477
"name": "punctuation.definition.markdown"
1478
}
1479
},
1480
"patterns": [
1481
{
1482
"begin": "(^|\\G)(\\s*)(.*)",
1483
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1484
"contentName": "meta.embedded.block.rust",
1485
"patterns": [
1486
{
1487
"include": "source.rust"
1488
}
1489
]
1490
}
1491
]
1492
},
1493
"fenced_code_block_scala": {
1494
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(scala|sbt)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1495
"name": "markup.fenced_code.block.markdown",
1496
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1497
"beginCaptures": {
1498
"3": {
1499
"name": "punctuation.definition.markdown"
1500
},
1501
"4": {
1502
"name": "fenced_code.block.language.markdown"
1503
},
1504
"5": {
1505
"name": "fenced_code.block.language.attributes.markdown"
1506
}
1507
},
1508
"endCaptures": {
1509
"3": {
1510
"name": "punctuation.definition.markdown"
1511
}
1512
},
1513
"patterns": [
1514
{
1515
"begin": "(^|\\G)(\\s*)(.*)",
1516
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1517
"contentName": "meta.embedded.block.scala",
1518
"patterns": [
1519
{
1520
"include": "source.scala"
1521
}
1522
]
1523
}
1524
]
1525
},
1526
"fenced_code_block_shell": {
1527
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\{\\.bash.+?\\})((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1528
"name": "markup.fenced_code.block.markdown",
1529
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1530
"beginCaptures": {
1531
"3": {
1532
"name": "punctuation.definition.markdown"
1533
},
1534
"4": {
1535
"name": "fenced_code.block.language.markdown"
1536
},
1537
"5": {
1538
"name": "fenced_code.block.language.attributes.markdown"
1539
}
1540
},
1541
"endCaptures": {
1542
"3": {
1543
"name": "punctuation.definition.markdown"
1544
}
1545
},
1546
"patterns": [
1547
{
1548
"begin": "(^|\\G)(\\s*)(.*)",
1549
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1550
"contentName": "meta.embedded.block.shellscript",
1551
"patterns": [
1552
{
1553
"include": "source.shell"
1554
}
1555
]
1556
}
1557
]
1558
},
1559
"fenced_code_block_ts": {
1560
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(typescript|ts)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1561
"name": "markup.fenced_code.block.markdown",
1562
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1563
"beginCaptures": {
1564
"3": {
1565
"name": "punctuation.definition.markdown"
1566
},
1567
"4": {
1568
"name": "fenced_code.block.language.markdown"
1569
},
1570
"5": {
1571
"name": "fenced_code.block.language.attributes.markdown"
1572
}
1573
},
1574
"endCaptures": {
1575
"3": {
1576
"name": "punctuation.definition.markdown"
1577
}
1578
},
1579
"patterns": [
1580
{
1581
"begin": "(^|\\G)(\\s*)(.*)",
1582
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1583
"contentName": "meta.embedded.block.typescript",
1584
"patterns": [
1585
{
1586
"include": "source.ts"
1587
}
1588
]
1589
}
1590
]
1591
},
1592
"fenced_code_block_tsx": {
1593
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(tsx)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1594
"name": "markup.fenced_code.block.markdown",
1595
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1596
"beginCaptures": {
1597
"3": {
1598
"name": "punctuation.definition.markdown"
1599
},
1600
"4": {
1601
"name": "fenced_code.block.language.markdown"
1602
},
1603
"5": {
1604
"name": "fenced_code.block.language.attributes.markdown"
1605
}
1606
},
1607
"endCaptures": {
1608
"3": {
1609
"name": "punctuation.definition.markdown"
1610
}
1611
},
1612
"patterns": [
1613
{
1614
"begin": "(^|\\G)(\\s*)(.*)",
1615
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1616
"contentName": "meta.embedded.block.typescriptreact",
1617
"patterns": [
1618
{
1619
"include": "source.tsx"
1620
}
1621
]
1622
}
1623
]
1624
},
1625
"fenced_code_block_csharp": {
1626
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(cs|csharp|c#)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1627
"name": "markup.fenced_code.block.markdown",
1628
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1629
"beginCaptures": {
1630
"3": {
1631
"name": "punctuation.definition.markdown"
1632
},
1633
"4": {
1634
"name": "fenced_code.block.language.markdown"
1635
},
1636
"5": {
1637
"name": "fenced_code.block.language.attributes.markdown"
1638
}
1639
},
1640
"endCaptures": {
1641
"3": {
1642
"name": "punctuation.definition.markdown"
1643
}
1644
},
1645
"patterns": [
1646
{
1647
"begin": "(^|\\G)(\\s*)(.*)",
1648
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1649
"contentName": "meta.embedded.block.csharp",
1650
"patterns": [
1651
{
1652
"include": "source.cs"
1653
}
1654
]
1655
}
1656
]
1657
},
1658
"fenced_code_block_fsharp": {
1659
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(fs|fsharp|f#)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1660
"name": "markup.fenced_code.block.markdown",
1661
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1662
"beginCaptures": {
1663
"3": {
1664
"name": "punctuation.definition.markdown"
1665
},
1666
"4": {
1667
"name": "fenced_code.block.language.markdown"
1668
},
1669
"5": {
1670
"name": "fenced_code.block.language.attributes.markdown"
1671
}
1672
},
1673
"endCaptures": {
1674
"3": {
1675
"name": "punctuation.definition.markdown"
1676
}
1677
},
1678
"patterns": [
1679
{
1680
"begin": "(^|\\G)(\\s*)(.*)",
1681
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1682
"contentName": "meta.embedded.block.fsharp",
1683
"patterns": [
1684
{
1685
"include": "source.fsharp"
1686
}
1687
]
1688
}
1689
]
1690
},
1691
"fenced_code_block_dart": {
1692
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(dart)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1693
"name": "markup.fenced_code.block.markdown",
1694
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1695
"beginCaptures": {
1696
"3": {
1697
"name": "punctuation.definition.markdown"
1698
},
1699
"4": {
1700
"name": "fenced_code.block.language.markdown"
1701
},
1702
"5": {
1703
"name": "fenced_code.block.language.attributes.markdown"
1704
}
1705
},
1706
"endCaptures": {
1707
"3": {
1708
"name": "punctuation.definition.markdown"
1709
}
1710
},
1711
"patterns": [
1712
{
1713
"begin": "(^|\\G)(\\s*)(.*)",
1714
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1715
"contentName": "meta.embedded.block.dart",
1716
"patterns": [
1717
{
1718
"include": "source.dart"
1719
}
1720
]
1721
}
1722
]
1723
},
1724
"fenced_code_block_handlebars": {
1725
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(handlebars|hbs)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1726
"name": "markup.fenced_code.block.markdown",
1727
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1728
"beginCaptures": {
1729
"3": {
1730
"name": "punctuation.definition.markdown"
1731
},
1732
"4": {
1733
"name": "fenced_code.block.language.markdown"
1734
},
1735
"5": {
1736
"name": "fenced_code.block.language.attributes.markdown"
1737
}
1738
},
1739
"endCaptures": {
1740
"3": {
1741
"name": "punctuation.definition.markdown"
1742
}
1743
},
1744
"patterns": [
1745
{
1746
"begin": "(^|\\G)(\\s*)(.*)",
1747
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1748
"contentName": "meta.embedded.block.handlebars",
1749
"patterns": [
1750
{
1751
"include": "text.html.handlebars"
1752
}
1753
]
1754
}
1755
]
1756
},
1757
"fenced_code_block_markdown": {
1758
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(markdown|md)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1759
"name": "markup.fenced_code.block.markdown",
1760
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1761
"beginCaptures": {
1762
"3": {
1763
"name": "punctuation.definition.markdown"
1764
},
1765
"4": {
1766
"name": "fenced_code.block.language.markdown"
1767
},
1768
"5": {
1769
"name": "fenced_code.block.language.attributes.markdown"
1770
}
1771
},
1772
"endCaptures": {
1773
"3": {
1774
"name": "punctuation.definition.markdown"
1775
}
1776
},
1777
"patterns": [
1778
{
1779
"begin": "(^|\\G)(\\s*)(.*)",
1780
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1781
"contentName": "meta.embedded.block.markdown",
1782
"patterns": [
1783
{
1784
"include": "text.html.markdown"
1785
}
1786
]
1787
}
1788
]
1789
},
1790
"fenced_code_block_log": {
1791
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(log)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1792
"name": "markup.fenced_code.block.markdown",
1793
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1794
"beginCaptures": {
1795
"3": {
1796
"name": "punctuation.definition.markdown"
1797
},
1798
"4": {
1799
"name": "fenced_code.block.language.markdown"
1800
},
1801
"5": {
1802
"name": "fenced_code.block.language.attributes.markdown"
1803
}
1804
},
1805
"endCaptures": {
1806
"3": {
1807
"name": "punctuation.definition.markdown"
1808
}
1809
},
1810
"patterns": [
1811
{
1812
"begin": "(^|\\G)(\\s*)(.*)",
1813
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1814
"contentName": "meta.embedded.block.log",
1815
"patterns": [
1816
{
1817
"include": "text.log"
1818
}
1819
]
1820
}
1821
]
1822
},
1823
"fenced_code_block_erlang": {
1824
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(erlang)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1825
"name": "markup.fenced_code.block.markdown",
1826
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1827
"beginCaptures": {
1828
"3": {
1829
"name": "punctuation.definition.markdown"
1830
},
1831
"4": {
1832
"name": "fenced_code.block.language.markdown"
1833
},
1834
"5": {
1835
"name": "fenced_code.block.language.attributes.markdown"
1836
}
1837
},
1838
"endCaptures": {
1839
"3": {
1840
"name": "punctuation.definition.markdown"
1841
}
1842
},
1843
"patterns": [
1844
{
1845
"begin": "(^|\\G)(\\s*)(.*)",
1846
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1847
"contentName": "meta.embedded.block.erlang",
1848
"patterns": [
1849
{
1850
"include": "source.erlang"
1851
}
1852
]
1853
}
1854
]
1855
},
1856
"fenced_code_block_elixir": {
1857
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(elixir)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1858
"name": "markup.fenced_code.block.markdown",
1859
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1860
"beginCaptures": {
1861
"3": {
1862
"name": "punctuation.definition.markdown"
1863
},
1864
"4": {
1865
"name": "fenced_code.block.language.markdown"
1866
},
1867
"5": {
1868
"name": "fenced_code.block.language.attributes.markdown"
1869
}
1870
},
1871
"endCaptures": {
1872
"3": {
1873
"name": "punctuation.definition.markdown"
1874
}
1875
},
1876
"patterns": [
1877
{
1878
"begin": "(^|\\G)(\\s*)(.*)",
1879
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1880
"contentName": "meta.embedded.block.elixir",
1881
"patterns": [
1882
{
1883
"include": "source.elixir"
1884
}
1885
]
1886
}
1887
]
1888
},
1889
"fenced_code_block_latex": {
1890
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(latex|tex)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1891
"name": "markup.fenced_code.block.markdown",
1892
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1893
"beginCaptures": {
1894
"3": {
1895
"name": "punctuation.definition.markdown"
1896
},
1897
"4": {
1898
"name": "fenced_code.block.language.markdown"
1899
},
1900
"5": {
1901
"name": "fenced_code.block.language.attributes.markdown"
1902
}
1903
},
1904
"endCaptures": {
1905
"3": {
1906
"name": "punctuation.definition.markdown"
1907
}
1908
},
1909
"patterns": [
1910
{
1911
"begin": "(^|\\G)(\\s*)(.*)",
1912
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1913
"contentName": "meta.embedded.block.latex",
1914
"patterns": [
1915
{
1916
"include": "text.tex.latex"
1917
}
1918
]
1919
}
1920
]
1921
},
1922
"fenced_code_block_bibtex": {
1923
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(bibtex)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1924
"name": "markup.fenced_code.block.markdown",
1925
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1926
"beginCaptures": {
1927
"3": {
1928
"name": "punctuation.definition.markdown"
1929
},
1930
"4": {
1931
"name": "fenced_code.block.language.markdown"
1932
},
1933
"5": {
1934
"name": "fenced_code.block.language.attributes.markdown"
1935
}
1936
},
1937
"endCaptures": {
1938
"3": {
1939
"name": "punctuation.definition.markdown"
1940
}
1941
},
1942
"patterns": [
1943
{
1944
"begin": "(^|\\G)(\\s*)(.*)",
1945
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1946
"contentName": "meta.embedded.block.bibtex",
1947
"patterns": [
1948
{
1949
"include": "text.bibtex"
1950
}
1951
]
1952
}
1953
]
1954
},
1955
"fenced_code_block_twig": {
1956
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(twig)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1957
"name": "markup.fenced_code.block.markdown",
1958
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1959
"beginCaptures": {
1960
"3": {
1961
"name": "punctuation.definition.markdown"
1962
},
1963
"4": {
1964
"name": "fenced_code.block.language.markdown"
1965
},
1966
"5": {
1967
"name": "fenced_code.block.language.attributes.markdown"
1968
}
1969
},
1970
"endCaptures": {
1971
"3": {
1972
"name": "punctuation.definition.markdown"
1973
}
1974
},
1975
"patterns": [
1976
{
1977
"begin": "(^|\\G)(\\s*)(.*)",
1978
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
1979
"contentName": "meta.embedded.block.twig",
1980
"patterns": [
1981
{
1982
"include": "source.twig"
1983
}
1984
]
1985
}
1986
]
1987
},
1988
"fenced_code_block_yang": {
1989
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(yang)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
1990
"name": "markup.fenced_code.block.markdown",
1991
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
1992
"beginCaptures": {
1993
"3": {
1994
"name": "punctuation.definition.markdown"
1995
},
1996
"4": {
1997
"name": "fenced_code.block.language.markdown"
1998
},
1999
"5": {
2000
"name": "fenced_code.block.language.attributes.markdown"
2001
}
2002
},
2003
"endCaptures": {
2004
"3": {
2005
"name": "punctuation.definition.markdown"
2006
}
2007
},
2008
"patterns": [
2009
{
2010
"begin": "(^|\\G)(\\s*)(.*)",
2011
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
2012
"contentName": "meta.embedded.block.yang",
2013
"patterns": [
2014
{
2015
"include": "source.yang"
2016
}
2017
]
2018
}
2019
]
2020
},
2021
"fenced_code_block_abap": {
2022
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(abap)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
2023
"name": "markup.fenced_code.block.markdown",
2024
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
2025
"beginCaptures": {
2026
"3": {
2027
"name": "punctuation.definition.markdown"
2028
},
2029
"4": {
2030
"name": "fenced_code.block.language.markdown"
2031
},
2032
"5": {
2033
"name": "fenced_code.block.language.attributes.markdown"
2034
}
2035
},
2036
"endCaptures": {
2037
"3": {
2038
"name": "punctuation.definition.markdown"
2039
}
2040
},
2041
"patterns": [
2042
{
2043
"begin": "(^|\\G)(\\s*)(.*)",
2044
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
2045
"contentName": "meta.embedded.block.abap",
2046
"patterns": [
2047
{
2048
"include": "source.abap"
2049
}
2050
]
2051
}
2052
]
2053
},
2054
"fenced_code_block_restructuredtext": {
2055
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(restructuredtext|rst)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
2056
"name": "markup.fenced_code.block.markdown",
2057
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
2058
"beginCaptures": {
2059
"3": {
2060
"name": "punctuation.definition.markdown"
2061
},
2062
"4": {
2063
"name": "fenced_code.block.language.markdown"
2064
},
2065
"5": {
2066
"name": "fenced_code.block.language.attributes.markdown"
2067
}
2068
},
2069
"endCaptures": {
2070
"3": {
2071
"name": "punctuation.definition.markdown"
2072
}
2073
},
2074
"patterns": [
2075
{
2076
"begin": "(^|\\G)(\\s*)(.*)",
2077
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
2078
"contentName": "meta.embedded.block.restructuredtext",
2079
"patterns": [
2080
{
2081
"include": "source.rst"
2082
}
2083
]
2084
}
2085
]
2086
},
2087
"fenced_code_block": {
2088
"patterns": [
2089
{
2090
"include": "#fenced_code_block_css"
2091
},
2092
{
2093
"include": "#fenced_code_block_basic"
2094
},
2095
{
2096
"include": "#fenced_code_block_ini"
2097
},
2098
{
2099
"include": "#fenced_code_block_java"
2100
},
2101
{
2102
"include": "#fenced_code_block_lua"
2103
},
2104
{
2105
"include": "#fenced_code_block_makefile"
2106
},
2107
{
2108
"include": "#fenced_code_block_perl"
2109
},
2110
{
2111
"include": "#fenced_code_block_r"
2112
},
2113
{
2114
"include": "#fenced_code_block_ruby"
2115
},
2116
{
2117
"include": "#fenced_code_block_php"
2118
},
2119
{
2120
"include": "#fenced_code_block_sql"
2121
},
2122
{
2123
"include": "#fenced_code_block_vs_net"
2124
},
2125
{
2126
"include": "#fenced_code_block_xml"
2127
},
2128
{
2129
"include": "#fenced_code_block_xsl"
2130
},
2131
{
2132
"include": "#fenced_code_block_yaml"
2133
},
2134
{
2135
"include": "#fenced_code_block_dosbatch"
2136
},
2137
{
2138
"include": "#fenced_code_block_clojure"
2139
},
2140
{
2141
"include": "#fenced_code_block_coffee"
2142
},
2143
{
2144
"include": "#fenced_code_block_c"
2145
},
2146
{
2147
"include": "#fenced_code_block_cpp"
2148
},
2149
{
2150
"include": "#fenced_code_block_diff"
2151
},
2152
{
2153
"include": "#fenced_code_block_dockerfile"
2154
},
2155
{
2156
"include": "#fenced_code_block_git_commit"
2157
},
2158
{
2159
"include": "#fenced_code_block_git_rebase"
2160
},
2161
{
2162
"include": "#fenced_code_block_go"
2163
},
2164
{
2165
"include": "#fenced_code_block_groovy"
2166
},
2167
{
2168
"include": "#fenced_code_block_pug"
2169
},
2170
{
2171
"include": "#fenced_code_block_ignore"
2172
},
2173
{
2174
"include": "#fenced_code_block_js"
2175
},
2176
{
2177
"include": "#fenced_code_block_js_regexp"
2178
},
2179
{
2180
"include": "#fenced_code_block_json"
2181
},
2182
{
2183
"include": "#fenced_code_block_jsonc"
2184
},
2185
{
2186
"include": "#fenced_code_block_jsonl"
2187
},
2188
{
2189
"include": "#fenced_code_block_less"
2190
},
2191
{
2192
"include": "#fenced_code_block_objc"
2193
},
2194
{
2195
"include": "#fenced_code_block_swift"
2196
},
2197
{
2198
"include": "#fenced_code_block_scss"
2199
},
2200
{
2201
"include": "#fenced_code_block_perl6"
2202
},
2203
{
2204
"include": "#fenced_code_block_powershell"
2205
},
2206
{
2207
"include": "#fenced_code_block_python"
2208
},
2209
{
2210
"include": "#fenced_code_block_julia"
2211
},
2212
{
2213
"include": "#fenced_code_block_regexp_python"
2214
},
2215
{
2216
"include": "#fenced_code_block_rust"
2217
},
2218
{
2219
"include": "#fenced_code_block_scala"
2220
},
2221
{
2222
"include": "#fenced_code_block_shell"
2223
},
2224
{
2225
"include": "#fenced_code_block_ts"
2226
},
2227
{
2228
"include": "#fenced_code_block_tsx"
2229
},
2230
{
2231
"include": "#fenced_code_block_csharp"
2232
},
2233
{
2234
"include": "#fenced_code_block_fsharp"
2235
},
2236
{
2237
"include": "#fenced_code_block_dart"
2238
},
2239
{
2240
"include": "#fenced_code_block_handlebars"
2241
},
2242
{
2243
"include": "#fenced_code_block_markdown"
2244
},
2245
{
2246
"include": "#fenced_code_block_log"
2247
},
2248
{
2249
"include": "#fenced_code_block_erlang"
2250
},
2251
{
2252
"include": "#fenced_code_block_elixir"
2253
},
2254
{
2255
"include": "#fenced_code_block_latex"
2256
},
2257
{
2258
"include": "#fenced_code_block_bibtex"
2259
},
2260
{
2261
"include": "#fenced_code_block_twig"
2262
},
2263
{
2264
"include": "#fenced_code_block_yang"
2265
},
2266
{
2267
"include": "#fenced_code_block_abap"
2268
},
2269
{
2270
"include": "#fenced_code_block_restructuredtext"
2271
},
2272
{
2273
"include": "#fenced_code_block_unknown"
2274
}
2275
]
2276
},
2277
"fenced_code_block_unknown": {
2278
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?=([^`]*)?$)",
2279
"beginCaptures": {
2280
"3": {
2281
"name": "punctuation.definition.markdown"
2282
},
2283
"4": {
2284
"name": "fenced_code.block.language"
2285
}
2286
},
2287
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
2288
"endCaptures": {
2289
"3": {
2290
"name": "punctuation.definition.markdown"
2291
}
2292
},
2293
"name": "markup.fenced_code.block.markdown"
2294
},
2295
"heading": {
2296
"match": "(?:^|\\G)[ ]{0,3}(#{1,6}\\s+(.*?)(\\s+#{1,6})?\\s*)$",
2297
"captures": {
2298
"1": {
2299
"patterns": [
2300
{
2301
"match": "(#{6})\\s+(.*?)(?:\\s+(#+))?\\s*$",
2302
"name": "heading.6.markdown",
2303
"captures": {
2304
"1": {
2305
"name": "punctuation.definition.heading.markdown"
2306
},
2307
"2": {
2308
"name": "entity.name.section.markdown",
2309
"patterns": [
2310
{
2311
"include": "#inline"
2312
},
2313
{
2314
"include": "text.html.derivative"
2315
}
2316
]
2317
},
2318
"3": {
2319
"name": "punctuation.definition.heading.markdown"
2320
}
2321
}
2322
},
2323
{
2324
"match": "(#{5})\\s+(.*?)(?:\\s+(#+))?\\s*$",
2325
"name": "heading.5.markdown",
2326
"captures": {
2327
"1": {
2328
"name": "punctuation.definition.heading.markdown"
2329
},
2330
"2": {
2331
"name": "entity.name.section.markdown",
2332
"patterns": [
2333
{
2334
"include": "#inline"
2335
},
2336
{
2337
"include": "text.html.derivative"
2338
}
2339
]
2340
},
2341
"3": {
2342
"name": "punctuation.definition.heading.markdown"
2343
}
2344
}
2345
},
2346
{
2347
"match": "(#{4})\\s+(.*?)(?:\\s+(#+))?\\s*$",
2348
"name": "heading.4.markdown",
2349
"captures": {
2350
"1": {
2351
"name": "punctuation.definition.heading.markdown"
2352
},
2353
"2": {
2354
"name": "entity.name.section.markdown",
2355
"patterns": [
2356
{
2357
"include": "#inline"
2358
},
2359
{
2360
"include": "text.html.derivative"
2361
}
2362
]
2363
},
2364
"3": {
2365
"name": "punctuation.definition.heading.markdown"
2366
}
2367
}
2368
},
2369
{
2370
"match": "(#{3})\\s+(.*?)(?:\\s+(#+))?\\s*$",
2371
"name": "heading.3.markdown",
2372
"captures": {
2373
"1": {
2374
"name": "punctuation.definition.heading.markdown"
2375
},
2376
"2": {
2377
"name": "entity.name.section.markdown",
2378
"patterns": [
2379
{
2380
"include": "#inline"
2381
},
2382
{
2383
"include": "text.html.derivative"
2384
}
2385
]
2386
},
2387
"3": {
2388
"name": "punctuation.definition.heading.markdown"
2389
}
2390
}
2391
},
2392
{
2393
"match": "(#{2})\\s+(.*?)(?:\\s+(#+))?\\s*$",
2394
"name": "heading.2.markdown",
2395
"captures": {
2396
"1": {
2397
"name": "punctuation.definition.heading.markdown"
2398
},
2399
"2": {
2400
"name": "entity.name.section.markdown",
2401
"patterns": [
2402
{
2403
"include": "#inline"
2404
},
2405
{
2406
"include": "text.html.derivative"
2407
}
2408
]
2409
},
2410
"3": {
2411
"name": "punctuation.definition.heading.markdown"
2412
}
2413
}
2414
},
2415
{
2416
"match": "(#{1})\\s+(.*?)(?:\\s+(#+))?\\s*$",
2417
"name": "heading.1.markdown",
2418
"captures": {
2419
"1": {
2420
"name": "punctuation.definition.heading.markdown"
2421
},
2422
"2": {
2423
"name": "entity.name.section.markdown",
2424
"patterns": [
2425
{
2426
"include": "#inline"
2427
},
2428
{
2429
"include": "text.html.derivative"
2430
}
2431
]
2432
},
2433
"3": {
2434
"name": "punctuation.definition.heading.markdown"
2435
}
2436
}
2437
}
2438
]
2439
}
2440
},
2441
"name": "markup.heading.markdown"
2442
},
2443
"heading-setext": {
2444
"patterns": [
2445
{
2446
"match": "^(={3,})(?=[ \\t]*$\\n?)",
2447
"name": "markup.heading.setext.1.markdown"
2448
},
2449
{
2450
"match": "^(-{3,})(?=[ \\t]*$\\n?)",
2451
"name": "markup.heading.setext.2.markdown"
2452
}
2453
]
2454
},
2455
"html": {
2456
"patterns": [
2457
{
2458
"begin": "(^|\\G)\\s*(<!--)",
2459
"captures": {
2460
"1": {
2461
"name": "punctuation.definition.comment.html"
2462
},
2463
"2": {
2464
"name": "punctuation.definition.comment.html"
2465
}
2466
},
2467
"end": "(-->)",
2468
"name": "comment.block.html"
2469
},
2470
{
2471
"begin": "(?i)(^|\\G)\\s*(?=<(script|style|pre)(\\s|$|>)(?!.*?</(script|style|pre)>))",
2472
"end": "(?i)(.*)((</)(script|style|pre)(>))",
2473
"endCaptures": {
2474
"1": {
2475
"patterns": [
2476
{
2477
"include": "text.html.derivative"
2478
}
2479
]
2480
},
2481
"2": {
2482
"name": "meta.tag.structure.$4.end.html"
2483
},
2484
"3": {
2485
"name": "punctuation.definition.tag.begin.html"
2486
},
2487
"4": {
2488
"name": "entity.name.tag.html"
2489
},
2490
"5": {
2491
"name": "punctuation.definition.tag.end.html"
2492
}
2493
},
2494
"patterns": [
2495
{
2496
"begin": "(\\s*|$)",
2497
"patterns": [
2498
{
2499
"include": "text.html.derivative"
2500
}
2501
],
2502
"while": "(?i)^(?!.*</(script|style|pre)>)"
2503
}
2504
]
2505
},
2506
{
2507
"begin": "(?i)(^|\\G)\\s*(?=</?[a-zA-Z]+[^\\s/&gt;]*(\\s|$|/?>))",
2508
"patterns": [
2509
{
2510
"include": "text.html.derivative"
2511
}
2512
],
2513
"while": "^(?!\\s*$)"
2514
},
2515
{
2516
"begin": "(^|\\G)\\s*(?=(<[a-zA-Z0-9\\-](/?>|\\s.*?>)|</[a-zA-Z0-9\\-]>)\\s*$)",
2517
"patterns": [
2518
{
2519
"include": "text.html.derivative"
2520
}
2521
],
2522
"while": "^(?!\\s*$)"
2523
}
2524
]
2525
},
2526
"link-def": {
2527
"captures": {
2528
"1": {
2529
"name": "punctuation.definition.constant.markdown"
2530
},
2531
"2": {
2532
"name": "constant.other.reference.link.markdown"
2533
},
2534
"3": {
2535
"name": "punctuation.definition.constant.markdown"
2536
},
2537
"4": {
2538
"name": "punctuation.separator.key-value.markdown"
2539
},
2540
"5": {
2541
"name": "punctuation.definition.link.markdown"
2542
},
2543
"6": {
2544
"name": "markup.underline.link.markdown"
2545
},
2546
"7": {
2547
"name": "punctuation.definition.link.markdown"
2548
},
2549
"8": {
2550
"name": "markup.underline.link.markdown"
2551
},
2552
"9": {
2553
"name": "string.other.link.description.title.markdown"
2554
},
2555
"10": {
2556
"name": "punctuation.definition.string.begin.markdown"
2557
},
2558
"11": {
2559
"name": "punctuation.definition.string.end.markdown"
2560
},
2561
"12": {
2562
"name": "string.other.link.description.title.markdown"
2563
},
2564
"13": {
2565
"name": "punctuation.definition.string.begin.markdown"
2566
},
2567
"14": {
2568
"name": "punctuation.definition.string.end.markdown"
2569
},
2570
"15": {
2571
"name": "string.other.link.description.title.markdown"
2572
},
2573
"16": {
2574
"name": "punctuation.definition.string.begin.markdown"
2575
},
2576
"17": {
2577
"name": "punctuation.definition.string.end.markdown"
2578
}
2579
},
2580
"match": "(?x)\n \\s* # Leading whitespace\n (\\[)([^]]+?)(\\])(:) # Reference name\n [ \\t]* # Optional whitespace\n (?:(<)((?:\\\\[<>]|[^<>\\n])*)(>)|(\\S+?)) # The url\n [ \\t]* # Optional whitespace\n (?:\n ((\\().+?(\\))) # Match title in parens…\n | ((\").+?(\")) # or in double quotes…\n | ((').+?(')) # or in single quotes.\n )? # Title is optional\n \\s* # Optional whitespace\n $\n",
2581
"name": "meta.link.reference.def.markdown"
2582
},
2583
"list_paragraph": {
2584
"begin": "(^|\\G)(?=\\S)(?![*+->]\\s|[0-9]+\\.\\s)",
2585
"name": "meta.paragraph.markdown",
2586
"patterns": [
2587
{
2588
"include": "#inline"
2589
},
2590
{
2591
"include": "text.html.derivative"
2592
},
2593
{
2594
"include": "#heading-setext"
2595
}
2596
],
2597
"while": "(^|\\G)(?!\\s*$|#|[ ]{0,3}([-*_>][ ]{2,}){3,}[ \\t]*$\\n?|[ ]{0,3}[*+->]|[ ]{0,3}[0-9]+\\.)"
2598
},
2599
"lists": {
2600
"patterns": [
2601
{
2602
"begin": "(^|\\G)([ ]{0,3})([*+-])([ \\t])",
2603
"beginCaptures": {
2604
"3": {
2605
"name": "punctuation.definition.list.begin.markdown"
2606
}
2607
},
2608
"comment": "Currently does not support un-indented second lines.",
2609
"name": "markup.list.unnumbered.markdown",
2610
"patterns": [
2611
{
2612
"include": "#block"
2613
},
2614
{
2615
"include": "#list_paragraph"
2616
}
2617
],
2618
"while": "((^|\\G)([ ]{2,4}|\\t))|(^[ \\t]*$)"
2619
},
2620
{
2621
"begin": "(^|\\G)([ ]{0,3})([0-9]+[\\.\\)])([ \\t])",
2622
"beginCaptures": {
2623
"3": {
2624
"name": "punctuation.definition.list.begin.markdown"
2625
}
2626
},
2627
"name": "markup.list.numbered.markdown",
2628
"patterns": [
2629
{
2630
"include": "#block"
2631
},
2632
{
2633
"include": "#list_paragraph"
2634
}
2635
],
2636
"while": "((^|\\G)([ ]{2,4}|\\t))|(^[ \\t]*$)"
2637
}
2638
]
2639
},
2640
"paragraph": {
2641
"begin": "(^|\\G)[ ]{0,3}(?=[^ \\t\\n])",
2642
"name": "meta.paragraph.markdown",
2643
"patterns": [
2644
{
2645
"include": "#inline"
2646
},
2647
{
2648
"include": "text.html.derivative"
2649
},
2650
{
2651
"include": "#heading-setext"
2652
}
2653
],
2654
"while": "(^|\\G)((?=\\s*[-=]{3,}\\s*$)|[ ]{4,}(?=[^ \\t\\n]))"
2655
},
2656
"raw_block": {
2657
"begin": "(^|\\G)([ ]{4}|\\t)",
2658
"name": "markup.raw.block.markdown",
2659
"while": "(^|\\G)([ ]{4}|\\t)"
2660
},
2661
"separator": {
2662
"match": "(^|\\G)[ ]{0,3}([\\*\\-\\_])([ ]{0,2}\\2){2,}[ \\t]*$\\n?",
2663
"name": "meta.separator.markdown"
2664
},
2665
"frontMatter": {
2666
"begin": "\\A(?=(-{3,}))",
2667
"end": "^ {,3}\\1-*[ \\t]*$|^[ \\t]*\\.{3}$",
2668
"applyEndPatternLast": 1,
2669
"endCaptures": {
2670
"0": {
2671
"name": "punctuation.definition.end.frontmatter"
2672
}
2673
},
2674
"patterns": [
2675
{
2676
"begin": "\\A(-{3,})(.*)$",
2677
"while": "^(?! {,3}\\1-*[ \\t]*$|[ \\t]*\\.{3}$)",
2678
"beginCaptures": {
2679
"1": {
2680
"name": "punctuation.definition.begin.frontmatter"
2681
},
2682
"2": {
2683
"name": "comment.frontmatter"
2684
}
2685
},
2686
"contentName": "meta.embedded.block.frontmatter",
2687
"patterns": [
2688
{
2689
"include": "source.yaml"
2690
}
2691
]
2692
}
2693
]
2694
},
2695
"table": {
2696
"name": "markup.table.markdown",
2697
"begin": "(^|\\G)(\\|)(?=[^|].+\\|\\s*$)",
2698
"beginCaptures": {
2699
"2": {
2700
"name": "punctuation.definition.table.markdown"
2701
}
2702
},
2703
"while": "(^|\\G)(?=\\|)",
2704
"patterns": [
2705
{
2706
"match": "\\|",
2707
"name": "punctuation.definition.table.markdown"
2708
},
2709
{
2710
"match": "(?<=\\|)\\s*(:?-+:?)\\s*(?=\\|)",
2711
"captures": {
2712
"1": {
2713
"name": "punctuation.separator.table.markdown"
2714
}
2715
}
2716
},
2717
{
2718
"match": "(?<=\\|)\\s*(?=\\S)((\\\\\\||[^|])+)(?<=\\S)\\s*(?=\\|)",
2719
"captures": {
2720
"1": {
2721
"patterns": [
2722
{
2723
"include": "#inline"
2724
}
2725
]
2726
}
2727
}
2728
}
2729
]
2730
},
2731
"inline": {
2732
"patterns": [
2733
{
2734
"include": "text.tex.latex"
2735
},
2736
{
2737
"include": "#ampersand"
2738
},
2739
{
2740
"include": "#bracket"
2741
},
2742
{
2743
"include": "#bold"
2744
},
2745
{
2746
"include": "#italic"
2747
},
2748
{
2749
"include": "#raw"
2750
},
2751
{
2752
"include": "#strikethrough"
2753
},
2754
{
2755
"include": "#escape"
2756
},
2757
{
2758
"include": "#image-inline"
2759
},
2760
{
2761
"include": "#image-ref"
2762
},
2763
{
2764
"include": "#link-email"
2765
},
2766
{
2767
"include": "#link-inet"
2768
},
2769
{
2770
"include": "#link-inline"
2771
},
2772
{
2773
"include": "#link-ref"
2774
},
2775
{
2776
"include": "#link-ref-literal"
2777
},
2778
{
2779
"include": "#link-ref-shortcut"
2780
}
2781
]
2782
},
2783
"ampersand": {
2784
"comment": "Markdown will convert this for us. We match it so that the HTML grammar will not mark it up as invalid.",
2785
"match": "&(?!([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+);)",
2786
"name": "meta.other.valid-ampersand.markdown"
2787
},
2788
"bold": {
2789
"begin": "(?x) (?<open>(\\*\\*(?=\\w)|(?<!\\w)\\*\\*|(?<!\\w)\\b__))(?=\\S) (?=\n (\n <[^>]*+> # HTML tags\n | (?<raw>`+)([^`]|(?!(?<!`)\\k<raw>(?!`))`)*+\\k<raw>\n # Raw\n | \\\\[\\\\`*_{}\\[\\]()#.!+\\->]?+ # Escapes\n | \\[\n (\n (?<square> # Named group\n [^\\[\\]\\\\] # Match most chars\n | \\\\. # Escaped chars\n | \\[ \\g<square>*+ \\] # Nested brackets\n )*+\n \\]\n (\n ( # Reference Link\n [ ]? # Optional space\n \\[[^\\]]*+\\] # Ref name\n )\n | ( # Inline Link\n \\( # Opening paren\n [ \\t]*+ # Optional whitespace\n <?(.*?)>? # URL\n [ \\t]*+ # Optional whitespace\n ( # Optional Title\n (?<title>['\"])\n (.*?)\n \\k<title>\n )?\n \\)\n )\n )\n )\n | (?!(?<=\\S)\\k<open>). # Everything besides\n # style closer\n )++\n (?<=\\S)(?=__\\b|\\*\\*)\\k<open> # Close\n)\n",
2790
"captures": {
2791
"1": {
2792
"name": "punctuation.definition.bold.markdown"
2793
}
2794
},
2795
"end": "(?<=\\S)(\\1)",
2796
"name": "markup.bold.markdown",
2797
"patterns": [
2798
{
2799
"applyEndPatternLast": 1,
2800
"begin": "(?=<[^>]*?>)",
2801
"end": "(?<=>)",
2802
"patterns": [
2803
{
2804
"include": "text.html.derivative"
2805
}
2806
]
2807
},
2808
{
2809
"include": "#escape"
2810
},
2811
{
2812
"include": "#ampersand"
2813
},
2814
{
2815
"include": "#bracket"
2816
},
2817
{
2818
"include": "#raw"
2819
},
2820
{
2821
"include": "#bold"
2822
},
2823
{
2824
"include": "#italic"
2825
},
2826
{
2827
"include": "#image-inline"
2828
},
2829
{
2830
"include": "#link-inline"
2831
},
2832
{
2833
"include": "#link-inet"
2834
},
2835
{
2836
"include": "#link-email"
2837
},
2838
{
2839
"include": "#image-ref"
2840
},
2841
{
2842
"include": "#link-ref-literal"
2843
},
2844
{
2845
"include": "#link-ref"
2846
},
2847
{
2848
"include": "#link-ref-shortcut"
2849
},
2850
{
2851
"include": "#strikethrough"
2852
}
2853
]
2854
},
2855
"bracket": {
2856
"comment": "Markdown will convert this for us. We match it so that the HTML grammar will not mark it up as invalid.",
2857
"match": "<(?![a-zA-Z/?\\$!])",
2858
"name": "meta.other.valid-bracket.markdown"
2859
},
2860
"escape": {
2861
"match": "\\\\[-`*_#+.!(){}\\[\\]\\\\>]",
2862
"name": "constant.character.escape.markdown"
2863
},
2864
"image-inline": {
2865
"captures": {
2866
"1": {
2867
"name": "punctuation.definition.link.description.begin.markdown"
2868
},
2869
"2": {
2870
"name": "string.other.link.description.markdown"
2871
},
2872
"4": {
2873
"name": "punctuation.definition.link.description.end.markdown"
2874
},
2875
"5": {
2876
"name": "punctuation.definition.metadata.markdown"
2877
},
2878
"7": {
2879
"name": "punctuation.definition.link.markdown"
2880
},
2881
"8": {
2882
"name": "markup.underline.link.image.markdown"
2883
},
2884
"9": {
2885
"name": "punctuation.definition.link.markdown"
2886
},
2887
"10": {
2888
"name": "markup.underline.link.image.markdown"
2889
},
2890
"12": {
2891
"name": "string.other.link.description.title.markdown"
2892
},
2893
"13": {
2894
"name": "punctuation.definition.string.begin.markdown"
2895
},
2896
"14": {
2897
"name": "punctuation.definition.string.end.markdown"
2898
},
2899
"15": {
2900
"name": "string.other.link.description.title.markdown"
2901
},
2902
"16": {
2903
"name": "punctuation.definition.string.begin.markdown"
2904
},
2905
"17": {
2906
"name": "punctuation.definition.string.end.markdown"
2907
},
2908
"18": {
2909
"name": "string.other.link.description.title.markdown"
2910
},
2911
"19": {
2912
"name": "punctuation.definition.string.begin.markdown"
2913
},
2914
"20": {
2915
"name": "punctuation.definition.string.end.markdown"
2916
},
2917
"21": {
2918
"name": "punctuation.definition.metadata.markdown"
2919
}
2920
},
2921
"match": "(?x)\n (\\!\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])\n # Match the link text.\n (\\() # Opening paren for url\n # The url\n [ \\t]*\n (\n (<)((?:\\\\[<>]|[^<>\\n])*)(>)\n | ((?<url>(?>[^\\s()]+)|\\(\\g<url>*\\))*)\n )\n [ \\t]*\n (?:\n ((\\().+?(\\))) # Match title in parens…\n | ((\").+?(\")) # or in double quotes…\n | ((').+?(')) # or in single quotes.\n )? # Title is optional\n \\s* # Optional whitespace\n (\\))\n",
2922
"name": "meta.image.inline.markdown"
2923
},
2924
"image-ref": {
2925
"captures": {
2926
"1": {
2927
"name": "punctuation.definition.link.description.begin.markdown"
2928
},
2929
"2": {
2930
"name": "string.other.link.description.markdown"
2931
},
2932
"4": {
2933
"name": "punctuation.definition.link.description.end.markdown"
2934
},
2935
"5": {
2936
"name": "punctuation.definition.constant.markdown"
2937
},
2938
"6": {
2939
"name": "constant.other.reference.link.markdown"
2940
},
2941
"7": {
2942
"name": "punctuation.definition.constant.markdown"
2943
}
2944
},
2945
"match": "(\\!\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])[ ]?(\\[)(.*?)(\\])",
2946
"name": "meta.image.reference.markdown"
2947
},
2948
"italic": {
2949
"begin": "(?x) (?<open>(\\*(?=\\w)|(?<!\\w)\\*|(?<!\\w)\\b_))(?=\\S) # Open\n (?=\n (\n <[^>]*+> # HTML tags\n | (?<raw>`+)([^`]|(?!(?<!`)\\k<raw>(?!`))`)*+\\k<raw>\n # Raw\n | \\\\[\\\\`*_{}\\[\\]()#.!+\\->]?+ # Escapes\n | \\[\n (\n (?<square> # Named group\n [^\\[\\]\\\\] # Match most chars\n | \\\\. # Escaped chars\n | \\[ \\g<square>*+ \\] # Nested brackets\n )*+\n \\]\n (\n ( # Reference Link\n [ ]? # Optional space\n \\[[^\\]]*+\\] # Ref name\n )\n | ( # Inline Link\n \\( # Opening paren\n [ \\t]*+ # Optional whtiespace\n <?(.*?)>? # URL\n [ \\t]*+ # Optional whtiespace\n ( # Optional Title\n (?<title>['\"])\n (.*?)\n \\k<title>\n )?\n \\)\n )\n )\n )\n | \\k<open>\\k<open> # Must be bold closer\n | (?!(?<=\\S)\\k<open>). # Everything besides\n # style closer\n )++\n (?<=\\S)(?=_\\b|\\*)\\k<open> # Close\n )\n",
2950
"captures": {
2951
"1": {
2952
"name": "punctuation.definition.italic.markdown"
2953
}
2954
},
2955
"end": "(?<=\\S)(\\1)((?!\\1)|(?=\\1\\1))",
2956
"name": "markup.italic.markdown",
2957
"patterns": [
2958
{
2959
"applyEndPatternLast": 1,
2960
"begin": "(?=<[^>]*?>)",
2961
"end": "(?<=>)",
2962
"patterns": [
2963
{
2964
"include": "text.html.derivative"
2965
}
2966
]
2967
},
2968
{
2969
"include": "#escape"
2970
},
2971
{
2972
"include": "#ampersand"
2973
},
2974
{
2975
"include": "#bracket"
2976
},
2977
{
2978
"include": "#raw"
2979
},
2980
{
2981
"include": "#bold"
2982
},
2983
{
2984
"include": "#image-inline"
2985
},
2986
{
2987
"include": "#link-inline"
2988
},
2989
{
2990
"include": "#link-inet"
2991
},
2992
{
2993
"include": "#link-email"
2994
},
2995
{
2996
"include": "#image-ref"
2997
},
2998
{
2999
"include": "#link-ref-literal"
3000
},
3001
{
3002
"include": "#link-ref"
3003
},
3004
{
3005
"include": "#link-ref-shortcut"
3006
},
3007
{
3008
"include": "#strikethrough"
3009
}
3010
]
3011
},
3012
"link-email": {
3013
"captures": {
3014
"1": {
3015
"name": "punctuation.definition.link.markdown"
3016
},
3017
"2": {
3018
"name": "markup.underline.link.markdown"
3019
},
3020
"4": {
3021
"name": "punctuation.definition.link.markdown"
3022
}
3023
},
3024
"match": "(<)((?:mailto:)?[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*)(>)",
3025
"name": "meta.link.email.lt-gt.markdown"
3026
},
3027
"link-inet": {
3028
"captures": {
3029
"1": {
3030
"name": "punctuation.definition.link.markdown"
3031
},
3032
"2": {
3033
"name": "markup.underline.link.markdown"
3034
},
3035
"3": {
3036
"name": "punctuation.definition.link.markdown"
3037
}
3038
},
3039
"match": "(<)((?:https?|ftp)://.*?)(>)",
3040
"name": "meta.link.inet.markdown"
3041
},
3042
"link-inline": {
3043
"captures": {
3044
"1": {
3045
"name": "punctuation.definition.link.title.begin.markdown"
3046
},
3047
"2": {
3048
"name": "string.other.link.title.markdown",
3049
"patterns": [
3050
{
3051
"include": "#raw"
3052
},
3053
{
3054
"include": "#bold"
3055
},
3056
{
3057
"include": "#italic"
3058
},
3059
{
3060
"include": "#strikethrough"
3061
},
3062
{
3063
"include": "#image-inline"
3064
}
3065
]
3066
},
3067
"4": {
3068
"name": "punctuation.definition.link.title.end.markdown"
3069
},
3070
"5": {
3071
"name": "punctuation.definition.metadata.markdown"
3072
},
3073
"7": {
3074
"name": "punctuation.definition.link.markdown"
3075
},
3076
"8": {
3077
"name": "markup.underline.link.markdown"
3078
},
3079
"9": {
3080
"name": "punctuation.definition.link.markdown"
3081
},
3082
"10": {
3083
"name": "markup.underline.link.markdown"
3084
},
3085
"12": {
3086
"name": "string.other.link.description.title.markdown"
3087
},
3088
"13": {
3089
"name": "punctuation.definition.string.begin.markdown"
3090
},
3091
"14": {
3092
"name": "punctuation.definition.string.end.markdown"
3093
},
3094
"15": {
3095
"name": "string.other.link.description.title.markdown"
3096
},
3097
"16": {
3098
"name": "punctuation.definition.string.begin.markdown"
3099
},
3100
"17": {
3101
"name": "punctuation.definition.string.end.markdown"
3102
},
3103
"18": {
3104
"name": "string.other.link.description.title.markdown"
3105
},
3106
"19": {
3107
"name": "punctuation.definition.string.begin.markdown"
3108
},
3109
"20": {
3110
"name": "punctuation.definition.string.end.markdown"
3111
},
3112
"21": {
3113
"name": "punctuation.definition.metadata.markdown"
3114
}
3115
},
3116
"match": "(?x)\n (\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])\n # Match the link text.\n (\\() # Opening paren for url\n # The url\n [ \\t]*\n (\n (<)((?:\\\\[<>]|[^<>\\n])*)(>)\n | ((?<url>(?>[^\\s()]+)|\\(\\g<url>*\\))*)\n )\n [ \\t]*\n # The title \n (?:\n ((\\()[^()]*(\\))) # Match title in parens…\n | ((\")[^\"]*(\")) # or in double quotes…\n | ((')[^']*(')) # or in single quotes.\n )? # Title is optional\n \\s* # Optional whitespace\n (\\))\n",
3117
"name": "meta.link.inline.markdown"
3118
},
3119
"link-ref": {
3120
"captures": {
3121
"1": {
3122
"name": "punctuation.definition.link.title.begin.markdown"
3123
},
3124
"2": {
3125
"name": "string.other.link.title.markdown",
3126
"patterns": [
3127
{
3128
"include": "#raw"
3129
},
3130
{
3131
"include": "#bold"
3132
},
3133
{
3134
"include": "#italic"
3135
},
3136
{
3137
"include": "#strikethrough"
3138
},
3139
{
3140
"include": "#image-inline"
3141
}
3142
]
3143
},
3144
"4": {
3145
"name": "punctuation.definition.link.title.end.markdown"
3146
},
3147
"5": {
3148
"name": "punctuation.definition.constant.begin.markdown"
3149
},
3150
"6": {
3151
"name": "constant.other.reference.link.markdown"
3152
},
3153
"7": {
3154
"name": "punctuation.definition.constant.end.markdown"
3155
}
3156
},
3157
"match": "(?<![\\]\\\\])(\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])(\\[)([^\\]]*+)(\\])",
3158
"name": "meta.link.reference.markdown"
3159
},
3160
"link-ref-literal": {
3161
"captures": {
3162
"1": {
3163
"name": "punctuation.definition.link.title.begin.markdown"
3164
},
3165
"2": {
3166
"name": "string.other.link.title.markdown"
3167
},
3168
"4": {
3169
"name": "punctuation.definition.link.title.end.markdown"
3170
},
3171
"5": {
3172
"name": "punctuation.definition.constant.begin.markdown"
3173
},
3174
"6": {
3175
"name": "punctuation.definition.constant.end.markdown"
3176
}
3177
},
3178
"match": "(?<![\\]\\\\])(\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])[ ]?(\\[)(\\])",
3179
"name": "meta.link.reference.literal.markdown"
3180
},
3181
"link-ref-shortcut": {
3182
"captures": {
3183
"1": {
3184
"name": "punctuation.definition.link.title.begin.markdown"
3185
},
3186
"2": {
3187
"name": "string.other.link.title.markdown"
3188
},
3189
"3": {
3190
"name": "punctuation.definition.link.title.end.markdown"
3191
}
3192
},
3193
"match": "(?<![\\]\\\\])(\\[)((?:[^\\s\\[\\]\\\\]|\\\\[\\[\\]])+?)((?<!\\\\)\\])",
3194
"name": "meta.link.reference.markdown"
3195
},
3196
"raw": {
3197
"captures": {
3198
"1": {
3199
"name": "punctuation.definition.raw.markdown"
3200
},
3201
"3": {
3202
"name": "punctuation.definition.raw.markdown"
3203
}
3204
},
3205
"match": "(`+)((?:[^`]|(?!(?<!`)\\1(?!`))`)*+)(\\1)",
3206
"name": "markup.inline.raw.string.markdown"
3207
},
3208
"strikethrough": {
3209
"captures": {
3210
"1": {
3211
"name": "punctuation.definition.strikethrough.markdown"
3212
},
3213
"2": {
3214
"patterns": [
3215
{
3216
"applyEndPatternLast": 1,
3217
"begin": "(?=<[^>]*?>)",
3218
"end": "(?<=>)",
3219
"patterns": [
3220
{
3221
"include": "text.html.derivative"
3222
}
3223
]
3224
},
3225
{
3226
"include": "#escape"
3227
},
3228
{
3229
"include": "#ampersand"
3230
},
3231
{
3232
"include": "#bracket"
3233
},
3234
{
3235
"include": "#raw"
3236
},
3237
{
3238
"include": "#bold"
3239
},
3240
{
3241
"include": "#italic"
3242
},
3243
{
3244
"include": "#image-inline"
3245
},
3246
{
3247
"include": "#link-inline"
3248
},
3249
{
3250
"include": "#link-inet"
3251
},
3252
{
3253
"include": "#link-email"
3254
},
3255
{
3256
"include": "#image-ref"
3257
},
3258
{
3259
"include": "#link-ref-literal"
3260
},
3261
{
3262
"include": "#link-ref"
3263
},
3264
{
3265
"include": "#link-ref-shortcut"
3266
}
3267
]
3268
},
3269
"3": {
3270
"name": "punctuation.definition.strikethrough.markdown"
3271
}
3272
},
3273
"match": "(?<!\\\\)(~{2,})(?!(?<=\\w~~)_)((?:[^~]|(?!(?<![~\\\\])\\1(?!~))~)*+)(\\1)(?!(?<=_\\1)\\w)",
3274
"name": "markup.strikethrough.markdown"
3275
}
3276
}
3277
}
3278