├── example.js ├── README.md └── Material-Theme.tmTheme /example.js: -------------------------------------------------------------------------------- 1 | import Base from './base' 2 | 3 | class Example extends Base { 4 | 5 | constructor() { 6 | var example = 123 7 | this.test = example 8 | } 9 | 10 | get someProperty() { 11 | return 'hello' 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [Material Theme](https://github.com/equinusocio/material-theme) syntax highlighting tweaked for [JavaScript Next](https://github.com/Benvie/JavaScriptNext.tmLanguage). 2 | 3 | ## Problems with the original color scheme 4 | 5 | - Module keywords such as `import` and `export` are not highlighted. 6 | - Method and accessor short hands in class declarations / object literals are not highlighted. 7 | - All variables are in bright red, which is too noisy and causes visual fatigue. 8 | 9 | ## Screenshots 10 | 11 | #### Before 12 | 13 | screen shot 2015-07-24 at 10 50 45 pm 14 | 15 | #### After 16 | 17 | screen shot 2015-07-24 at 10 50 36 pm 18 | 19 | ## Installation 20 | 21 | Copy the file into your Sublime's `Packages/User` folder, then in your settings, change the color scheme to: 22 | 23 | ``` json 24 | { 25 | "color_scheme": "Packages/User/Material-Theme.tmTheme" 26 | } 27 | ``` 28 | -------------------------------------------------------------------------------- /Material-Theme.tmTheme: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | author 7 | Mattia Astorino (http://astorinomattia.it) 8 | name 9 | Material Theme 10 | semanticClass 11 | theme.dark.material_theme 12 | colorSpaceName 13 | sRGB 14 | settings 15 | 16 | 17 | settings 18 | 19 | background 20 | #263238 21 | caret 22 | #c0c5ce 23 | foreground 24 | #80CBC470 25 | invisibles 26 | #65737e 27 | lineHighlight 28 | #00000030 29 | selection 30 | #80CBC420 31 | guide 32 | #37474F80 33 | activeGuide 34 | #80CBC470 35 | stackGuide 36 | #37474Fff 37 | gutterForeground 38 | #37474F 39 | findHighlight 40 | #F8E71C 41 | shadow 42 | #00000010 43 | 44 | 45 | 46 | name 47 | Text 48 | scope 49 | variable.parameter.function 50 | settings 51 | 52 | foreground 53 | #eeffffff 54 | 55 | 56 | 57 | name 58 | Comments 59 | scope 60 | comment, punctuation.definition.comment 61 | settings 62 | 63 | foreground 64 | #546E7A 65 | 66 | 67 | 68 | name 69 | Text and Source Base Colors 70 | scope 71 | text, source 72 | settings 73 | 74 | foreground 75 | #CDD3DE 76 | 77 | 78 | 79 | name 80 | Punctuation 81 | scope 82 | punctuation.definition.string, punctuation.definition.variable, punctuation.definition.string, punctuation.definition.parameters, punctuation.definition.string, punctuation.definition.array 83 | settings 84 | 85 | foreground 86 | #d9f5dd 87 | 88 | 89 | 90 | name 91 | Delimiters 92 | scope 93 | none 94 | settings 95 | 96 | foreground 97 | #d9f5ddff 98 | 99 | 100 | 101 | name 102 | Operators 103 | scope 104 | keyword.operator 105 | settings 106 | 107 | foreground 108 | #80CBC4 109 | 110 | 111 | 112 | name 113 | Keywords 114 | scope 115 | keyword 116 | settings 117 | 118 | foreground 119 | #c792eaff 120 | 121 | 122 | 123 | name 124 | Variables 125 | scope 126 | variable 127 | settings 128 | 129 | foreground 130 | #ddeeee 131 | 132 | 133 | 134 | name 135 | Functions 136 | scope 137 | entity.name.function, meta.require, support.function.any-method, 138 | meta.function-call, support.function, keyword.other.special-method, meta.block-level, variable.function 139 | settings 140 | 141 | foreground 142 | #82B1FF 143 | 144 | 145 | 146 | name 147 | Classes 148 | scope 149 | support.class, entity.name.class, entity.name.type.class 150 | settings 151 | 152 | foreground 153 | #ffcb6b 154 | 155 | 156 | 157 | name 158 | Classes 159 | scope 160 | meta.class 161 | settings 162 | 163 | foreground 164 | #ffffff 165 | 166 | 167 | 168 | name 169 | Methods 170 | scope 171 | keyword.other.special-method 172 | settings 173 | 174 | foreground 175 | #82B1FF 176 | 177 | 178 | 179 | name 180 | Storage 181 | scope 182 | storage 183 | settings 184 | 185 | foreground 186 | #c792eaff 187 | 188 | 189 | 190 | name 191 | Support 192 | scope 193 | support.function, 194 | keyword.operator, constant.other.color, meta.tag, punctuation.definition.tag, punctuation.separator.inheritance.php, punctuation.definition.tag.html, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, meta.function-call meta.function-call.arguments variable.parameter.function, text.html.markdown meta.paragraph meta.link.inline, text.html.markdown meta.paragraph meta.link.inline punctuation.definition.string.begin.markdown, text.html.markdown meta.paragraph meta.link.inline punctuation.definition.string.end.markdown 195 | settings 196 | 197 | foreground 198 | #80CBC4 199 | 200 | 201 | 202 | name 203 | Strings, Inherited Class 204 | scope 205 | string, constant.other.symbol, entity.other.inherited-class 206 | settings 207 | 208 | foreground 209 | #C3E88D 210 | 211 | 212 | 213 | name 214 | Integers 215 | scope 216 | constant.numeric 217 | settings 218 | 219 | foreground 220 | #F77669 221 | 222 | 223 | 224 | name 225 | Floats 226 | scope 227 | none 228 | settings 229 | 230 | foreground 231 | #F77669 232 | 233 | 234 | 235 | name 236 | Boolean 237 | scope 238 | none 239 | settings 240 | 241 | foreground 242 | #F77669 243 | 244 | 245 | 246 | name 247 | Constants 248 | scope 249 | constant 250 | settings 251 | 252 | foreground 253 | #F77669 254 | 255 | 256 | 257 | name 258 | Tags 259 | scope 260 | entity.name.tag 261 | settings 262 | 263 | foreground 264 | #ff5370ff 265 | 266 | 267 | 268 | name 269 | Attributes 270 | scope 271 | entity.other.attribute-name 272 | settings 273 | 274 | foreground 275 | #FFCB6B 276 | 277 | 278 | 279 | name 280 | Attribute IDs 281 | scope 282 | entity.other.attribute-name.id 283 | settings 284 | 285 | foreground 286 | #FAD430 287 | 288 | 289 | 290 | name 291 | Selector 292 | scope 293 | meta.selector 294 | settings 295 | 296 | foreground 297 | #c792eaff 298 | 299 | 300 | 301 | name 302 | Values 303 | scope 304 | none 305 | settings 306 | 307 | foreground 308 | #F77669 309 | 310 | 311 | 312 | name 313 | Headings 314 | scope 315 | markup.heading punctuation.definition.heading, entity.name.section 316 | settings 317 | 318 | fontStyle 319 | 320 | foreground 321 | #78ccf0ff 322 | 323 | 324 | 325 | name 326 | Units 327 | scope 328 | keyword.other.unit 329 | settings 330 | 331 | foreground 332 | #F77669 333 | 334 | 335 | 336 | name 337 | Bold 338 | scope 339 | markup.bold, punctuation.definition.bold 340 | settings 341 | 342 | fontStyle 343 | bold 344 | foreground 345 | #ffcb6b 346 | 347 | 348 | 349 | name 350 | Italic 351 | scope 352 | markup.italic, punctuation.definition.italic 353 | settings 354 | 355 | fontStyle 356 | italic 357 | foreground 358 | #c792eaff 359 | 360 | 361 | 362 | name 363 | Code 364 | scope 365 | markup.raw.inline 366 | settings 367 | 368 | foreground 369 | #f1e655 370 | 371 | 372 | 373 | name 374 | Link Text 375 | scope 376 | string.other.link, punctuation.definition.string.end.markdown 377 | settings 378 | 379 | foreground 380 | #ff5370 381 | 382 | 383 | 384 | name 385 | Link Url 386 | scope 387 | meta.link 388 | settings 389 | 390 | foreground 391 | #F77669 392 | 393 | 394 | 395 | name 396 | Lists 397 | scope 398 | markup.list 399 | settings 400 | 401 | foreground 402 | #ff5370ff 403 | 404 | 405 | 406 | name 407 | Quotes 408 | scope 409 | markup.quote 410 | settings 411 | 412 | foreground 413 | #F77669 414 | 415 | 416 | 417 | name 418 | Separator 419 | scope 420 | meta.separator 421 | settings 422 | 423 | background 424 | #1e3445ff 425 | foreground 426 | #d9f5ddff 427 | 428 | 429 | 430 | name 431 | Inserted 432 | scope 433 | markup.inserted 434 | settings 435 | 436 | foreground 437 | #F1E655 438 | 439 | 440 | 441 | name 442 | Deleted 443 | scope 444 | markup.deleted 445 | settings 446 | 447 | foreground 448 | #ff5370ff 449 | 450 | 451 | 452 | name 453 | Changed 454 | scope 455 | markup.changed 456 | settings 457 | 458 | foreground 459 | #c792eaff 460 | 461 | 462 | 463 | name 464 | Colors 465 | scope 466 | constant.other.color, 467 | meta.property-value support.constant.named-color.css 468 | settings 469 | 470 | foreground 471 | #FFEB95 472 | 473 | 474 | 475 | name 476 | Regular Expressions 477 | scope 478 | string.regexp 479 | settings 480 | 481 | foreground 482 | #80CBC4 483 | 484 | 485 | 486 | name 487 | Escape Characters 488 | scope 489 | constant.character.escape 490 | settings 491 | 492 | foreground 493 | #80CBC4 494 | 495 | 496 | 497 | name 498 | Embedded 499 | scope 500 | punctuation.section.embedded, variable.interpolation 501 | settings 502 | 503 | foreground 504 | #d3423eff 505 | 506 | 507 | 508 | name 509 | Illegal 510 | scope 511 | invalid.illegal 512 | settings 513 | 514 | background 515 | #EC5F67 516 | foreground 517 | #ffffffff 518 | 519 | 520 | 521 | name 522 | Broken 523 | scope 524 | invalid.broken 525 | settings 526 | 527 | background 528 | #F77669 529 | foreground 530 | #020e14ff 531 | 532 | 533 | 534 | name 535 | Deprecated 536 | scope 537 | invalid.deprecated 538 | settings 539 | 540 | background 541 | #d3423eff 542 | foreground 543 | #ffffffff 544 | 545 | 546 | 547 | name 548 | Unimplemented 549 | scope 550 | invalid.unimplemented 551 | settings 552 | 553 | background 554 | #8BD649 555 | foreground 556 | #ffffffff 557 | 558 | 559 | 560 | name 561 | SublimeLinter Annotations 562 | scope 563 | sublimelinter.annotations 564 | settings 565 | 566 | background 567 | #fffff7ff 568 | foreground 569 | #7b5157ff 570 | 571 | 572 | 573 | name 574 | SublimeLinter Error Outline 575 | scope 576 | sublimelinter.outline.illegal 577 | settings 578 | 579 | background 580 | #ff9599ff 581 | foreground 582 | #ffffffff 583 | 584 | 585 | 586 | name 587 | SublimeLinter Error Underline 588 | scope 589 | sublimelinter.underline.illegal 590 | settings 591 | 592 | background 593 | #ff4941ff 594 | 595 | 596 | 597 | name 598 | SublimeLinter Warning Outline 599 | scope 600 | sublimelinter.outline.warning 601 | settings 602 | 603 | background 604 | #FFCF1B 605 | foreground 606 | #ffffffff 607 | 608 | 609 | 610 | name 611 | SublimeLinter Warning Underline 612 | scope 613 | sublimelinter.underline.warning 614 | settings 615 | 616 | background 617 | #ff4941ff 618 | 619 | 620 | 621 | name 622 | SublimeLinter Violation Outline 623 | scope 624 | sublimelinter.outline.violation 625 | settings 626 | 627 | background 628 | #ffffff33 629 | foreground 630 | #ffffffff 631 | 632 | 633 | 634 | name 635 | SublimeLinter Violation Underline 636 | scope 637 | sublimelinter.underline.violation 638 | settings 639 | 640 | background 641 | #ff4941ff 642 | 643 | 644 | 645 | name 646 | SublimeLinter Error 647 | scope 648 | sublimelinter.mark.error 649 | settings 650 | 651 | foreground 652 | #ff572dff 653 | 654 | 655 | 656 | name 657 | SublimeLinter Warning 658 | scope 659 | sublimelinter.mark.warning 660 | settings 661 | 662 | foreground 663 | #ffcf1bff 664 | 665 | 666 | 667 | name 668 | SublimeLinter Gutter Mark 669 | scope 670 | sublimelinter.gutter-mark 671 | settings 672 | 673 | foreground 674 | #ffffffff 675 | 676 | 677 | 678 | name 679 | GitGutter deleted 680 | scope 681 | markup.deleted.git_gutter 682 | settings 683 | 684 | foreground 685 | #EC5F67 686 | 687 | 688 | 689 | name 690 | GitGutter changed 691 | scope 692 | markup.changed.git_gutter 693 | settings 694 | 695 | foreground 696 | #FFCF1B 697 | 698 | 699 | 700 | name 701 | GitGutter inserted 702 | scope 703 | markup.inserted.git_gutter 704 | settings 705 | 706 | foreground 707 | #C3E88D 708 | 709 | 710 | 711 | name 712 | GitGutter Ignored 713 | scope 714 | markup.ignored.git_gutter 715 | settings 716 | 717 | foreground 718 | #546E7A 719 | 720 | 721 | 722 | name 723 | Comment line // 724 | scope 725 | comment.line.double-slash punctuation.definition.comment, meta.structure.array comment.block.json punctuation.definition.comment 726 | settings 727 | 728 | foreground 729 | #5C7E8C 730 | 731 | 732 | 733 | name 734 | Result file path 735 | scope 736 | text.find-in-files entity.name.filename.find-in-files 737 | settings 738 | 739 | foreground 740 | #FFEB95 741 | 742 | 743 | 744 | name 745 | CSS: Property-name 746 | scope 747 | support.type.property-name 748 | settings 749 | 750 | foreground 751 | #80CBC4 752 | 753 | 754 | 755 | name 756 | CSS: Prefix 757 | scope 758 | meta.property-list meta.property-name 759 | settings 760 | 761 | foreground 762 | #80CBC4 763 | 764 | 765 | 766 | name 767 | Styles Units 768 | scope 769 | source.css keyword.other.unit, 770 | source.less keyword.other.unit, 771 | source.scss keyword.other.unit, 772 | source.sass keyword.other.unit 773 | settings 774 | 775 | foreground 776 | #FFEB95 777 | 778 | 779 | 780 | name 781 | LESS: mixins 782 | scope 783 | entity.other.less.mixin 784 | settings 785 | 786 | foreground 787 | #7986CB 788 | 789 | 790 | 791 | name 792 | CSS: # 793 | scope 794 | constant.other.color.rgb-value punctuation.definition.constant 795 | settings 796 | 797 | foreground 798 | #F77669 799 | 800 | 801 | 802 | name 803 | CSS: Attribute selector value 804 | scope 805 | meta.attribute-selector string.unquoted.attribute-value 806 | settings 807 | 808 | foreground 809 | #C3E88D 810 | 811 | 812 | 813 | name 814 | CSS: Attribute selector name 815 | scope 816 | meta.attribute-selector entity.other.attribute-name.attribute 817 | settings 818 | 819 | foreground 820 | #F77669 821 | 822 | 823 | 824 | 825 | name 826 | variable.language.js 827 | scope 828 | variable.language.this.js, variable.language.arguments.js, variable.language.super.js, variable.language.proto.js, variable.language.constructor.js, variable.language.prototype.js 829 | settings 830 | 831 | foreground 832 | #ff6380 833 | 834 | 835 | 836 | 837 | name 838 | keyword.operator.js 839 | scope 840 | keyword.operator.module.js, keyword.operator.new.js 841 | settings 842 | 843 | foreground 844 | #c792eaff 845 | 846 | 847 | 848 | 849 | name 850 | entity.name.method.js 851 | scope 852 | entity.name.method.js 853 | settings 854 | 855 | foreground 856 | #82B1FF 857 | 858 | 859 | 860 | name 861 | entity.name.accessor.js 862 | scope 863 | entity.name.accessor.js 864 | settings 865 | 866 | foreground 867 | #82B1FF 868 | 869 | 870 | 871 | uuid 872 | 133d1250-19c6-4565-bc93-b37fd36f7fc9 873 | 874 | 875 | --------------------------------------------------------------------------------