View raw

1 { 2 "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", 3 "name": "Org Markup", 4 "patterns": [ 5 { 6 "name": "markup.heading.org", 7 "begin": "^\\s*[*]{1}\\s+", 8 "end": "$", 9 "patterns": [ 10 { 11 "include": "#header-matches" 12 } 13 ] 14 }, 15 { 16 "name": "entity.name.type.org", 17 "begin": "^\\s*[*]{2}\\s+", 18 "end": "$", 19 "patterns": [ 20 { 21 "include": "#header-matches" 22 } 23 ] 24 }, 25 { 26 "name": "entity.name.function.org", 27 "begin": "^\\s*[*]{3}\\s+", 28 "end": "$", 29 "patterns": [ 30 { 31 "include": "#header-matches" 32 } 33 ] 34 }, 35 { 36 "name": "entity.other.attribute-name.org", 37 "begin": "^\\s*[*]{4}\\s+", 38 "end": "$", 39 "patterns": [ 40 { 41 "include": "#header-matches" 42 } 43 ] 44 }, 45 { 46 "include": "#common" 47 }, 48 { 49 "include": "#src-blocks" 50 }, 51 { 52 "include": "#blocks" 53 } 54 ], 55 "repository": { 56 "src-blocks": { 57 "patterns": [ 58 { 59 "name": "meta.block.source.js.org", 60 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(js|javascript|mjs|es6|jsx)\\b\\s*(.*)$", 61 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 62 "beginCaptures": { 63 "1": { 64 "name": "keyword.control.block.org" 65 }, 66 "2": { 67 "name": "constant.other.language.org" 68 }, 69 "3": { 70 "name": "string.other.header-args.org" 71 } 72 }, 73 "endCaptures": { 74 "1": { 75 "name": "keyword.control.block.org" 76 } 77 }, 78 "patterns": [ 79 { 80 "begin": "(^|\\G)(\\s*)(.*)", 81 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 82 "contentName": "meta.embedded.block.js", 83 "patterns": [ 84 { 85 "include": "source.js" 86 } 87 ] 88 } 89 ] 90 }, 91 { 92 "name": "meta.block.source.js.regexp.org", 93 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(js.regexp|regexp)\\b\\s*(.*)$", 94 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 95 "beginCaptures": { 96 "1": { 97 "name": "keyword.control.block.org" 98 }, 99 "2": { 100 "name": "constant.other.language.org" 101 }, 102 "3": { 103 "name": "string.other.header-args.org" 104 } 105 }, 106 "endCaptures": { 107 "1": { 108 "name": "keyword.control.block.org" 109 } 110 }, 111 "patterns": [ 112 { 113 "begin": "(^|\\G)(\\s*)(.*)", 114 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 115 "contentName": "meta.embedded.block.js.regexp", 116 "patterns": [ 117 { 118 "include": "source.js.regexp" 119 } 120 ] 121 } 122 ] 123 }, 124 { 125 "name": "meta.block.source.ts.org", 126 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(ts|typescript)\\b\\s*(.*)$", 127 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 128 "beginCaptures": { 129 "1": { 130 "name": "keyword.control.block.org" 131 }, 132 "2": { 133 "name": "constant.other.language.org" 134 }, 135 "3": { 136 "name": "string.other.header-args.org" 137 } 138 }, 139 "endCaptures": { 140 "1": { 141 "name": "keyword.control.block.org" 142 } 143 }, 144 "patterns": [ 145 { 146 "begin": "(^|\\G)(\\s*)(.*)", 147 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 148 "contentName": "meta.embedded.block.ts", 149 "patterns": [ 150 { 151 "include": "source.ts" 152 } 153 ] 154 } 155 ] 156 }, 157 { 158 "name": "meta.block.source.tsx.org", 159 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(tsx)\\b\\s*(.*)$", 160 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 161 "beginCaptures": { 162 "1": { 163 "name": "keyword.control.block.org" 164 }, 165 "2": { 166 "name": "constant.other.language.org" 167 }, 168 "3": { 169 "name": "string.other.header-args.org" 170 } 171 }, 172 "endCaptures": { 173 "1": { 174 "name": "keyword.control.block.org" 175 } 176 }, 177 "patterns": [ 178 { 179 "begin": "(^|\\G)(\\s*)(.*)", 180 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 181 "contentName": "meta.embedded.block.tsx", 182 "patterns": [ 183 { 184 "include": "source.tsx" 185 } 186 ] 187 } 188 ] 189 }, 190 { 191 "name": "meta.block.source.java.org", 192 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(java)\\b\\s*(.*)$", 193 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 194 "beginCaptures": { 195 "1": { 196 "name": "keyword.control.block.org" 197 }, 198 "2": { 199 "name": "constant.other.language.org" 200 }, 201 "3": { 202 "name": "string.other.header-args.org" 203 } 204 }, 205 "endCaptures": { 206 "1": { 207 "name": "keyword.control.block.org" 208 } 209 }, 210 "patterns": [ 211 { 212 "begin": "(^|\\G)(\\s*)(.*)", 213 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 214 "contentName": "meta.embedded.block.java", 215 "patterns": [ 216 { 217 "include": "source.java" 218 } 219 ] 220 } 221 ] 222 }, 223 { 224 "name": "meta.block.source.python.org", 225 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(python|py|py3|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gyp|gypi)\\b\\s*(.*)$", 226 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 227 "beginCaptures": { 228 "1": { 229 "name": "keyword.control.block.org" 230 }, 231 "2": { 232 "name": "constant.other.language.org" 233 }, 234 "3": { 235 "name": "string.other.header-args.org" 236 } 237 }, 238 "endCaptures": { 239 "1": { 240 "name": "keyword.control.block.org" 241 } 242 }, 243 "patterns": [ 244 { 245 "begin": "(^|\\G)(\\s*)(.*)", 246 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 247 "contentName": "meta.embedded.block.python", 248 "patterns": [ 249 { 250 "include": "source.python" 251 } 252 ] 253 } 254 ] 255 }, 256 { 257 "name": "meta.block.source.regexp.python.org", 258 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(regexp.python|re)\\b\\s*(.*)$", 259 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 260 "beginCaptures": { 261 "1": { 262 "name": "keyword.control.block.org" 263 }, 264 "2": { 265 "name": "constant.other.language.org" 266 }, 267 "3": { 268 "name": "string.other.header-args.org" 269 } 270 }, 271 "endCaptures": { 272 "1": { 273 "name": "keyword.control.block.org" 274 } 275 }, 276 "patterns": [ 277 { 278 "begin": "(^|\\G)(\\s*)(.*)", 279 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 280 "contentName": "meta.embedded.block.regexp.python", 281 "patterns": [ 282 { 283 "include": "source.regexp.python" 284 } 285 ] 286 } 287 ] 288 }, 289 { 290 "name": "meta.block.source.css.org", 291 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(css)\\b\\s*(.*)$", 292 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 293 "beginCaptures": { 294 "1": { 295 "name": "keyword.control.block.org" 296 }, 297 "2": { 298 "name": "constant.other.language.org" 299 }, 300 "3": { 301 "name": "string.other.header-args.org" 302 } 303 }, 304 "endCaptures": { 305 "1": { 306 "name": "keyword.control.block.org" 307 } 308 }, 309 "patterns": [ 310 { 311 "begin": "(^|\\G)(\\s*)(.*)", 312 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 313 "contentName": "meta.embedded.block.css", 314 "patterns": [ 315 { 316 "include": "source.css" 317 } 318 ] 319 } 320 ] 321 }, 322 { 323 "name": "meta.block.source.lua.org", 324 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(lua)\\b\\s*(.*)$", 325 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 326 "beginCaptures": { 327 "1": { 328 "name": "keyword.control.block.org" 329 }, 330 "2": { 331 "name": "constant.other.language.org" 332 }, 333 "3": { 334 "name": "string.other.header-args.org" 335 } 336 }, 337 "endCaptures": { 338 "1": { 339 "name": "keyword.control.block.org" 340 } 341 }, 342 "patterns": [ 343 { 344 "begin": "(^|\\G)(\\s*)(.*)", 345 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 346 "contentName": "meta.embedded.block.lua", 347 "patterns": [ 348 { 349 "include": "source.lua" 350 } 351 ] 352 } 353 ] 354 }, 355 { 356 "name": "meta.block.source.ini.org", 357 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(ini|conf|properties)\\b\\s*(.*)$", 358 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 359 "beginCaptures": { 360 "1": { 361 "name": "keyword.control.block.org" 362 }, 363 "2": { 364 "name": "constant.other.language.org" 365 }, 366 "3": { 367 "name": "string.other.header-args.org" 368 } 369 }, 370 "endCaptures": { 371 "1": { 372 "name": "keyword.control.block.org" 373 } 374 }, 375 "patterns": [ 376 { 377 "begin": "(^|\\G)(\\s*)(.*)", 378 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 379 "contentName": "meta.embedded.block.ini", 380 "patterns": [ 381 { 382 "include": "source.ini" 383 } 384 ] 385 } 386 ] 387 }, 388 { 389 "name": "meta.block.source.makefile.org", 390 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(makefile|Malefile)\\b\\s*(.*)$", 391 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 392 "beginCaptures": { 393 "1": { 394 "name": "keyword.control.block.org" 395 }, 396 "2": { 397 "name": "constant.other.language.org" 398 }, 399 "3": { 400 "name": "string.other.header-args.org" 401 } 402 }, 403 "endCaptures": { 404 "1": { 405 "name": "keyword.control.block.org" 406 } 407 }, 408 "patterns": [ 409 { 410 "begin": "(^|\\G)(\\s*)(.*)", 411 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 412 "contentName": "meta.embedded.block.makefile", 413 "patterns": [ 414 { 415 "include": "source.makefile" 416 } 417 ] 418 } 419 ] 420 }, 421 { 422 "name": "meta.block.source.perl.org", 423 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(perl|pl|pm)\\b\\s*(.*)$", 424 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 425 "beginCaptures": { 426 "1": { 427 "name": "keyword.control.block.org" 428 }, 429 "2": { 430 "name": "constant.other.language.org" 431 }, 432 "3": { 433 "name": "string.other.header-args.org" 434 } 435 }, 436 "endCaptures": { 437 "1": { 438 "name": "keyword.control.block.org" 439 } 440 }, 441 "patterns": [ 442 { 443 "begin": "(^|\\G)(\\s*)(.*)", 444 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 445 "contentName": "meta.embedded.block.perl", 446 "patterns": [ 447 { 448 "include": "source.perl" 449 } 450 ] 451 } 452 ] 453 }, 454 { 455 "name": "meta.block.source.r.org", 456 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(r|R|s|S|Rprofile)\\b\\s*(.*)$", 457 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 458 "beginCaptures": { 459 "1": { 460 "name": "keyword.control.block.org" 461 }, 462 "2": { 463 "name": "constant.other.language.org" 464 }, 465 "3": { 466 "name": "string.other.header-args.org" 467 } 468 }, 469 "endCaptures": { 470 "1": { 471 "name": "keyword.control.block.org" 472 } 473 }, 474 "patterns": [ 475 { 476 "begin": "(^|\\G)(\\s*)(.*)", 477 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 478 "contentName": "meta.embedded.block.r", 479 "patterns": [ 480 { 481 "include": "source.r" 482 } 483 ] 484 } 485 ] 486 }, 487 { 488 "name": "meta.block.source.ruby.org", 489 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(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)\\b\\s*(.*)$", 490 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 491 "beginCaptures": { 492 "1": { 493 "name": "keyword.control.block.org" 494 }, 495 "2": { 496 "name": "constant.other.language.org" 497 }, 498 "3": { 499 "name": "string.other.header-args.org" 500 } 501 }, 502 "endCaptures": { 503 "1": { 504 "name": "keyword.control.block.org" 505 } 506 }, 507 "patterns": [ 508 { 509 "begin": "(^|\\G)(\\s*)(.*)", 510 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 511 "contentName": "meta.embedded.block.ruby", 512 "patterns": [ 513 { 514 "include": "source.ruby" 515 } 516 ] 517 } 518 ] 519 }, 520 { 521 "name": "meta.block.source.php.org", 522 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(php|php3|php4|php5|phpt|phtml|aw|ctp)\\b\\s*(.*)$", 523 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 524 "beginCaptures": { 525 "1": { 526 "name": "keyword.control.block.org" 527 }, 528 "2": { 529 "name": "constant.other.language.org" 530 }, 531 "3": { 532 "name": "string.other.header-args.org" 533 } 534 }, 535 "endCaptures": { 536 "1": { 537 "name": "keyword.control.block.org" 538 } 539 }, 540 "patterns": [ 541 { 542 "begin": "(^|\\G)(\\s*)(.*)", 543 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 544 "contentName": "meta.embedded.block.php", 545 "patterns": [ 546 { 547 "include": "source.php" 548 } 549 ] 550 } 551 ] 552 }, 553 { 554 "name": "meta.block.source.sql.org", 555 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(sql|ddl|dml)\\b\\s*(.*)$", 556 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 557 "beginCaptures": { 558 "1": { 559 "name": "keyword.control.block.org" 560 }, 561 "2": { 562 "name": "constant.other.language.org" 563 }, 564 "3": { 565 "name": "string.other.header-args.org" 566 } 567 }, 568 "endCaptures": { 569 "1": { 570 "name": "keyword.control.block.org" 571 } 572 }, 573 "patterns": [ 574 { 575 "begin": "(^|\\G)(\\s*)(.*)", 576 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 577 "contentName": "meta.embedded.block.sql", 578 "patterns": [ 579 { 580 "include": "source.sql" 581 } 582 ] 583 } 584 ] 585 }, 586 { 587 "name": "meta.block.source.asp.vb.net.org", 588 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(asp.vb.net|vb)\\b\\s*(.*)$", 589 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 590 "beginCaptures": { 591 "1": { 592 "name": "keyword.control.block.org" 593 }, 594 "2": { 595 "name": "constant.other.language.org" 596 }, 597 "3": { 598 "name": "string.other.header-args.org" 599 } 600 }, 601 "endCaptures": { 602 "1": { 603 "name": "keyword.control.block.org" 604 } 605 }, 606 "patterns": [ 607 { 608 "begin": "(^|\\G)(\\s*)(.*)", 609 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 610 "contentName": "meta.embedded.block.asp.vb.net", 611 "patterns": [ 612 { 613 "include": "source.asp.vb.net" 614 } 615 ] 616 } 617 ] 618 }, 619 { 620 "name": "meta.block.source.dosbatch.org", 621 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(dosbatch|batch|bat)\\b\\s*(.*)$", 622 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 623 "beginCaptures": { 624 "1": { 625 "name": "keyword.control.block.org" 626 }, 627 "2": { 628 "name": "constant.other.language.org" 629 }, 630 "3": { 631 "name": "string.other.header-args.org" 632 } 633 }, 634 "endCaptures": { 635 "1": { 636 "name": "keyword.control.block.org" 637 } 638 }, 639 "patterns": [ 640 { 641 "begin": "(^|\\G)(\\s*)(.*)", 642 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 643 "contentName": "meta.embedded.block.dosbatch", 644 "patterns": [ 645 { 646 "include": "source.dosbatch" 647 } 648 ] 649 } 650 ] 651 }, 652 { 653 "name": "meta.block.source.clojure.org", 654 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(clojure|clj|cljs)\\b\\s*(.*)$", 655 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 656 "beginCaptures": { 657 "1": { 658 "name": "keyword.control.block.org" 659 }, 660 "2": { 661 "name": "constant.other.language.org" 662 }, 663 "3": { 664 "name": "string.other.header-args.org" 665 } 666 }, 667 "endCaptures": { 668 "1": { 669 "name": "keyword.control.block.org" 670 } 671 }, 672 "patterns": [ 673 { 674 "begin": "(^|\\G)(\\s*)(.*)", 675 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 676 "contentName": "meta.embedded.block.clojure", 677 "patterns": [ 678 { 679 "include": "source.clojure" 680 } 681 ] 682 } 683 ] 684 }, 685 { 686 "name": "meta.block.source.coffee.org", 687 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(coffee|Cakefile|coffe.erb)\\b\\s*(.*)$", 688 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 689 "beginCaptures": { 690 "1": { 691 "name": "keyword.control.block.org" 692 }, 693 "2": { 694 "name": "constant.other.language.org" 695 }, 696 "3": { 697 "name": "string.other.header-args.org" 698 } 699 }, 700 "endCaptures": { 701 "1": { 702 "name": "keyword.control.block.org" 703 } 704 }, 705 "patterns": [ 706 { 707 "begin": "(^|\\G)(\\s*)(.*)", 708 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 709 "contentName": "meta.embedded.block.coffee", 710 "patterns": [ 711 { 712 "include": "source.coffee" 713 } 714 ] 715 } 716 ] 717 }, 718 { 719 "name": "meta.block.source.c.org", 720 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(c|h)\\b\\s*(.*)$", 721 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 722 "beginCaptures": { 723 "1": { 724 "name": "keyword.control.block.org" 725 }, 726 "2": { 727 "name": "constant.other.language.org" 728 }, 729 "3": { 730 "name": "string.other.header-args.org" 731 } 732 }, 733 "endCaptures": { 734 "1": { 735 "name": "keyword.control.block.org" 736 } 737 }, 738 "patterns": [ 739 { 740 "begin": "(^|\\G)(\\s*)(.*)", 741 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 742 "contentName": "meta.embedded.block.c", 743 "patterns": [ 744 { 745 "include": "source.c" 746 } 747 ] 748 } 749 ] 750 }, 751 { 752 "name": "meta.block.source.cpp.org", 753 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(cpp|c\\+\\+|cxx)\\b\\s*(.*)$", 754 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 755 "beginCaptures": { 756 "1": { 757 "name": "keyword.control.block.org" 758 }, 759 "2": { 760 "name": "constant.other.language.org" 761 }, 762 "3": { 763 "name": "string.other.header-args.org" 764 } 765 }, 766 "endCaptures": { 767 "1": { 768 "name": "keyword.control.block.org" 769 } 770 }, 771 "patterns": [ 772 { 773 "begin": "(^|\\G)(\\s*)(.*)", 774 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 775 "contentName": "meta.embedded.block.cpp", 776 "patterns": [ 777 { 778 "include": "source.cpp" 779 } 780 ] 781 } 782 ] 783 }, 784 { 785 "name": "meta.block.source.objc.org", 786 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(objc|objectivec|objective-c|mm|m|obj-c)\\b\\s*(.*)$", 787 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 788 "beginCaptures": { 789 "1": { 790 "name": "keyword.control.block.org" 791 }, 792 "2": { 793 "name": "constant.other.language.org" 794 }, 795 "3": { 796 "name": "string.other.header-args.org" 797 } 798 }, 799 "endCaptures": { 800 "1": { 801 "name": "keyword.control.block.org" 802 } 803 }, 804 "patterns": [ 805 { 806 "begin": "(^|\\G)(\\s*)(.*)", 807 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 808 "contentName": "meta.embedded.block.objc", 809 "patterns": [ 810 { 811 "include": "source.objc" 812 } 813 ] 814 } 815 ] 816 }, 817 { 818 "name": "meta.block.source.diff.org", 819 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(diff|patch|rej)\\b\\s*(.*)$", 820 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 821 "beginCaptures": { 822 "1": { 823 "name": "keyword.control.block.org" 824 }, 825 "2": { 826 "name": "constant.other.language.org" 827 }, 828 "3": { 829 "name": "string.other.header-args.org" 830 } 831 }, 832 "endCaptures": { 833 "1": { 834 "name": "keyword.control.block.org" 835 } 836 }, 837 "patterns": [ 838 { 839 "begin": "(^|\\G)(\\s*)(.*)", 840 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 841 "contentName": "meta.embedded.block.diff", 842 "patterns": [ 843 { 844 "include": "source.diff" 845 } 846 ] 847 } 848 ] 849 }, 850 { 851 "name": "meta.block.source.dockerfile.org", 852 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(dockerfile|Dockerfile)\\b\\s*(.*)$", 853 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 854 "beginCaptures": { 855 "1": { 856 "name": "keyword.control.block.org" 857 }, 858 "2": { 859 "name": "constant.other.language.org" 860 }, 861 "3": { 862 "name": "string.other.header-args.org" 863 } 864 }, 865 "endCaptures": { 866 "1": { 867 "name": "keyword.control.block.org" 868 } 869 }, 870 "patterns": [ 871 { 872 "begin": "(^|\\G)(\\s*)(.*)", 873 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 874 "contentName": "meta.embedded.block.dockerfile", 875 "patterns": [ 876 { 877 "include": "source.dockerfile" 878 } 879 ] 880 } 881 ] 882 }, 883 { 884 "name": "meta.block.source.go.org", 885 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(go|golang)\\b\\s*(.*)$", 886 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 887 "beginCaptures": { 888 "1": { 889 "name": "keyword.control.block.org" 890 }, 891 "2": { 892 "name": "constant.other.language.org" 893 }, 894 "3": { 895 "name": "string.other.header-args.org" 896 } 897 }, 898 "endCaptures": { 899 "1": { 900 "name": "keyword.control.block.org" 901 } 902 }, 903 "patterns": [ 904 { 905 "begin": "(^|\\G)(\\s*)(.*)", 906 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 907 "contentName": "meta.embedded.block.go", 908 "patterns": [ 909 { 910 "include": "source.go" 911 } 912 ] 913 } 914 ] 915 }, 916 { 917 "name": "meta.block.source.groovy.org", 918 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(groovy|gvy)\\b\\s*(.*)$", 919 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 920 "beginCaptures": { 921 "1": { 922 "name": "keyword.control.block.org" 923 }, 924 "2": { 925 "name": "constant.other.language.org" 926 }, 927 "3": { 928 "name": "string.other.header-args.org" 929 } 930 }, 931 "endCaptures": { 932 "1": { 933 "name": "keyword.control.block.org" 934 } 935 }, 936 "patterns": [ 937 { 938 "begin": "(^|\\G)(\\s*)(.*)", 939 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 940 "contentName": "meta.embedded.block.groovy", 941 "patterns": [ 942 { 943 "include": "source.groovy" 944 } 945 ] 946 } 947 ] 948 }, 949 { 950 "name": "meta.block.source.lisp.org", 951 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(lisp|emacs-lisp|common-lisp)\\b\\s*(.*)$", 952 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 953 "beginCaptures": { 954 "1": { 955 "name": "keyword.control.block.org" 956 }, 957 "2": { 958 "name": "constant.other.language.org" 959 }, 960 "3": { 961 "name": "string.other.header-args.org" 962 } 963 }, 964 "endCaptures": { 965 "1": { 966 "name": "keyword.control.block.org" 967 } 968 }, 969 "patterns": [ 970 { 971 "begin": "(^|\\G)(\\s*)(.*)", 972 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 973 "contentName": "meta.embedded.block.lisp", 974 "patterns": [ 975 { 976 "include": "source.lisp" 977 } 978 ] 979 } 980 ] 981 }, 982 { 983 "name": "meta.block.source.pug.org", 984 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(pug|jade)\\b\\s*(.*)$", 985 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 986 "beginCaptures": { 987 "1": { 988 "name": "keyword.control.block.org" 989 }, 990 "2": { 991 "name": "constant.other.language.org" 992 }, 993 "3": { 994 "name": "string.other.header-args.org" 995 } 996 }, 997 "endCaptures": { 998 "1": { 999 "name": "keyword.control.block.org" 1000 } 1001 }, 1002 "patterns": [ 1003 { 1004 "begin": "(^|\\G)(\\s*)(.*)", 1005 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1006 "contentName": "meta.embedded.block.pug", 1007 "patterns": [ 1008 { 1009 "include": "source.pug" 1010 } 1011 ] 1012 } 1013 ] 1014 }, 1015 { 1016 "name": "meta.block.source.css.less.org", 1017 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(css.less|less)\\b\\s*(.*)$", 1018 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1019 "beginCaptures": { 1020 "1": { 1021 "name": "keyword.control.block.org" 1022 }, 1023 "2": { 1024 "name": "constant.other.language.org" 1025 }, 1026 "3": { 1027 "name": "string.other.header-args.org" 1028 } 1029 }, 1030 "endCaptures": { 1031 "1": { 1032 "name": "keyword.control.block.org" 1033 } 1034 }, 1035 "patterns": [ 1036 { 1037 "begin": "(^|\\G)(\\s*)(.*)", 1038 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1039 "contentName": "meta.embedded.block.css.less", 1040 "patterns": [ 1041 { 1042 "include": "source.css.less" 1043 } 1044 ] 1045 } 1046 ] 1047 }, 1048 { 1049 "name": "meta.block.source.css.scss.org", 1050 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(css.scss|scss)\\b\\s*(.*)$", 1051 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1052 "beginCaptures": { 1053 "1": { 1054 "name": "keyword.control.block.org" 1055 }, 1056 "2": { 1057 "name": "constant.other.language.org" 1058 }, 1059 "3": { 1060 "name": "string.other.header-args.org" 1061 } 1062 }, 1063 "endCaptures": { 1064 "1": { 1065 "name": "keyword.control.block.org" 1066 } 1067 }, 1068 "patterns": [ 1069 { 1070 "begin": "(^|\\G)(\\s*)(.*)", 1071 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1072 "contentName": "meta.embedded.block.css.scss", 1073 "patterns": [ 1074 { 1075 "include": "source.css.scss" 1076 } 1077 ] 1078 } 1079 ] 1080 }, 1081 { 1082 "name": "meta.block.source.perl.6.org", 1083 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(perl.6|perl6|p6|pl6|pm6|nqp)\\b\\s*(.*)$", 1084 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1085 "beginCaptures": { 1086 "1": { 1087 "name": "keyword.control.block.org" 1088 }, 1089 "2": { 1090 "name": "constant.other.language.org" 1091 }, 1092 "3": { 1093 "name": "string.other.header-args.org" 1094 } 1095 }, 1096 "endCaptures": { 1097 "1": { 1098 "name": "keyword.control.block.org" 1099 } 1100 }, 1101 "patterns": [ 1102 { 1103 "begin": "(^|\\G)(\\s*)(.*)", 1104 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1105 "contentName": "meta.embedded.block.perl.6", 1106 "patterns": [ 1107 { 1108 "include": "source.perl.6" 1109 } 1110 ] 1111 } 1112 ] 1113 }, 1114 { 1115 "name": "meta.block.source.rust.org", 1116 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(rust|rs)\\b\\s*(.*)$", 1117 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1118 "beginCaptures": { 1119 "1": { 1120 "name": "keyword.control.block.org" 1121 }, 1122 "2": { 1123 "name": "constant.other.language.org" 1124 }, 1125 "3": { 1126 "name": "string.other.header-args.org" 1127 } 1128 }, 1129 "endCaptures": { 1130 "1": { 1131 "name": "keyword.control.block.org" 1132 } 1133 }, 1134 "patterns": [ 1135 { 1136 "begin": "(^|\\G)(\\s*)(.*)", 1137 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1138 "contentName": "meta.embedded.block.rust", 1139 "patterns": [ 1140 { 1141 "include": "source.rust" 1142 } 1143 ] 1144 } 1145 ] 1146 }, 1147 { 1148 "name": "meta.block.source.scala.org", 1149 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(scala|sbt)\\b\\s*(.*)$", 1150 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1151 "beginCaptures": { 1152 "1": { 1153 "name": "keyword.control.block.org" 1154 }, 1155 "2": { 1156 "name": "constant.other.language.org" 1157 }, 1158 "3": { 1159 "name": "string.other.header-args.org" 1160 } 1161 }, 1162 "endCaptures": { 1163 "1": { 1164 "name": "keyword.control.block.org" 1165 } 1166 }, 1167 "patterns": [ 1168 { 1169 "begin": "(^|\\G)(\\s*)(.*)", 1170 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1171 "contentName": "meta.embedded.block.scala", 1172 "patterns": [ 1173 { 1174 "include": "source.scala" 1175 } 1176 ] 1177 } 1178 ] 1179 }, 1180 { 1181 "name": "meta.block.source.shell.org", 1182 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(shell|sh|bash|zsh|bashrc|bash_profile)\\b\\s*(.*)$", 1183 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1184 "beginCaptures": { 1185 "1": { 1186 "name": "keyword.control.block.org" 1187 }, 1188 "2": { 1189 "name": "constant.other.language.org" 1190 }, 1191 "3": { 1192 "name": "string.other.header-args.org" 1193 } 1194 }, 1195 "endCaptures": { 1196 "1": { 1197 "name": "keyword.control.block.org" 1198 } 1199 }, 1200 "patterns": [ 1201 { 1202 "begin": "(^|\\G)(\\s*)(.*)", 1203 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1204 "contentName": "meta.embedded.block.shell", 1205 "patterns": [ 1206 { 1207 "include": "source.shell" 1208 } 1209 ] 1210 } 1211 ] 1212 }, 1213 { 1214 "name": "meta.block.source.cs.org", 1215 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(cs|csharp|c#)\\b\\s*(.*)$", 1216 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1217 "beginCaptures": { 1218 "1": { 1219 "name": "keyword.control.block.org" 1220 }, 1221 "2": { 1222 "name": "constant.other.language.org" 1223 }, 1224 "3": { 1225 "name": "string.other.header-args.org" 1226 } 1227 }, 1228 "endCaptures": { 1229 "1": { 1230 "name": "keyword.control.block.org" 1231 } 1232 }, 1233 "patterns": [ 1234 { 1235 "begin": "(^|\\G)(\\s*)(.*)", 1236 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1237 "contentName": "meta.embedded.block.cs", 1238 "patterns": [ 1239 { 1240 "include": "source.cs" 1241 } 1242 ] 1243 } 1244 ] 1245 }, 1246 { 1247 "name": "meta.block.source.fs.org", 1248 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(fs|fsharp|f#)\\b\\s*(.*)$", 1249 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1250 "beginCaptures": { 1251 "1": { 1252 "name": "keyword.control.block.org" 1253 }, 1254 "2": { 1255 "name": "constant.other.language.org" 1256 }, 1257 "3": { 1258 "name": "string.other.header-args.org" 1259 } 1260 }, 1261 "endCaptures": { 1262 "1": { 1263 "name": "keyword.control.block.org" 1264 } 1265 }, 1266 "patterns": [ 1267 { 1268 "begin": "(^|\\G)(\\s*)(.*)", 1269 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1270 "contentName": "meta.embedded.block.fs", 1271 "patterns": [ 1272 { 1273 "include": "source.fs" 1274 } 1275 ] 1276 } 1277 ] 1278 }, 1279 { 1280 "name": "meta.block.source.dart.org", 1281 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(dart)\\b\\s*(.*)$", 1282 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1283 "beginCaptures": { 1284 "1": { 1285 "name": "keyword.control.block.org" 1286 }, 1287 "2": { 1288 "name": "constant.other.language.org" 1289 }, 1290 "3": { 1291 "name": "string.other.header-args.org" 1292 } 1293 }, 1294 "endCaptures": { 1295 "1": { 1296 "name": "keyword.control.block.org" 1297 } 1298 }, 1299 "patterns": [ 1300 { 1301 "begin": "(^|\\G)(\\s*)(.*)", 1302 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1303 "contentName": "meta.embedded.block.dart", 1304 "patterns": [ 1305 { 1306 "include": "source.dart" 1307 } 1308 ] 1309 } 1310 ] 1311 }, 1312 { 1313 "name": "meta.block.source.yaml.org", 1314 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(yaml|yml)\\b\\s*(.*)$", 1315 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1316 "beginCaptures": { 1317 "1": { 1318 "name": "keyword.control.block.org" 1319 }, 1320 "2": { 1321 "name": "constant.other.language.org" 1322 }, 1323 "3": { 1324 "name": "string.other.header-args.org" 1325 } 1326 }, 1327 "endCaptures": { 1328 "1": { 1329 "name": "keyword.control.block.org" 1330 } 1331 }, 1332 "patterns": [ 1333 { 1334 "begin": "(^|\\G)(\\s*)(.*)", 1335 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1336 "contentName": "meta.embedded.block.yaml", 1337 "patterns": [ 1338 { 1339 "include": "source.yaml" 1340 } 1341 ] 1342 } 1343 ] 1344 }, 1345 { 1346 "name": "meta.block.source.json.org", 1347 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(json)\\b\\s*(.*)$", 1348 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1349 "beginCaptures": { 1350 "1": { 1351 "name": "keyword.control.block.org" 1352 }, 1353 "2": { 1354 "name": "constant.other.language.org" 1355 }, 1356 "3": { 1357 "name": "string.other.header-args.org" 1358 } 1359 }, 1360 "endCaptures": { 1361 "1": { 1362 "name": "keyword.control.block.org" 1363 } 1364 }, 1365 "patterns": [ 1366 { 1367 "begin": "(^|\\G)(\\s*)(.*)", 1368 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1369 "contentName": "meta.embedded.block.json", 1370 "patterns": [ 1371 { 1372 "include": "source.json" 1373 } 1374 ] 1375 } 1376 ] 1377 }, 1378 { 1379 "name": "meta.block.source.xml.org", 1380 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)\\b\\s*(.*)$", 1381 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1382 "beginCaptures": { 1383 "1": { 1384 "name": "keyword.control.block.org" 1385 }, 1386 "2": { 1387 "name": "constant.other.language.org" 1388 }, 1389 "3": { 1390 "name": "string.other.header-args.org" 1391 } 1392 }, 1393 "endCaptures": { 1394 "1": { 1395 "name": "keyword.control.block.org" 1396 } 1397 }, 1398 "patterns": [ 1399 { 1400 "begin": "(^|\\G)(\\s*)(.*)", 1401 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1402 "contentName": "meta.embedded.block.xml", 1403 "patterns": [ 1404 { 1405 "include": "text.xml" 1406 } 1407 ] 1408 } 1409 ] 1410 }, 1411 { 1412 "name": "meta.block.source.xsl.org", 1413 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(xsl|xslt)\\b\\s*(.*)$", 1414 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1415 "beginCaptures": { 1416 "1": { 1417 "name": "keyword.control.block.org" 1418 }, 1419 "2": { 1420 "name": "constant.other.language.org" 1421 }, 1422 "3": { 1423 "name": "string.other.header-args.org" 1424 } 1425 }, 1426 "endCaptures": { 1427 "1": { 1428 "name": "keyword.control.block.org" 1429 } 1430 }, 1431 "patterns": [ 1432 { 1433 "begin": "(^|\\G)(\\s*)(.*)", 1434 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1435 "contentName": "meta.embedded.block.xsl", 1436 "patterns": [ 1437 { 1438 "include": "text.xml.xsl" 1439 } 1440 ] 1441 } 1442 ] 1443 }, 1444 { 1445 "name": "meta.block.source.markdown.org", 1446 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(markdown|md)\\b\\s*(.*)$", 1447 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1448 "beginCaptures": { 1449 "1": { 1450 "name": "keyword.control.block.org" 1451 }, 1452 "2": { 1453 "name": "constant.other.language.org" 1454 }, 1455 "3": { 1456 "name": "string.other.header-args.org" 1457 } 1458 }, 1459 "endCaptures": { 1460 "1": { 1461 "name": "keyword.control.block.org" 1462 } 1463 }, 1464 "patterns": [ 1465 { 1466 "begin": "(^|\\G)(\\s*)(.*)", 1467 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1468 "contentName": "meta.embedded.block.markdown", 1469 "patterns": [ 1470 { 1471 "include": "text.html.markdown" 1472 } 1473 ] 1474 } 1475 ] 1476 }, 1477 { 1478 "name": "meta.block.source.orgmode.org", 1479 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(orgmode|org)\\b\\s*(.*)$", 1480 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1481 "beginCaptures": { 1482 "1": { 1483 "name": "keyword.control.block.org" 1484 }, 1485 "2": { 1486 "name": "constant.other.language.org" 1487 }, 1488 "3": { 1489 "name": "string.other.header-args.org" 1490 } 1491 }, 1492 "endCaptures": { 1493 "1": { 1494 "name": "keyword.control.block.org" 1495 } 1496 }, 1497 "patterns": [ 1498 { 1499 "begin": "(^|\\G)(\\s*)(.*)", 1500 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1501 "contentName": "meta.embedded.block.orgmode", 1502 "patterns": [ 1503 { 1504 "include": "source.org" 1505 } 1506 ] 1507 } 1508 ] 1509 }, 1510 { 1511 "name": "meta.block.source.html.org", 1512 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(html|htm|shtml|xhtml|inc|tmpl|tpl)\\b\\s*(.*)$", 1513 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1514 "beginCaptures": { 1515 "1": { 1516 "name": "keyword.control.block.org" 1517 }, 1518 "2": { 1519 "name": "constant.other.language.org" 1520 }, 1521 "3": { 1522 "name": "string.other.header-args.org" 1523 } 1524 }, 1525 "endCaptures": { 1526 "1": { 1527 "name": "keyword.control.block.org" 1528 } 1529 }, 1530 "patterns": [ 1531 { 1532 "begin": "(^|\\G)(\\s*)(.*)", 1533 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1534 "contentName": "meta.embedded.block.html", 1535 "patterns": [ 1536 { 1537 "include": "text.html.basic" 1538 } 1539 ] 1540 } 1541 ] 1542 }, 1543 { 1544 "name": "meta.block.source.COMMIT_EDITMSG.org", 1545 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(COMMIT_EDITMSG|MERGE_MSG)\\b\\s*(.*)$", 1546 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1547 "beginCaptures": { 1548 "1": { 1549 "name": "keyword.control.block.org" 1550 }, 1551 "2": { 1552 "name": "constant.other.language.org" 1553 }, 1554 "3": { 1555 "name": "string.other.header-args.org" 1556 } 1557 }, 1558 "endCaptures": { 1559 "1": { 1560 "name": "keyword.control.block.org" 1561 } 1562 }, 1563 "patterns": [ 1564 { 1565 "begin": "(^|\\G)(\\s*)(.*)", 1566 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1567 "contentName": "meta.embedded.block.COMMIT_EDITMSG", 1568 "patterns": [ 1569 { 1570 "include": "text.git-commit" 1571 } 1572 ] 1573 } 1574 ] 1575 }, 1576 { 1577 "name": "meta.block.source.git-rebase-todo.org", 1578 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(git-rebase-todo)\\b\\s*(.*)$", 1579 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1580 "beginCaptures": { 1581 "1": { 1582 "name": "keyword.control.block.org" 1583 }, 1584 "2": { 1585 "name": "constant.other.language.org" 1586 }, 1587 "3": { 1588 "name": "string.other.header-args.org" 1589 } 1590 }, 1591 "endCaptures": { 1592 "1": { 1593 "name": "keyword.control.block.org" 1594 } 1595 }, 1596 "patterns": [ 1597 { 1598 "begin": "(^|\\G)(\\s*)(.*)", 1599 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1600 "contentName": "meta.embedded.block.git-rebase-todo", 1601 "patterns": [ 1602 { 1603 "include": "text.git-rebase" 1604 } 1605 ] 1606 } 1607 ] 1608 }, 1609 { 1610 "name": "meta.block.source.latex.org", 1611 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(latex|tex)\\b\\s*(.*)$", 1612 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1613 "beginCaptures": { 1614 "1": { 1615 "name": "keyword.control.block.org" 1616 }, 1617 "2": { 1618 "name": "constant.other.language.org" 1619 }, 1620 "3": { 1621 "name": "string.other.header-args.org" 1622 } 1623 }, 1624 "endCaptures": { 1625 "1": { 1626 "name": "keyword.control.block.org" 1627 } 1628 }, 1629 "patterns": [ 1630 { 1631 "begin": "(^|\\G)(\\s*)(.*)", 1632 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1633 "contentName": "meta.embedded.block.latex", 1634 "patterns": [ 1635 { 1636 "include": "text.tex.latex" 1637 } 1638 ] 1639 } 1640 ] 1641 }, 1642 { 1643 "name": "meta.block.source.unknown.org", 1644 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_SRC)\\s+(\\w+)\\b\\s*(.*)$", 1645 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_SRC)\\s*$", 1646 "beginCaptures": { 1647 "1": { 1648 "name": "keyword.control.block.org" 1649 }, 1650 "2": { 1651 "name": "constant.other.language.org" 1652 }, 1653 "3": { 1654 "name": "string.other.header-args.org" 1655 } 1656 }, 1657 "endCaptures": { 1658 "1": { 1659 "name": "keyword.control.block.org" 1660 } 1661 }, 1662 "patterns": [ 1663 { 1664 "begin": "(^|\\G)(\\s*)(.*)", 1665 "while": "(?i)(^|\\G)(?!\\s*#\\+END_SRC\\s*)", 1666 "contentName": "meta.embedded.block.unknown" 1667 } 1668 ] 1669 } 1670 ] 1671 }, 1672 "blocks": { 1673 "patterns": [ 1674 { 1675 "name": "meta.block.${2:/downcase}", 1676 "begin": "(?i)(?:^|\\G)(?:\\s*)(#\\+BEGIN_(\\w+))\\b\\s*(.*)$", 1677 "end": "(?i)(?:^|\\G)(?:\\s*)(#\\+END_\\2)\\s*$", 1678 "beginCaptures": { 1679 "1": { 1680 "name": "keyword.control.block.org" 1681 }, 1682 "3": { 1683 "name": "string.other.header-args.org" 1684 } 1685 }, 1686 "endCaptures": { 1687 "1": { 1688 "name": "keyword.control.block.org" 1689 } 1690 }, 1691 "patterns": [ 1692 { 1693 "include": "#common" 1694 } 1695 ] 1696 } 1697 ] 1698 }, 1699 "common": { 1700 "patterns": [ 1701 { 1702 "include": "#timestamp" 1703 }, 1704 { 1705 "include": "#link" 1706 }, 1707 { 1708 "include": "#bold" 1709 }, 1710 { 1711 "include": "#italic" 1712 }, 1713 { 1714 "include": "#underline" 1715 }, 1716 { 1717 "include": "#literal" 1718 }, 1719 { 1720 "include": "#code" 1721 }, 1722 { 1723 "include": "#verbatim" 1724 }, 1725 { 1726 "include": "#comment" 1727 }, 1728 { 1729 "include": "#keywords" 1730 } 1731 ] 1732 }, 1733 "header-matches": { 1734 "patterns": [ 1735 { 1736 "include": "#common" 1737 }, 1738 { 1739 "include": "#todo" 1740 }, 1741 { 1742 "include": "#done" 1743 }, 1744 { 1745 "include": "#userKeywords" 1746 } 1747 ] 1748 }, 1749 "timestamp": { 1750 "patterns": [ 1751 { 1752 "name": "variable.org", 1753 "match": "\\[\\d{4}-\\d{1,2}-\\d{1,2}(?: \\w{3})?\\]" 1754 } 1755 ] 1756 }, 1757 "link": { 1758 "patterns": [ 1759 { 1760 "name": "meta.link.inline.org", 1761 "match": "(\\[\\[)([^\\[\\]]+)(\\])(?:(\\[)([^\\[\\]]+)(\\]))?(\\])", 1762 "captures": { 1763 "1": { 1764 "name": "punctuation.definition.string.begin.org" 1765 }, 1766 "2": { 1767 "name": "markup.underline.link.org" 1768 }, 1769 "3": { 1770 "name": "punctuation.definition.string.end.org" 1771 }, 1772 "4": { 1773 "name": "punctuation.definition.string.begin.org" 1774 }, 1775 "5": { 1776 "name": "string.other.link.title.org" 1777 }, 1778 "6": { 1779 "name": "punctuation.definition.string.end.org" 1780 }, 1781 "7": { 1782 "name": "punctuation.definition.string.end.org" 1783 }, 1784 "8": { 1785 "name": "punctuation.definition.string.end.org" 1786 } 1787 } 1788 } 1789 ] 1790 }, 1791 "todo": { 1792 "patterns": [ 1793 { 1794 "name": "invalid.illegal.org", 1795 "match": "\\bTODO\\b" 1796 } 1797 ] 1798 }, 1799 "done": { 1800 "patterns": [ 1801 { 1802 "name": "keyword.control.org", 1803 "match": "\\bDONE\\b" 1804 } 1805 ] 1806 }, 1807 "userKeywords": { 1808 "patterns": [ 1809 { 1810 "name": "string.quoted.double.org", 1811 "match": "\\b([A-Z]{3,})\\b" 1812 } 1813 ] 1814 }, 1815 "bold": { 1816 "patterns": [ 1817 { 1818 "name": "markup.bold.org", 1819 "match": "(^|\\s)\\*[^\\s](.*?[^\\s])?\\*($|\\W)" 1820 } 1821 ] 1822 }, 1823 "italic": { 1824 "patterns": [ 1825 { 1826 "name": "markup.italic.org", 1827 "match": "(^|\\s)/[^\\s](.*?[^\\s])?/($|\\W)" 1828 } 1829 ] 1830 }, 1831 "underline": { 1832 "patterns": [ 1833 { 1834 "name": "markup.underline.org", 1835 "match": "(^|\\s)\\_[^\\s](.*?[^\\s])?\\_($|\\W)" 1836 } 1837 ] 1838 }, 1839 "literal": { 1840 "patterns": [ 1841 { 1842 "name": "markup.italic.org", 1843 "match": "^:.+" 1844 } 1845 ] 1846 }, 1847 "code": { 1848 "patterns": [ 1849 { 1850 "name": "variable.org", 1851 "match": "(^|\\s)\\~[^\\s](.*?[^\\s])?\\~($|\\W)" 1852 } 1853 ] 1854 }, 1855 "verbatim": { 1856 "patterns": [ 1857 { 1858 "name": "variable.org", 1859 "match": "(^|\\s)\\=[^\\s](.*?[^\\s])?\\=($|\\W)" 1860 } 1861 ] 1862 }, 1863 "comment": { 1864 "patterns": [ 1865 { 1866 "match": "(^|\\s)(#)\\s(.*)$", 1867 "captures": { 1868 "2": { 1869 "name": "punctuation.definition.comment" 1870 }, 1871 "3": { 1872 "name": "comment.line" 1873 } 1874 } 1875 } 1876 ] 1877 }, 1878 "keywords": { 1879 "patterns": [ 1880 { 1881 "match": "^(#\\+\\w+:)\\s(.*)$", 1882 "captures": { 1883 "1": { 1884 "name": "support.type.property-name.org" 1885 }, 1886 "2": { 1887 "name": "meta.structure.dictionary.value.org" 1888 } 1889 } 1890 } 1891 ] 1892 } 1893 }, 1894 "scopeName": "source.org" 1895 }