PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.9.0
Code Block Pro – Beautiful Syntax Highlighting v1.9.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.9.0, at build/shiki/languages/markdown.tmLanguage.json

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