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
3291 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/d689e50d5a02534f9385306b3d0225d78be4db85",
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_js": {
966
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(js|jsx|javascript|es6|mjs|cjs|dataviewjs|\\{\\.js.+?\\})((\\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.javascript",
990
"patterns": [
991
{
992
"include": "source.js"
993
}
994
]
995
}
996
]
997
},
998
"fenced_code_block_js_regexp": {
999
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(regexp)((\\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.js_regexp",
1023
"patterns": [
1024
{
1025
"include": "source.js.regexp"
1026
}
1027
]
1028
}
1029
]
1030
},
1031
"fenced_code_block_json": {
1032
"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+|:|,|\\{|\\?)[^`]*)?$)",
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.json",
1056
"patterns": [
1057
{
1058
"include": "source.json"
1059
}
1060
]
1061
}
1062
]
1063
},
1064
"fenced_code_block_jsonc": {
1065
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(jsonc)((\\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.jsonc",
1089
"patterns": [
1090
{
1091
"include": "source.json.comments"
1092
}
1093
]
1094
}
1095
]
1096
},
1097
"fenced_code_block_less": {
1098
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(less)((\\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.less",
1122
"patterns": [
1123
{
1124
"include": "source.css.less"
1125
}
1126
]
1127
}
1128
]
1129
},
1130
"fenced_code_block_objc": {
1131
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(objectivec|objective-c|mm|objc|obj-c|m|h)((\\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.objc",
1155
"patterns": [
1156
{
1157
"include": "source.objc"
1158
}
1159
]
1160
}
1161
]
1162
},
1163
"fenced_code_block_swift": {
1164
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(swift)((\\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.swift",
1188
"patterns": [
1189
{
1190
"include": "source.swift"
1191
}
1192
]
1193
}
1194
]
1195
},
1196
"fenced_code_block_scss": {
1197
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(scss)((\\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.scss",
1221
"patterns": [
1222
{
1223
"include": "source.css.scss"
1224
}
1225
]
1226
}
1227
]
1228
},
1229
"fenced_code_block_perl6": {
1230
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(perl6|p6|pl6|pm6|nqp)((\\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.perl6",
1254
"patterns": [
1255
{
1256
"include": "source.perl.6"
1257
}
1258
]
1259
}
1260
]
1261
},
1262
"fenced_code_block_powershell": {
1263
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(powershell|ps1|psm1|psd1|pwsh)((\\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.powershell",
1287
"patterns": [
1288
{
1289
"include": "source.powershell"
1290
}
1291
]
1292
}
1293
]
1294
},
1295
"fenced_code_block_python": {
1296
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(python|py|py3|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gyp|gypi|\\{\\.python.+?\\})((\\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.python",
1320
"patterns": [
1321
{
1322
"include": "source.python"
1323
}
1324
]
1325
}
1326
]
1327
},
1328
"fenced_code_block_julia": {
1329
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(julia|\\{\\.julia.+?\\})((\\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.julia",
1353
"patterns": [
1354
{
1355
"include": "source.julia"
1356
}
1357
]
1358
}
1359
]
1360
},
1361
"fenced_code_block_regexp_python": {
1362
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(re)((\\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.regexp_python",
1386
"patterns": [
1387
{
1388
"include": "source.regexp.python"
1389
}
1390
]
1391
}
1392
]
1393
},
1394
"fenced_code_block_rust": {
1395
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(rust|rs|\\{\\.rust.+?\\})((\\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.rust",
1419
"patterns": [
1420
{
1421
"include": "source.rust"
1422
}
1423
]
1424
}
1425
]
1426
},
1427
"fenced_code_block_scala": {
1428
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(scala|sbt)((\\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.scala",
1452
"patterns": [
1453
{
1454
"include": "source.scala"
1455
}
1456
]
1457
}
1458
]
1459
},
1460
"fenced_code_block_shell": {
1461
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\{\\.bash.+?\\})((\\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.shellscript",
1485
"patterns": [
1486
{
1487
"include": "source.shell"
1488
}
1489
]
1490
}
1491
]
1492
},
1493
"fenced_code_block_ts": {
1494
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(typescript|ts)((\\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.typescript",
1518
"patterns": [
1519
{
1520
"include": "source.ts"
1521
}
1522
]
1523
}
1524
]
1525
},
1526
"fenced_code_block_tsx": {
1527
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(tsx)((\\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.typescriptreact",
1551
"patterns": [
1552
{
1553
"include": "source.tsx"
1554
}
1555
]
1556
}
1557
]
1558
},
1559
"fenced_code_block_csharp": {
1560
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(cs|csharp|c#)((\\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.csharp",
1584
"patterns": [
1585
{
1586
"include": "source.cs"
1587
}
1588
]
1589
}
1590
]
1591
},
1592
"fenced_code_block_fsharp": {
1593
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(fs|fsharp|f#)((\\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.fsharp",
1617
"patterns": [
1618
{
1619
"include": "source.fsharp"
1620
}
1621
]
1622
}
1623
]
1624
},
1625
"fenced_code_block_dart": {
1626
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(dart)((\\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.dart",
1650
"patterns": [
1651
{
1652
"include": "source.dart"
1653
}
1654
]
1655
}
1656
]
1657
},
1658
"fenced_code_block_handlebars": {
1659
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(handlebars|hbs)((\\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.handlebars",
1683
"patterns": [
1684
{
1685
"include": "text.html.handlebars"
1686
}
1687
]
1688
}
1689
]
1690
},
1691
"fenced_code_block_markdown": {
1692
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(markdown|md)((\\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.markdown",
1716
"patterns": [
1717
{
1718
"include": "text.html.markdown"
1719
}
1720
]
1721
}
1722
]
1723
},
1724
"fenced_code_block_log": {
1725
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(log)((\\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.log",
1749
"patterns": [
1750
{
1751
"include": "text.log"
1752
}
1753
]
1754
}
1755
]
1756
},
1757
"fenced_code_block_erlang": {
1758
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(erlang)((\\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.erlang",
1782
"patterns": [
1783
{
1784
"include": "source.erlang"
1785
}
1786
]
1787
}
1788
]
1789
},
1790
"fenced_code_block_elixir": {
1791
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(elixir)((\\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.elixir",
1815
"patterns": [
1816
{
1817
"include": "source.elixir"
1818
}
1819
]
1820
}
1821
]
1822
},
1823
"fenced_code_block_latex": {
1824
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(latex|tex)((\\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.latex",
1848
"patterns": [
1849
{
1850
"include": "text.tex.latex"
1851
}
1852
]
1853
}
1854
]
1855
},
1856
"fenced_code_block_bibtex": {
1857
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(bibtex)((\\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.bibtex",
1881
"patterns": [
1882
{
1883
"include": "text.bibtex"
1884
}
1885
]
1886
}
1887
]
1888
},
1889
"fenced_code_block_twig": {
1890
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(twig)((\\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.twig",
1914
"patterns": [
1915
{
1916
"include": "source.twig"
1917
}
1918
]
1919
}
1920
]
1921
},
1922
"fenced_code_block": {
1923
"patterns": [
1924
{
1925
"include": "#fenced_code_block_css"
1926
},
1927
{
1928
"include": "#fenced_code_block_basic"
1929
},
1930
{
1931
"include": "#fenced_code_block_ini"
1932
},
1933
{
1934
"include": "#fenced_code_block_java"
1935
},
1936
{
1937
"include": "#fenced_code_block_lua"
1938
},
1939
{
1940
"include": "#fenced_code_block_makefile"
1941
},
1942
{
1943
"include": "#fenced_code_block_perl"
1944
},
1945
{
1946
"include": "#fenced_code_block_r"
1947
},
1948
{
1949
"include": "#fenced_code_block_ruby"
1950
},
1951
{
1952
"include": "#fenced_code_block_php"
1953
},
1954
{
1955
"include": "#fenced_code_block_sql"
1956
},
1957
{
1958
"include": "#fenced_code_block_vs_net"
1959
},
1960
{
1961
"include": "#fenced_code_block_xml"
1962
},
1963
{
1964
"include": "#fenced_code_block_xsl"
1965
},
1966
{
1967
"include": "#fenced_code_block_yaml"
1968
},
1969
{
1970
"include": "#fenced_code_block_dosbatch"
1971
},
1972
{
1973
"include": "#fenced_code_block_clojure"
1974
},
1975
{
1976
"include": "#fenced_code_block_coffee"
1977
},
1978
{
1979
"include": "#fenced_code_block_c"
1980
},
1981
{
1982
"include": "#fenced_code_block_cpp"
1983
},
1984
{
1985
"include": "#fenced_code_block_diff"
1986
},
1987
{
1988
"include": "#fenced_code_block_dockerfile"
1989
},
1990
{
1991
"include": "#fenced_code_block_git_commit"
1992
},
1993
{
1994
"include": "#fenced_code_block_git_rebase"
1995
},
1996
{
1997
"include": "#fenced_code_block_go"
1998
},
1999
{
2000
"include": "#fenced_code_block_groovy"
2001
},
2002
{
2003
"include": "#fenced_code_block_pug"
2004
},
2005
{
2006
"include": "#fenced_code_block_js"
2007
},
2008
{
2009
"include": "#fenced_code_block_js_regexp"
2010
},
2011
{
2012
"include": "#fenced_code_block_json"
2013
},
2014
{
2015
"include": "#fenced_code_block_jsonc"
2016
},
2017
{
2018
"include": "#fenced_code_block_less"
2019
},
2020
{
2021
"include": "#fenced_code_block_objc"
2022
},
2023
{
2024
"include": "#fenced_code_block_swift"
2025
},
2026
{
2027
"include": "#fenced_code_block_scss"
2028
},
2029
{
2030
"include": "#fenced_code_block_perl6"
2031
},
2032
{
2033
"include": "#fenced_code_block_powershell"
2034
},
2035
{
2036
"include": "#fenced_code_block_python"
2037
},
2038
{
2039
"include": "#fenced_code_block_julia"
2040
},
2041
{
2042
"include": "#fenced_code_block_regexp_python"
2043
},
2044
{
2045
"include": "#fenced_code_block_rust"
2046
},
2047
{
2048
"include": "#fenced_code_block_scala"
2049
},
2050
{
2051
"include": "#fenced_code_block_shell"
2052
},
2053
{
2054
"include": "#fenced_code_block_ts"
2055
},
2056
{
2057
"include": "#fenced_code_block_tsx"
2058
},
2059
{
2060
"include": "#fenced_code_block_csharp"
2061
},
2062
{
2063
"include": "#fenced_code_block_fsharp"
2064
},
2065
{
2066
"include": "#fenced_code_block_dart"
2067
},
2068
{
2069
"include": "#fenced_code_block_handlebars"
2070
},
2071
{
2072
"include": "#fenced_code_block_markdown"
2073
},
2074
{
2075
"include": "#fenced_code_block_log"
2076
},
2077
{
2078
"include": "#fenced_code_block_erlang"
2079
},
2080
{
2081
"include": "#fenced_code_block_elixir"
2082
},
2083
{
2084
"include": "#fenced_code_block_latex"
2085
},
2086
{
2087
"include": "#fenced_code_block_bibtex"
2088
},
2089
{
2090
"include": "#fenced_code_block_twig"
2091
},
2092
{
2093
"include": "#fenced_code_block_unknown"
2094
}
2095
]
2096
},
2097
"fenced_code_block_unknown": {
2098
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?=([^`]*)?$)",
2099
"beginCaptures": {
2100
"3": {
2101
"name": "punctuation.definition.markdown"
2102
},
2103
"4": {
2104
"name": "fenced_code.block.language"
2105
}
2106
},
2107
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
2108
"endCaptures": {
2109
"3": {
2110
"name": "punctuation.definition.markdown"
2111
}
2112
},
2113
"name": "markup.fenced_code.block.markdown"
2114
},
2115
"heading": {
2116
"match": "(?:^|\\G)[ ]{0,3}(#{1,6}\\s+(.*?)(\\s+#{1,6})?\\s*)$",
2117
"captures": {
2118
"1": {
2119
"patterns": [
2120
{
2121
"match": "(#{6})\\s+(.*?)(?:\\s+(#+))?\\s*$",
2122
"name": "heading.6.markdown",
2123
"captures": {
2124
"1": {
2125
"name": "punctuation.definition.heading.markdown"
2126
},
2127
"2": {
2128
"name": "entity.name.section.markdown",
2129
"patterns": [
2130
{
2131
"include": "#inline"
2132
},
2133
{
2134
"include": "text.html.derivative"
2135
}
2136
]
2137
},
2138
"3": {
2139
"name": "punctuation.definition.heading.markdown"
2140
}
2141
}
2142
},
2143
{
2144
"match": "(#{5})\\s+(.*?)(?:\\s+(#+))?\\s*$",
2145
"name": "heading.5.markdown",
2146
"captures": {
2147
"1": {
2148
"name": "punctuation.definition.heading.markdown"
2149
},
2150
"2": {
2151
"name": "entity.name.section.markdown",
2152
"patterns": [
2153
{
2154
"include": "#inline"
2155
},
2156
{
2157
"include": "text.html.derivative"
2158
}
2159
]
2160
},
2161
"3": {
2162
"name": "punctuation.definition.heading.markdown"
2163
}
2164
}
2165
},
2166
{
2167
"match": "(#{4})\\s+(.*?)(?:\\s+(#+))?\\s*$",
2168
"name": "heading.4.markdown",
2169
"captures": {
2170
"1": {
2171
"name": "punctuation.definition.heading.markdown"
2172
},
2173
"2": {
2174
"name": "entity.name.section.markdown",
2175
"patterns": [
2176
{
2177
"include": "#inline"
2178
},
2179
{
2180
"include": "text.html.derivative"
2181
}
2182
]
2183
},
2184
"3": {
2185
"name": "punctuation.definition.heading.markdown"
2186
}
2187
}
2188
},
2189
{
2190
"match": "(#{3})\\s+(.*?)(?:\\s+(#+))?\\s*$",
2191
"name": "heading.3.markdown",
2192
"captures": {
2193
"1": {
2194
"name": "punctuation.definition.heading.markdown"
2195
},
2196
"2": {
2197
"name": "entity.name.section.markdown",
2198
"patterns": [
2199
{
2200
"include": "#inline"
2201
},
2202
{
2203
"include": "text.html.derivative"
2204
}
2205
]
2206
},
2207
"3": {
2208
"name": "punctuation.definition.heading.markdown"
2209
}
2210
}
2211
},
2212
{
2213
"match": "(#{2})\\s+(.*?)(?:\\s+(#+))?\\s*$",
2214
"name": "heading.2.markdown",
2215
"captures": {
2216
"1": {
2217
"name": "punctuation.definition.heading.markdown"
2218
},
2219
"2": {
2220
"name": "entity.name.section.markdown",
2221
"patterns": [
2222
{
2223
"include": "#inline"
2224
},
2225
{
2226
"include": "text.html.derivative"
2227
}
2228
]
2229
},
2230
"3": {
2231
"name": "punctuation.definition.heading.markdown"
2232
}
2233
}
2234
},
2235
{
2236
"match": "(#{1})\\s+(.*?)(?:\\s+(#+))?\\s*$",
2237
"name": "heading.1.markdown",
2238
"captures": {
2239
"1": {
2240
"name": "punctuation.definition.heading.markdown"
2241
},
2242
"2": {
2243
"name": "entity.name.section.markdown",
2244
"patterns": [
2245
{
2246
"include": "#inline"
2247
},
2248
{
2249
"include": "text.html.derivative"
2250
}
2251
]
2252
},
2253
"3": {
2254
"name": "punctuation.definition.heading.markdown"
2255
}
2256
}
2257
}
2258
]
2259
}
2260
},
2261
"name": "markup.heading.markdown"
2262
},
2263
"heading-setext": {
2264
"patterns": [
2265
{
2266
"match": "^(={3,})(?=[ \\t]*$\\n?)",
2267
"name": "markup.heading.setext.1.markdown"
2268
},
2269
{
2270
"match": "^(-{3,})(?=[ \\t]*$\\n?)",
2271
"name": "markup.heading.setext.2.markdown"
2272
}
2273
]
2274
},
2275
"html": {
2276
"patterns": [
2277
{
2278
"begin": "(^|\\G)\\s*(<!--)",
2279
"captures": {
2280
"1": {
2281
"name": "punctuation.definition.comment.html"
2282
},
2283
"2": {
2284
"name": "punctuation.definition.comment.html"
2285
}
2286
},
2287
"end": "(-->)",
2288
"name": "comment.block.html"
2289
},
2290
{
2291
"begin": "(?i)(^|\\G)\\s*(?=<(script|style|pre)(\\s|$|>)(?!.*?</(script|style|pre)>))",
2292
"end": "(?i)(.*)((</)(script|style|pre)(>))",
2293
"endCaptures": {
2294
"1": {
2295
"patterns": [
2296
{
2297
"include": "text.html.derivative"
2298
}
2299
]
2300
},
2301
"2": {
2302
"name": "meta.tag.structure.$4.end.html"
2303
},
2304
"3": {
2305
"name": "punctuation.definition.tag.begin.html"
2306
},
2307
"4": {
2308
"name": "entity.name.tag.html"
2309
},
2310
"5": {
2311
"name": "punctuation.definition.tag.end.html"
2312
}
2313
},
2314
"patterns": [
2315
{
2316
"begin": "(\\s*|$)",
2317
"patterns": [
2318
{
2319
"include": "text.html.derivative"
2320
}
2321
],
2322
"while": "(?i)^(?!.*</(script|style|pre)>)"
2323
}
2324
]
2325
},
2326
{
2327
"begin": "(?i)(^|\\G)\\s*(?=</?[a-zA-Z]+[^\\s/&gt;]*(\\s|$|/?>))",
2328
"patterns": [
2329
{
2330
"include": "text.html.derivative"
2331
}
2332
],
2333
"while": "^(?!\\s*$)"
2334
},
2335
{
2336
"begin": "(^|\\G)\\s*(?=(<[a-zA-Z0-9\\-](/?>|\\s.*?>)|</[a-zA-Z0-9\\-]>)\\s*$)",
2337
"patterns": [
2338
{
2339
"include": "text.html.derivative"
2340
}
2341
],
2342
"while": "^(?!\\s*$)"
2343
}
2344
]
2345
},
2346
"link-def": {
2347
"captures": {
2348
"1": {
2349
"name": "punctuation.definition.constant.markdown"
2350
},
2351
"2": {
2352
"name": "constant.other.reference.link.markdown"
2353
},
2354
"3": {
2355
"name": "punctuation.definition.constant.markdown"
2356
},
2357
"4": {
2358
"name": "punctuation.separator.key-value.markdown"
2359
},
2360
"5": {
2361
"name": "punctuation.definition.link.markdown"
2362
},
2363
"6": {
2364
"name": "markup.underline.link.markdown"
2365
},
2366
"7": {
2367
"name": "punctuation.definition.link.markdown"
2368
},
2369
"8": {
2370
"name": "markup.underline.link.markdown"
2371
},
2372
"9": {
2373
"name": "string.other.link.description.title.markdown"
2374
},
2375
"10": {
2376
"name": "punctuation.definition.string.begin.markdown"
2377
},
2378
"11": {
2379
"name": "punctuation.definition.string.end.markdown"
2380
},
2381
"12": {
2382
"name": "string.other.link.description.title.markdown"
2383
},
2384
"13": {
2385
"name": "punctuation.definition.string.begin.markdown"
2386
},
2387
"14": {
2388
"name": "punctuation.definition.string.end.markdown"
2389
},
2390
"15": {
2391
"name": "string.other.link.description.title.markdown"
2392
},
2393
"16": {
2394
"name": "punctuation.definition.string.begin.markdown"
2395
},
2396
"17": {
2397
"name": "punctuation.definition.string.end.markdown"
2398
}
2399
},
2400
"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",
2401
"name": "meta.link.reference.def.markdown"
2402
},
2403
"list_paragraph": {
2404
"begin": "(^|\\G)(?=\\S)(?![*+->]\\s|[0-9]+\\.\\s)",
2405
"name": "meta.paragraph.markdown",
2406
"patterns": [
2407
{
2408
"include": "#inline"
2409
},
2410
{
2411
"include": "text.html.derivative"
2412
},
2413
{
2414
"include": "#heading-setext"
2415
}
2416
],
2417
"while": "(^|\\G)(?!\\s*$|#|[ ]{0,3}([-*_>][ ]{2,}){3,}[ \\t]*$\\n?|[ ]{0,3}[*+->]|[ ]{0,3}[0-9]+\\.)"
2418
},
2419
"lists": {
2420
"patterns": [
2421
{
2422
"begin": "(^|\\G)([ ]{0,3})([*+-])([ \\t])",
2423
"beginCaptures": {
2424
"3": {
2425
"name": "punctuation.definition.list.begin.markdown"
2426
}
2427
},
2428
"comment": "Currently does not support un-indented second lines.",
2429
"name": "markup.list.unnumbered.markdown",
2430
"patterns": [
2431
{
2432
"include": "#block"
2433
},
2434
{
2435
"include": "#list_paragraph"
2436
}
2437
],
2438
"while": "((^|\\G)([ ]{2,4}|\\t))|(^[ \\t]*$)"
2439
},
2440
{
2441
"begin": "(^|\\G)([ ]{0,3})([0-9]+[\\.\\)])([ \\t])",
2442
"beginCaptures": {
2443
"3": {
2444
"name": "punctuation.definition.list.begin.markdown"
2445
}
2446
},
2447
"name": "markup.list.numbered.markdown",
2448
"patterns": [
2449
{
2450
"include": "#block"
2451
},
2452
{
2453
"include": "#list_paragraph"
2454
}
2455
],
2456
"while": "((^|\\G)([ ]{2,4}|\\t))|(^[ \\t]*$)"
2457
}
2458
]
2459
},
2460
"paragraph": {
2461
"begin": "(^|\\G)[ ]{0,3}(?=[^ \\t\\n])",
2462
"name": "meta.paragraph.markdown",
2463
"patterns": [
2464
{
2465
"include": "#inline"
2466
},
2467
{
2468
"include": "text.html.derivative"
2469
},
2470
{
2471
"include": "#heading-setext"
2472
}
2473
],
2474
"while": "(^|\\G)((?=\\s*[-=]{3,}\\s*$)|[ ]{4,}(?=[^ \\t\\n]))"
2475
},
2476
"raw_block": {
2477
"begin": "(^|\\G)([ ]{4}|\\t)",
2478
"name": "markup.raw.block.markdown",
2479
"while": "(^|\\G)([ ]{4}|\\t)"
2480
},
2481
"separator": {
2482
"match": "(^|\\G)[ ]{0,3}([\\*\\-\\_])([ ]{0,2}\\2){2,}[ \\t]*$\\n?",
2483
"name": "meta.separator.markdown"
2484
},
2485
"frontMatter": {
2486
"begin": "\\A(?=(-{3,}))",
2487
"end": "^ {,3}\\1-*[ \\t]*$|^[ \\t]*\\.{3}$",
2488
"applyEndPatternLast": 1,
2489
"endCaptures": {
2490
"0": {
2491
"name": "punctuation.definition.end.frontmatter"
2492
}
2493
},
2494
"patterns": [
2495
{
2496
"begin": "\\A(-{3,})(.*)$",
2497
"while": "^(?! {,3}\\1-*[ \\t]*$|[ \\t]*\\.{3}$)",
2498
"beginCaptures": {
2499
"1": {
2500
"name": "punctuation.definition.begin.frontmatter"
2501
},
2502
"2": {
2503
"name": "comment.frontmatter"
2504
}
2505
},
2506
"contentName": "meta.embedded.block.frontmatter",
2507
"patterns": [
2508
{
2509
"include": "source.yaml"
2510
}
2511
]
2512
}
2513
]
2514
},
2515
"table": {
2516
"name": "markup.table.markdown",
2517
"begin": "(^|\\G)(\\|)(?=[^|].+\\|\\s*$)",
2518
"beginCaptures": {
2519
"2": {
2520
"name": "punctuation.definition.table.markdown"
2521
}
2522
},
2523
"while": "(^|\\G)(?=\\|)",
2524
"patterns": [
2525
{
2526
"match": "\\|",
2527
"name": "punctuation.definition.table.markdown"
2528
},
2529
{
2530
"match": "(?<=\\|)\\s*(:?-+:?)\\s*(?=\\|)",
2531
"captures": {
2532
"1": {
2533
"name": "punctuation.separator.table.markdown"
2534
}
2535
}
2536
},
2537
{
2538
"match": "(?<=\\|)\\s*(?=\\S)((\\\\\\||[^|])+)(?<=\\S)\\s*(?=\\|)",
2539
"captures": {
2540
"1": {
2541
"patterns": [
2542
{
2543
"include": "#inline"
2544
}
2545
]
2546
}
2547
}
2548
}
2549
]
2550
},
2551
"inline": {
2552
"patterns": [
2553
{
2554
"include": "text.tex.latex"
2555
},
2556
{
2557
"include": "#ampersand"
2558
},
2559
{
2560
"include": "#bracket"
2561
},
2562
{
2563
"include": "#bold"
2564
},
2565
{
2566
"include": "#italic"
2567
},
2568
{
2569
"include": "#raw"
2570
},
2571
{
2572
"include": "#strikethrough"
2573
},
2574
{
2575
"include": "#escape"
2576
},
2577
{
2578
"include": "#image-inline"
2579
},
2580
{
2581
"include": "#image-ref"
2582
},
2583
{
2584
"include": "#link-email"
2585
},
2586
{
2587
"include": "#link-inet"
2588
},
2589
{
2590
"include": "#link-inline"
2591
},
2592
{
2593
"include": "#link-ref"
2594
},
2595
{
2596
"include": "#link-ref-literal"
2597
},
2598
{
2599
"include": "#link-ref-shortcut"
2600
}
2601
]
2602
},
2603
"ampersand": {
2604
"comment": "Markdown will convert this for us. We match it so that the HTML grammar will not mark it up as invalid.",
2605
"match": "&(?!([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+);)",
2606
"name": "meta.other.valid-ampersand.markdown"
2607
},
2608
"bold": {
2609
"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",
2610
"captures": {
2611
"1": {
2612
"name": "punctuation.definition.bold.markdown"
2613
}
2614
},
2615
"end": "(?<=\\S)(\\1)",
2616
"name": "markup.bold.markdown",
2617
"patterns": [
2618
{
2619
"applyEndPatternLast": 1,
2620
"begin": "(?=<[^>]*?>)",
2621
"end": "(?<=>)",
2622
"patterns": [
2623
{
2624
"include": "text.html.derivative"
2625
}
2626
]
2627
},
2628
{
2629
"include": "#escape"
2630
},
2631
{
2632
"include": "#ampersand"
2633
},
2634
{
2635
"include": "#bracket"
2636
},
2637
{
2638
"include": "#raw"
2639
},
2640
{
2641
"include": "#bold"
2642
},
2643
{
2644
"include": "#italic"
2645
},
2646
{
2647
"include": "#image-inline"
2648
},
2649
{
2650
"include": "#link-inline"
2651
},
2652
{
2653
"include": "#link-inet"
2654
},
2655
{
2656
"include": "#link-email"
2657
},
2658
{
2659
"include": "#image-ref"
2660
},
2661
{
2662
"include": "#link-ref-literal"
2663
},
2664
{
2665
"include": "#link-ref"
2666
},
2667
{
2668
"include": "#link-ref-shortcut"
2669
},
2670
{
2671
"include": "#strikethrough"
2672
}
2673
]
2674
},
2675
"bracket": {
2676
"comment": "Markdown will convert this for us. We match it so that the HTML grammar will not mark it up as invalid.",
2677
"match": "<(?![a-zA-Z/?\\$!])",
2678
"name": "meta.other.valid-bracket.markdown"
2679
},
2680
"escape": {
2681
"match": "\\\\[-`*_#+.!(){}\\[\\]\\\\>]",
2682
"name": "constant.character.escape.markdown"
2683
},
2684
"image-inline": {
2685
"captures": {
2686
"1": {
2687
"name": "punctuation.definition.link.description.begin.markdown"
2688
},
2689
"2": {
2690
"name": "string.other.link.description.markdown"
2691
},
2692
"4": {
2693
"name": "punctuation.definition.link.description.end.markdown"
2694
},
2695
"5": {
2696
"name": "punctuation.definition.metadata.markdown"
2697
},
2698
"7": {
2699
"name": "punctuation.definition.link.markdown"
2700
},
2701
"8": {
2702
"name": "markup.underline.link.image.markdown"
2703
},
2704
"9": {
2705
"name": "punctuation.definition.link.markdown"
2706
},
2707
"10": {
2708
"name": "markup.underline.link.image.markdown"
2709
},
2710
"12": {
2711
"name": "string.other.link.description.title.markdown"
2712
},
2713
"13": {
2714
"name": "punctuation.definition.string.begin.markdown"
2715
},
2716
"14": {
2717
"name": "punctuation.definition.string.end.markdown"
2718
},
2719
"15": {
2720
"name": "string.other.link.description.title.markdown"
2721
},
2722
"16": {
2723
"name": "punctuation.definition.string.begin.markdown"
2724
},
2725
"17": {
2726
"name": "punctuation.definition.string.end.markdown"
2727
},
2728
"18": {
2729
"name": "string.other.link.description.title.markdown"
2730
},
2731
"19": {
2732
"name": "punctuation.definition.string.begin.markdown"
2733
},
2734
"20": {
2735
"name": "punctuation.definition.string.end.markdown"
2736
},
2737
"21": {
2738
"name": "punctuation.definition.metadata.markdown"
2739
}
2740
},
2741
"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",
2742
"name": "meta.image.inline.markdown"
2743
},
2744
"image-ref": {
2745
"captures": {
2746
"1": {
2747
"name": "punctuation.definition.link.description.begin.markdown"
2748
},
2749
"2": {
2750
"name": "string.other.link.description.markdown"
2751
},
2752
"4": {
2753
"name": "punctuation.definition.link.description.end.markdown"
2754
},
2755
"5": {
2756
"name": "punctuation.definition.constant.markdown"
2757
},
2758
"6": {
2759
"name": "constant.other.reference.link.markdown"
2760
},
2761
"7": {
2762
"name": "punctuation.definition.constant.markdown"
2763
}
2764
},
2765
"match": "(\\!\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])[ ]?(\\[)(.*?)(\\])",
2766
"name": "meta.image.reference.markdown"
2767
},
2768
"italic": {
2769
"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",
2770
"captures": {
2771
"1": {
2772
"name": "punctuation.definition.italic.markdown"
2773
}
2774
},
2775
"end": "(?<=\\S)(\\1)((?!\\1)|(?=\\1\\1))",
2776
"name": "markup.italic.markdown",
2777
"patterns": [
2778
{
2779
"applyEndPatternLast": 1,
2780
"begin": "(?=<[^>]*?>)",
2781
"end": "(?<=>)",
2782
"patterns": [
2783
{
2784
"include": "text.html.derivative"
2785
}
2786
]
2787
},
2788
{
2789
"include": "#escape"
2790
},
2791
{
2792
"include": "#ampersand"
2793
},
2794
{
2795
"include": "#bracket"
2796
},
2797
{
2798
"include": "#raw"
2799
},
2800
{
2801
"include": "#bold"
2802
},
2803
{
2804
"include": "#image-inline"
2805
},
2806
{
2807
"include": "#link-inline"
2808
},
2809
{
2810
"include": "#link-inet"
2811
},
2812
{
2813
"include": "#link-email"
2814
},
2815
{
2816
"include": "#image-ref"
2817
},
2818
{
2819
"include": "#link-ref-literal"
2820
},
2821
{
2822
"include": "#link-ref"
2823
},
2824
{
2825
"include": "#link-ref-shortcut"
2826
},
2827
{
2828
"include": "#strikethrough"
2829
}
2830
]
2831
},
2832
"link-email": {
2833
"captures": {
2834
"1": {
2835
"name": "punctuation.definition.link.markdown"
2836
},
2837
"2": {
2838
"name": "markup.underline.link.markdown"
2839
},
2840
"4": {
2841
"name": "punctuation.definition.link.markdown"
2842
}
2843
},
2844
"match": "(<)((?:mailto:)?[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*)(>)",
2845
"name": "meta.link.email.lt-gt.markdown"
2846
},
2847
"link-inet": {
2848
"captures": {
2849
"1": {
2850
"name": "punctuation.definition.link.markdown"
2851
},
2852
"2": {
2853
"name": "markup.underline.link.markdown"
2854
},
2855
"3": {
2856
"name": "punctuation.definition.link.markdown"
2857
}
2858
},
2859
"match": "(<)((?:https?|ftp)://.*?)(>)",
2860
"name": "meta.link.inet.markdown"
2861
},
2862
"link-inline": {
2863
"captures": {
2864
"1": {
2865
"name": "punctuation.definition.link.title.begin.markdown"
2866
},
2867
"2": {
2868
"name": "string.other.link.title.markdown",
2869
"patterns": [
2870
{
2871
"include": "#raw"
2872
},
2873
{
2874
"include": "#bold"
2875
},
2876
{
2877
"include": "#italic"
2878
},
2879
{
2880
"include": "#strikethrough"
2881
},
2882
{
2883
"include": "#image-inline"
2884
}
2885
]
2886
},
2887
"4": {
2888
"name": "punctuation.definition.link.title.end.markdown"
2889
},
2890
"5": {
2891
"name": "punctuation.definition.metadata.markdown"
2892
},
2893
"7": {
2894
"name": "punctuation.definition.link.markdown"
2895
},
2896
"8": {
2897
"name": "markup.underline.link.markdown"
2898
},
2899
"9": {
2900
"name": "punctuation.definition.link.markdown"
2901
},
2902
"10": {
2903
"name": "markup.underline.link.markdown"
2904
},
2905
"12": {
2906
"name": "string.other.link.description.title.markdown"
2907
},
2908
"13": {
2909
"name": "punctuation.definition.string.begin.markdown"
2910
},
2911
"14": {
2912
"name": "punctuation.definition.string.end.markdown"
2913
},
2914
"15": {
2915
"name": "string.other.link.description.title.markdown"
2916
},
2917
"16": {
2918
"name": "punctuation.definition.string.begin.markdown"
2919
},
2920
"17": {
2921
"name": "punctuation.definition.string.end.markdown"
2922
},
2923
"18": {
2924
"name": "string.other.link.description.title.markdown"
2925
},
2926
"19": {
2927
"name": "punctuation.definition.string.begin.markdown"
2928
},
2929
"20": {
2930
"name": "punctuation.definition.string.end.markdown"
2931
},
2932
"21": {
2933
"name": "punctuation.definition.metadata.markdown"
2934
}
2935
},
2936
"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",
2937
"name": "meta.link.inline.markdown"
2938
},
2939
"link-ref": {
2940
"captures": {
2941
"1": {
2942
"name": "punctuation.definition.link.title.begin.markdown"
2943
},
2944
"2": {
2945
"name": "string.other.link.title.markdown",
2946
"patterns": [
2947
{
2948
"include": "#raw"
2949
},
2950
{
2951
"include": "#bold"
2952
},
2953
{
2954
"include": "#italic"
2955
},
2956
{
2957
"include": "#strikethrough"
2958
},
2959
{
2960
"include": "#image-inline"
2961
}
2962
]
2963
},
2964
"4": {
2965
"name": "punctuation.definition.link.title.end.markdown"
2966
},
2967
"5": {
2968
"name": "punctuation.definition.constant.begin.markdown"
2969
},
2970
"6": {
2971
"name": "constant.other.reference.link.markdown"
2972
},
2973
"7": {
2974
"name": "punctuation.definition.constant.end.markdown"
2975
}
2976
},
2977
"match": "(?<![\\]\\\\])(\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])(\\[)([^\\]]*+)(\\])",
2978
"name": "meta.link.reference.markdown"
2979
},
2980
"link-ref-literal": {
2981
"captures": {
2982
"1": {
2983
"name": "punctuation.definition.link.title.begin.markdown"
2984
},
2985
"2": {
2986
"name": "string.other.link.title.markdown"
2987
},
2988
"4": {
2989
"name": "punctuation.definition.link.title.end.markdown"
2990
},
2991
"5": {
2992
"name": "punctuation.definition.constant.begin.markdown"
2993
},
2994
"6": {
2995
"name": "punctuation.definition.constant.end.markdown"
2996
}
2997
},
2998
"match": "(?<![\\]\\\\])(\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])[ ]?(\\[)(\\])",
2999
"name": "meta.link.reference.literal.markdown"
3000
},
3001
"link-ref-shortcut": {
3002
"captures": {
3003
"1": {
3004
"name": "punctuation.definition.link.title.begin.markdown"
3005
},
3006
"2": {
3007
"name": "string.other.link.title.markdown"
3008
},
3009
"3": {
3010
"name": "punctuation.definition.link.title.end.markdown"
3011
}
3012
},
3013
"match": "(?<![\\]\\\\])(\\[)((?:[^\\s\\[\\]\\\\]|\\\\[\\[\\]])+?)((?<!\\\\)\\])",
3014
"name": "meta.link.reference.markdown"
3015
},
3016
"raw": {
3017
"captures": {
3018
"1": {
3019
"name": "punctuation.definition.raw.markdown"
3020
},
3021
"3": {
3022
"name": "punctuation.definition.raw.markdown"
3023
}
3024
},
3025
"match": "(`+)((?:[^`]|(?!(?<!`)\\1(?!`))`)*+)(\\1)",
3026
"name": "markup.inline.raw.string.markdown"
3027
},
3028
"strikethrough": {
3029
"captures": {
3030
"1": {
3031
"name": "punctuation.definition.strikethrough.markdown"
3032
},
3033
"2": {
3034
"patterns": [
3035
{
3036
"applyEndPatternLast": 1,
3037
"begin": "(?=<[^>]*?>)",
3038
"end": "(?<=>)",
3039
"patterns": [
3040
{
3041
"include": "text.html.derivative"
3042
}
3043
]
3044
},
3045
{
3046
"include": "#escape"
3047
},
3048
{
3049
"include": "#ampersand"
3050
},
3051
{
3052
"include": "#bracket"
3053
},
3054
{
3055
"include": "#raw"
3056
},
3057
{
3058
"include": "#bold"
3059
},
3060
{
3061
"include": "#italic"
3062
},
3063
{
3064
"include": "#image-inline"
3065
},
3066
{
3067
"include": "#link-inline"
3068
},
3069
{
3070
"include": "#link-inet"
3071
},
3072
{
3073
"include": "#link-email"
3074
},
3075
{
3076
"include": "#image-ref"
3077
},
3078
{
3079
"include": "#link-ref-literal"
3080
},
3081
{
3082
"include": "#link-ref"
3083
},
3084
{
3085
"include": "#link-ref-shortcut"
3086
}
3087
]
3088
},
3089
"3": {
3090
"name": "punctuation.definition.strikethrough.markdown"
3091
}
3092
},
3093
"match": "(?<!\\\\)(~{2,})((?:[^~]|(?!(?<![~\\\\])\\1(?!~))~)*+)(\\1)",
3094
"name": "markup.strikethrough.markdown"
3095
}
3096
}
3097
}
3098