View raw

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