PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.25.0
Code Block Pro – Beautiful Syntax Highlighting v1.25.0
1.27.1 1.27.2 1.27.3 1.27.4 1.27.5 1.27.6 1.27.7 1.28.0 1.3.0 1.4.0 1.5.0 1.5.1 1.5.2 1.6.0 1.7.0 1.8.0 1.9.0 1.9.1 1.9.2 1.9.3 trunk 1.1.0 1.10.0 1.11.0 1.11.1 All 63 releases
code-block-pro / build / shiki / languages / markdown.tmLanguage.json

markdown.tmLanguage.json in Code Block Pro – Beautiful Syntax Highlighting 1.25.0, at build/shiki/languages/markdown.tmLanguage.json

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