├── 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 |
14 |
15 | #### After
16 |
17 |
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 |
--------------------------------------------------------------------------------