├── .gitignore
├── Kotlin.tmbundle
├── Commands
│ ├── Compile & Run (with args).tmCommand
│ └── Compile & Run.tmCommand
├── Snippets
│ ├── class.tmSnippet
│ └── println.tmSnippet
├── Syntaxes
│ └── Kotlin.tmLanguage
└── info.plist
├── LICENSE
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | # Created by .ignore support plugin (hsz.mobi)
2 |
--------------------------------------------------------------------------------
/Kotlin.tmbundle/Commands/Compile & Run (with args).tmCommand:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | beforeRunningCommand
6 | saveActiveFile
7 | command
8 | #!/bin/bash
9 | #https://manual.macromates.com/en/commands
10 | [[ -f "${TM_SUPPORT_PATH}/lib/bash_init.sh" ]] && . "${TM_SUPPORT_PATH}/lib/bash_init.sh"
11 |
12 | res=$(CocoaDialog inputbox --title "Input" \
13 | --informative-text "Please provide arguments:" \
14 | --button1 "Ok" --button2 "Cancel")
15 | [[ $(head -n1 <<<"$res") == "2" ]] && exit_discard
16 | res=$(tail -n1 <<<"$res")
17 |
18 | if [ -f "./kotlin.sh" ]; then
19 | #if kotlin.sh exists in the folder where the file resides that will be used as run job
20 | /bin/sh ./kotlin.sh $res
21 | else
22 | cd "$TM_DIRECTORY"
23 | JAVA8="$(ls /Library/Java/JavaVirtualMachines|grep jdk1.8|awk '{ print "/Library/Java/JavaVirtualMachines/" $1 "/Contents/Home"}')"
24 | if [ -z "$JAVA8" ]; then
25 | echo "No java 8 jdk found..."
26 | exit 1
27 | fi
28 | if [ "${TM_FILENAME##*.}" = "kts" ]; then
29 | #interpret a kts script
30 | JAVA_HOME=${JAVA8} /usr/local/bin/kotlinc -script "$TM_FILENAME" $res
31 | else
32 | #compile and run the file as a main
33 | JAVA_HOME=${JAVA8} /usr/local/bin/kotlinc "$TM_FILENAME"
34 | class=${TM_FILENAME%.kt}
35 | class="$(tr '[:lower:]' '[:upper:]' <<< ${class:0:1})${class:1}"
36 | class="${class}Kt"
37 | JAVA_HOME=${JAVA8} /usr/local/bin/kotlin "${class}" $res
38 | rm -rf META-INF "${class}".class
39 | fi
40 | fi
41 |
42 |
43 | input
44 | document
45 | inputFormat
46 | text
47 | keyEquivalent
48 | ~@r
49 | name
50 | Compile & Run (with args)
51 | outputCaret
52 | afterOutput
53 | outputFormat
54 | text
55 | outputLocation
56 | toolTip
57 | scope
58 | source.Kotlin
59 | uuid
60 | 41D7AD36-0E9C-401F-8E98-E676ADD1447D
61 | version
62 | 2
63 |
64 |
65 |
--------------------------------------------------------------------------------
/Kotlin.tmbundle/Commands/Compile & Run.tmCommand:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | beforeRunningCommand
6 | saveActiveFile
7 | command
8 | #!/bin/bash
9 | if [ -f "./kotlin.sh" ]; then
10 | /bin/sh ./kotlin.sh
11 | else
12 | cd "$TM_DIRECTORY"
13 | JAVA8="$(ls /Library/Java/JavaVirtualMachines|grep jdk1.8|awk '{ print "/Library/Java/JavaVirtualMachines/" $1 "/Contents/Home"}')"
14 | if [ -z "$JAVA8" ]; then
15 | echo "No java 8 jdk found..."
16 | exit 1
17 | fi
18 | if [ "${TM_FILENAME##*.}" = "kts" ]; then
19 | JAVA_HOME=${JAVA8} /usr/local/bin/kotlinc -script "$TM_FILENAME"
20 | else
21 | JAVA_HOME=${JAVA8} /usr/local/bin/kotlinc "$TM_FILENAME"
22 | class=${TM_FILENAME%.kt}
23 | class="$(tr '[:lower:]' '[:upper:]' <<< ${class:0:1})${class:1}"
24 | class="${class}Kt"
25 | JAVA_HOME=${JAVA8} /usr/local/bin/kotlin "${class}"
26 | rm -rf META-INF "${class}".class
27 | fi
28 | fi
29 |
30 |
31 | input
32 | document
33 | inputFormat
34 | text
35 | keyEquivalent
36 | @r
37 | name
38 | Compile & Run
39 | outputCaret
40 | afterOutput
41 | outputFormat
42 | text
43 | outputLocation
44 | toolTip
45 | scope
46 | source.Kotlin
47 | uuid
48 | 93E74DFB-1E1F-44BA-81B7-E67D7D59A713
49 | version
50 | 2
51 |
52 |
53 |
--------------------------------------------------------------------------------
/Kotlin.tmbundle/Snippets/class.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | class $1 {
7 | $0
8 | }
9 | name
10 | class
11 | scope
12 | source.Kotlin
13 | tabTrigger
14 | cl
15 | uuid
16 | 533031E8-574F-4E4E-90CA-3ED4D2CA04A3
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Kotlin.tmbundle/Snippets/println.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | println($0)
7 | name
8 | println
9 | scope
10 | source.Kotlin
11 | tabTrigger
12 | pr
13 | uuid
14 | 80A49B05-B86A-4D39-9D2B-6E6051637285
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Kotlin.tmbundle/Syntaxes/Kotlin.tmLanguage:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | fileTypes
6 |
7 | kt
8 | kts
9 |
10 | name
11 | Kotlin
12 | patterns
13 |
14 |
15 | include
16 | #comments
17 |
18 |
19 | captures
20 |
21 | 1
22 |
23 | name
24 | keyword.other.kotlin
25 |
26 | 2
27 |
28 | name
29 | entity.name.package.kotlin
30 |
31 |
32 | match
33 | ^\s*(package)\b(?:\s*([^ ;$]+)\s*)?
34 |
35 |
36 | include
37 | #imports
38 |
39 |
40 | include
41 | #statements
42 |
43 |
44 | repository
45 |
46 | classes
47 |
48 | begin
49 | (?=\s*(?:companion|class|object|interface))
50 | end
51 | }|(?=$)
52 | patterns
53 |
54 |
55 | begin
56 | \b(companion\s*)?(class|object|interface)\b
57 | beginCaptures
58 |
59 | 1
60 |
61 | name
62 | keyword.other.kotlin
63 |
64 |
65 | end
66 | (?=<|{|\(|:)
67 | patterns
68 |
69 |
70 | match
71 | \b(object)\b
72 | name
73 | keyword.other.kotlin
74 |
75 |
76 | match
77 | \w+
78 | name
79 | entity.name.type.class.kotlin
80 |
81 |
82 |
83 |
84 | begin
85 | <
86 | end
87 | >
88 | patterns
89 |
90 |
91 | include
92 | #generics
93 |
94 |
95 |
96 |
97 | begin
98 | \(
99 | end
100 | \)
101 | patterns
102 |
103 |
104 | include
105 | #parameters
106 |
107 |
108 |
109 |
110 | begin
111 | (:)
112 | beginCaptures
113 |
114 | 1
115 |
116 | name
117 | keyword.operator.declaration.kotlin
118 |
119 |
120 | end
121 | (?={|$)
122 | patterns
123 |
124 |
125 | match
126 | \w+
127 | name
128 | entity.other.inherited-class.kotlin
129 |
130 |
131 | begin
132 | \(
133 | end
134 | \)
135 | patterns
136 |
137 |
138 | include
139 | #expressions
140 |
141 |
142 |
143 |
144 |
145 |
146 | begin
147 | \{
148 | end
149 | \}
150 | patterns
151 |
152 |
153 | include
154 | #statements
155 |
156 |
157 |
158 |
159 |
160 | comments
161 |
162 | patterns
163 |
164 |
165 | begin
166 | /\*
167 | captures
168 |
169 | 0
170 |
171 | name
172 | punctuation.definition.comment.kotlin
173 |
174 |
175 | end
176 | \*/
177 | name
178 | comment.block.kotlin
179 |
180 |
181 | captures
182 |
183 | 1
184 |
185 | name
186 | comment.line.double-slash.kotlin
187 |
188 | 2
189 |
190 | name
191 | punctuation.definition.comment.kotlin
192 |
193 |
194 | match
195 | \s*((//).*$\n?)
196 |
197 |
198 |
199 | constants
200 |
201 | patterns
202 |
203 |
204 | match
205 | \b(true|false|null|this|super)\b
206 | name
207 | constant.language.kotlin
208 |
209 |
210 | match
211 | \b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?\b
212 | name
213 | constant.numeric.kotlin
214 |
215 |
216 | match
217 | \b([A-Z][A-Z0-9_]+)\b
218 | name
219 | constant.other.kotlin
220 |
221 |
222 |
223 | expressions
224 |
225 | patterns
226 |
227 |
228 | begin
229 | \(
230 | end
231 | \)
232 | patterns
233 |
234 |
235 | include
236 | #expressions
237 |
238 |
239 |
240 |
241 | include
242 | #types
243 |
244 |
245 | include
246 | #strings
247 |
248 |
249 | include
250 | #constants
251 |
252 |
253 | include
254 | #comments
255 |
256 |
257 | include
258 | #keywords
259 |
260 |
261 |
262 | functions
263 |
264 | begin
265 | (?=\s*(?:fun))
266 | end
267 | }|(?=$)
268 | patterns
269 |
270 |
271 | begin
272 | \b(fun)\b
273 | beginCaptures
274 |
275 | 1
276 |
277 | name
278 | keyword.other.kotlin
279 |
280 |
281 | end
282 | (?=\()
283 | patterns
284 |
285 |
286 | begin
287 | <
288 | end
289 | >
290 | patterns
291 |
292 |
293 | include
294 | #generics
295 |
296 |
297 |
298 |
299 | captures
300 |
301 | 2
302 |
303 | name
304 | entity.name.function.kotlin
305 |
306 |
307 | match
308 | ([\.<\?>\w]+\.)?(\w+)
309 |
310 |
311 |
312 |
313 | begin
314 | \(
315 | end
316 | \)
317 | patterns
318 |
319 |
320 | include
321 | #parameters
322 |
323 |
324 |
325 |
326 | begin
327 | (:)
328 | beginCaptures
329 |
330 | 1
331 |
332 | name
333 | keyword.operator.declaration.kotlin
334 |
335 |
336 | end
337 | (?={|=|$)
338 | patterns
339 |
340 |
341 | include
342 | #types
343 |
344 |
345 |
346 |
347 | begin
348 | \{
349 | end
350 | (?=\})
351 | patterns
352 |
353 |
354 | include
355 | #statements
356 |
357 |
358 |
359 |
360 | begin
361 | (=)
362 | beginCaptures
363 |
364 | 1
365 |
366 | name
367 | keyword.operator.assignment.kotlin
368 |
369 |
370 | end
371 | (?=$)
372 | patterns
373 |
374 |
375 | include
376 | #expressions
377 |
378 |
379 |
380 |
381 |
382 | generics
383 |
384 | patterns
385 |
386 |
387 | begin
388 | (:)
389 | beginCaptures
390 |
391 | 1
392 |
393 | name
394 | keyword.operator.declaration.kotlin
395 |
396 |
397 | end
398 | (?=,|>)
399 | patterns
400 |
401 |
402 | include
403 | #types
404 |
405 |
406 |
407 |
408 | include
409 | #keywords
410 |
411 |
412 | match
413 | \w+
414 | name
415 | storage.type.generic.kotlin
416 |
417 |
418 |
419 | getters-and-setters
420 |
421 | patterns
422 |
423 |
424 | begin
425 | \b(get)\b\s*\(\s*\)
426 | beginCaptures
427 |
428 | 1
429 |
430 | name
431 | entity.name.function.kotlin
432 |
433 |
434 | end
435 | \}|(?=\bset\b)|$
436 | patterns
437 |
438 |
439 | begin
440 | (=)
441 | beginCaptures
442 |
443 | 1
444 |
445 | name
446 | keyword.operator.assignment.kotlin
447 |
448 |
449 | end
450 | (?=$|\bset\b)
451 | patterns
452 |
453 |
454 | include
455 | #expressions
456 |
457 |
458 |
459 |
460 | begin
461 | \{
462 | end
463 | \}
464 | patterns
465 |
466 |
467 | include
468 | #expressions
469 |
470 |
471 |
472 |
473 |
474 |
475 | begin
476 | \b(set)\b\s*(?=\()
477 | beginCaptures
478 |
479 | 1
480 |
481 | name
482 | entity.name.function.kotlin
483 |
484 |
485 | end
486 | \}|(?=\bget\b)|$
487 | patterns
488 |
489 |
490 | begin
491 | \(
492 | end
493 | \)
494 | patterns
495 |
496 |
497 | include
498 | #parameters
499 |
500 |
501 |
502 |
503 | begin
504 | (=)
505 | beginCaptures
506 |
507 | 1
508 |
509 | name
510 | keyword.operator.assignment.kotlin
511 |
512 |
513 | end
514 | (?=$|\bset\b)
515 | patterns
516 |
517 |
518 | include
519 | #expressions
520 |
521 |
522 |
523 |
524 | begin
525 | \{
526 | end
527 | \}
528 | patterns
529 |
530 |
531 | include
532 | #expressions
533 |
534 |
535 |
536 |
537 |
538 |
539 |
540 | imports
541 |
542 | patterns
543 |
544 |
545 | captures
546 |
547 | 1
548 |
549 | name
550 | keyword.other.kotlin
551 |
552 | 2
553 |
554 | name
555 | keyword.other.kotlin
556 |
557 |
558 | match
559 | ^\s*(import)\s+[^ $]+\s+(as)?
560 |
561 |
562 |
563 | keywords
564 |
565 | patterns
566 |
567 |
568 | match
569 | \b(var|val|public|private|protected|abstract|final|enum|open|attribute|annotation|override|inline|var|val|vararg|lazy|in|out|internal|data|tailrec|operator|infix|const|yield|typealias|typeof)\b
570 | name
571 | storage.modifier.kotlin
572 |
573 |
574 | match
575 | \b(try|catch|finally|throw)\b
576 | name
577 | keyword.control.catch-exception.kotlin
578 |
579 |
580 | match
581 | \b(if|else|while|for|do|return|when|where|break|continue)\b
582 | name
583 | keyword.control.kotlin
584 |
585 |
586 | match
587 | \b(in|is|as|assert)\b
588 | name
589 | keyword.operator.kotlin
590 |
591 |
592 | match
593 | (==|!=|===|!==|<=|>=|<|>)
594 | name
595 | keyword.operator.comparison.kotlin
596 |
597 |
598 | match
599 | (=)
600 | name
601 | keyword.operator.assignment.kotlin
602 |
603 |
604 | match
605 | (:)
606 | name
607 | keyword.operator.declaration.kotlin
608 |
609 |
610 | match
611 | (\.)
612 | name
613 | keyword.operator.dot.kotlin
614 |
615 |
616 | match
617 | (\-\-|\+\+)
618 | name
619 | keyword.operator.increment-decrement.kotlin
620 |
621 |
622 | match
623 | (\-|\+|\*|\/|%)
624 | name
625 | keyword.operator.arithmetic.kotlin
626 |
627 |
628 | match
629 | (\+=|\-=|\*=|\/=)
630 | name
631 | keyword.operator.arithmetic.assign.kotlin
632 |
633 |
634 | match
635 | (!|&&|\|\|)
636 | name
637 | keyword.operator.logical.kotlin
638 |
639 |
640 | match
641 | (\.\.)
642 | name
643 | keyword.operator.range.kotlin
644 |
645 |
646 | match
647 | (;)
648 | name
649 | punctuation.terminator.kotlin
650 |
651 |
652 |
653 | namespaces
654 |
655 | patterns
656 |
657 |
658 | match
659 | \b(namespace)\b
660 | name
661 | keyword.other.kotlin
662 |
663 |
664 | begin
665 | \{
666 | end
667 | \}
668 | patterns
669 |
670 |
671 | include
672 | #statements
673 |
674 |
675 |
676 |
677 |
678 | parameters
679 |
680 | patterns
681 |
682 |
683 | begin
684 | (:)
685 | beginCaptures
686 |
687 | 1
688 |
689 | name
690 | keyword.operator.declaration.kotlin
691 |
692 |
693 | end
694 | (?=,|\)|=)
695 | patterns
696 |
697 |
698 | include
699 | #types
700 |
701 |
702 |
703 |
704 | begin
705 | (=)
706 | beginCaptures
707 |
708 | 1
709 |
710 | name
711 | keyword.operator.declaration.kotlin
712 |
713 |
714 | end
715 | (?=,|\))
716 | patterns
717 |
718 |
719 | include
720 | #expressions
721 |
722 |
723 |
724 |
725 | include
726 | #keywords
727 |
728 |
729 | match
730 | \w+
731 | name
732 | variable.parameter.function.kotlin
733 |
734 |
735 |
736 | statements
737 |
738 | patterns
739 |
740 |
741 | include
742 | #namespaces
743 |
744 |
745 | include
746 | #typedefs
747 |
748 |
749 | include
750 | #classes
751 |
752 |
753 | include
754 | #functions
755 |
756 |
757 | include
758 | #variables
759 |
760 |
761 | include
762 | #getters-and-setters
763 |
764 |
765 | include
766 | #expressions
767 |
768 |
769 |
770 | strings
771 |
772 | patterns
773 |
774 |
775 | begin
776 | """
777 | beginCaptures
778 |
779 | 0
780 |
781 | name
782 | punctuation.definition.string.begin.kotlin
783 |
784 |
785 | end
786 | """
787 | endCaptures
788 |
789 | 0
790 |
791 | name
792 | punctuation.definition.string.end.kotlin
793 |
794 |
795 | name
796 | string.quoted.third.kotlin
797 | patterns
798 |
799 |
800 | match
801 | (\$\w+|\$\{[^\}]+\})
802 | name
803 | variable.parameter.template.kotlin
804 |
805 |
806 | match
807 | \\.
808 | name
809 | constant.character.escape.kotlin
810 |
811 |
812 |
813 |
814 | begin
815 | "
816 | beginCaptures
817 |
818 | 0
819 |
820 | name
821 | punctuation.definition.string.begin.kotlin
822 |
823 |
824 | end
825 | "
826 | endCaptures
827 |
828 | 0
829 |
830 | name
831 | punctuation.definition.string.end.kotlin
832 |
833 |
834 | name
835 | string.quoted.double.kotlin
836 | patterns
837 |
838 |
839 | match
840 | (\$\w+|\$\{[^\}]+\})
841 | name
842 | variable.parameter.template.kotlin
843 |
844 |
845 | match
846 | \\.
847 | name
848 | constant.character.escape.kotlin
849 |
850 |
851 |
852 |
853 | begin
854 | '
855 | beginCaptures
856 |
857 | 0
858 |
859 | name
860 | punctuation.definition.string.begin.kotlin
861 |
862 |
863 | end
864 | '
865 | endCaptures
866 |
867 | 0
868 |
869 | name
870 | punctuation.definition.string.end.kotlin
871 |
872 |
873 | name
874 | string.quoted.single.kotlin
875 | patterns
876 |
877 |
878 | match
879 | \\.
880 | name
881 | constant.character.escape.kotlin
882 |
883 |
884 |
885 |
886 | begin
887 | `
888 | beginCaptures
889 |
890 | 0
891 |
892 | name
893 | punctuation.definition.string.begin.kotlin
894 |
895 |
896 | end
897 | `
898 | endCaptures
899 |
900 | 0
901 |
902 | name
903 | punctuation.definition.string.end.kotlin
904 |
905 |
906 | name
907 | string.quoted.single.kotlin
908 |
909 |
910 |
911 | typedefs
912 |
913 | begin
914 | (?=\s*(?:type))
915 | end
916 | (?=$)
917 | patterns
918 |
919 |
920 | match
921 | \b(type)\b
922 | name
923 | keyword.other.kotlin
924 |
925 |
926 | begin
927 | <
928 | end
929 | >
930 | patterns
931 |
932 |
933 | include
934 | #generics
935 |
936 |
937 |
938 |
939 | include
940 | #expressions
941 |
942 |
943 |
944 | types
945 |
946 | patterns
947 |
948 |
949 | match
950 | \b(Any|Unit|String|Int|Boolean|Char|Long|Double|Float|Short|Byte|dynamic)\b
951 | name
952 | storage.type.buildin.kotlin
953 |
954 |
955 | match
956 | \b(IntArray|BooleanArray|CharArray|LongArray|DoubleArray|FloatArray|ShortArray|ByteArray)\b
957 | name
958 | storage.type.buildin.array.kotlin
959 |
960 |
961 | begin
962 | \b(Array|List|Map)<\b
963 | beginCaptures
964 |
965 | 1
966 |
967 | name
968 | storage.type.buildin.collection.kotlin
969 |
970 |
971 | end
972 | >
973 | patterns
974 |
975 |
976 | include
977 | #types
978 |
979 |
980 | include
981 | #keywords
982 |
983 |
984 |
985 |
986 | begin
987 | \w+<
988 | end
989 | >
990 | patterns
991 |
992 |
993 | include
994 | #types
995 |
996 |
997 | include
998 | #keywords
999 |
1000 |
1001 |
1002 |
1003 | begin
1004 | (#)\(
1005 | beginCaptures
1006 |
1007 | 1
1008 |
1009 | name
1010 | keyword.operator.tuple.kotlin
1011 |
1012 |
1013 | end
1014 | \)
1015 | patterns
1016 |
1017 |
1018 | include
1019 | #expressions
1020 |
1021 |
1022 |
1023 |
1024 | begin
1025 | \{
1026 | end
1027 | \}
1028 | patterns
1029 |
1030 |
1031 | include
1032 | #statements
1033 |
1034 |
1035 |
1036 |
1037 | begin
1038 | \(
1039 | end
1040 | \)
1041 | patterns
1042 |
1043 |
1044 | include
1045 | #types
1046 |
1047 |
1048 |
1049 |
1050 | match
1051 | (->)
1052 | name
1053 | keyword.operator.declaration.kotlin
1054 |
1055 |
1056 |
1057 | variables
1058 |
1059 | begin
1060 | (?=\s*(?:var|val))
1061 | end
1062 | (?=:|=|$)
1063 | patterns
1064 |
1065 |
1066 | begin
1067 | \b(var|val)\b
1068 | beginCaptures
1069 |
1070 | 1
1071 |
1072 | name
1073 | keyword.other.kotlin
1074 |
1075 |
1076 | end
1077 | (?=:|=|$)
1078 | patterns
1079 |
1080 |
1081 | begin
1082 | <
1083 | end
1084 | >
1085 | patterns
1086 |
1087 |
1088 | include
1089 | #generics
1090 |
1091 |
1092 |
1093 |
1094 | captures
1095 |
1096 | 2
1097 |
1098 | name
1099 | entity.name.variable.kotlin
1100 |
1101 |
1102 | match
1103 | ([\.<\?>\w]+\.)?(\w+)
1104 |
1105 |
1106 |
1107 |
1108 | begin
1109 | (:)
1110 | beginCaptures
1111 |
1112 | 1
1113 |
1114 | name
1115 | keyword.operator.declaration.kotlin
1116 |
1117 |
1118 | end
1119 | (?==|$)
1120 | patterns
1121 |
1122 |
1123 | include
1124 | #types
1125 |
1126 |
1127 | include
1128 | #getters-and-setters
1129 |
1130 |
1131 |
1132 |
1133 | begin
1134 | (=)
1135 | beginCaptures
1136 |
1137 | 1
1138 |
1139 | name
1140 | keyword.operator.assignment.kotlin
1141 |
1142 |
1143 | end
1144 | (?=$)
1145 | patterns
1146 |
1147 |
1148 | include
1149 | #expressions
1150 |
1151 |
1152 | include
1153 | #getters-and-setters
1154 |
1155 |
1156 |
1157 |
1158 |
1159 |
1160 | scope
1161 | source.Kotlin
1162 | scopeName
1163 | source.Kotlin
1164 | uuid
1165 | d508c059-a938-4779-b2bc-ff43a5078907
1166 |
1167 |
1168 |
--------------------------------------------------------------------------------
/Kotlin.tmbundle/info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | contactEmailRot13
6 |
7 | contactName
8 | Sargun Vohra & IvoNet.nl
9 | description
10 | A programming language developed by JetBrains for the JVM.
11 | name
12 | Kotlin
13 | uuid
14 | 778B350C-91E6-4E3C-81F5-71BA94DB70B8
15 |
16 |
17 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 |
2 | Apache License
3 | Version 2.0, January 2004
4 | http://www.apache.org/licenses/
5 |
6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7 |
8 | 1. Definitions.
9 |
10 | "License" shall mean the terms and conditions for use, reproduction,
11 | and distribution as defined by Sections 1 through 9 of this document.
12 |
13 | "Licensor" shall mean the copyright owner or entity authorized by
14 | the copyright owner that is granting the License.
15 |
16 | "Legal Entity" shall mean the union of the acting entity and all
17 | other entities that control, are controlled by, or are under common
18 | control with that entity. For the purposes of this definition,
19 | "control" means (i) the power, direct or indirect, to cause the
20 | direction or management of such entity, whether by contract or
21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
22 | outstanding shares, or (iii) beneficial ownership of such entity.
23 |
24 | "You" (or "Your") shall mean an individual or Legal Entity
25 | exercising permissions granted by this License.
26 |
27 | "Source" form shall mean the preferred form for making modifications,
28 | including but not limited to software source code, documentation
29 | source, and configuration files.
30 |
31 | "Object" form shall mean any form resulting from mechanical
32 | transformation or translation of a Source form, including but
33 | not limited to compiled object code, generated documentation,
34 | and conversions to other media types.
35 |
36 | "Work" shall mean the work of authorship, whether in Source or
37 | Object form, made available under the License, as indicated by a
38 | copyright notice that is included in or attached to the work
39 | (an example is provided in the Appendix below).
40 |
41 | "Derivative Works" shall mean any work, whether in Source or Object
42 | form, that is based on (or derived from) the Work and for which the
43 | editorial revisions, annotations, elaborations, or other modifications
44 | represent, as a whole, an original work of authorship. For the purposes
45 | of this License, Derivative Works shall not include works that remain
46 | separable from, or merely link (or bind by name) to the interfaces of,
47 | the Work and Derivative Works thereof.
48 |
49 | "Contribution" shall mean any work of authorship, including
50 | the original version of the Work and any modifications or additions
51 | to that Work or Derivative Works thereof, that is intentionally
52 | submitted to Licensor for inclusion in the Work by the copyright owner
53 | or by an individual or Legal Entity authorized to submit on behalf of
54 | the copyright owner. For the purposes of this definition, "submitted"
55 | means any form of electronic, verbal, or written communication sent
56 | to the Licensor or its representatives, including but not limited to
57 | communication on electronic mailing lists, source code control systems,
58 | and issue tracking systems that are managed by, or on behalf of, the
59 | Licensor for the purpose of discussing and improving the Work, but
60 | excluding communication that is conspicuously marked or otherwise
61 | designated in writing by the copyright owner as "Not a Contribution."
62 |
63 | "Contributor" shall mean Licensor and any individual or Legal Entity
64 | on behalf of whom a Contribution has been received by Licensor and
65 | subsequently incorporated within the Work.
66 |
67 | 2. Grant of Copyright License. Subject to the terms and conditions of
68 | this License, each Contributor hereby grants to You a perpetual,
69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70 | copyright license to reproduce, prepare Derivative Works of,
71 | publicly display, publicly perform, sublicense, and distribute the
72 | Work and such Derivative Works in Source or Object form.
73 |
74 | 3. Grant of Patent License. Subject to the terms and conditions of
75 | this License, each Contributor hereby grants to You a perpetual,
76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77 | (except as stated in this section) patent license to make, have made,
78 | use, offer to sell, sell, import, and otherwise transfer the Work,
79 | where such license applies only to those patent claims licensable
80 | by such Contributor that are necessarily infringed by their
81 | Contribution(s) alone or by combination of their Contribution(s)
82 | with the Work to which such Contribution(s) was submitted. If You
83 | institute patent litigation against any entity (including a
84 | cross-claim or counterclaim in a lawsuit) alleging that the Work
85 | or a Contribution incorporated within the Work constitutes direct
86 | or contributory patent infringement, then any patent licenses
87 | granted to You under this License for that Work shall terminate
88 | as of the date such litigation is filed.
89 |
90 | 4. Redistribution. You may reproduce and distribute copies of the
91 | Work or Derivative Works thereof in any medium, with or without
92 | modifications, and in Source or Object form, provided that You
93 | meet the following conditions:
94 |
95 | (a) You must give any other recipients of the Work or
96 | Derivative Works a copy of this License; and
97 |
98 | (b) You must cause any modified files to carry prominent notices
99 | stating that You changed the files; and
100 |
101 | (c) You must retain, in the Source form of any Derivative Works
102 | that You distribute, all copyright, patent, trademark, and
103 | attribution notices from the Source form of the Work,
104 | excluding those notices that do not pertain to any part of
105 | the Derivative Works; and
106 |
107 | (d) If the Work includes a "NOTICE" text file as part of its
108 | distribution, then any Derivative Works that You distribute must
109 | include a readable copy of the attribution notices contained
110 | within such NOTICE file, excluding those notices that do not
111 | pertain to any part of the Derivative Works, in at least one
112 | of the following places: within a NOTICE text file distributed
113 | as part of the Derivative Works; within the Source form or
114 | documentation, if provided along with the Derivative Works; or,
115 | within a display generated by the Derivative Works, if and
116 | wherever such third-party notices normally appear. The contents
117 | of the NOTICE file are for informational purposes only and
118 | do not modify the License. You may add Your own attribution
119 | notices within Derivative Works that You distribute, alongside
120 | or as an addendum to the NOTICE text from the Work, provided
121 | that such additional attribution notices cannot be construed
122 | as modifying the License.
123 |
124 | You may add Your own copyright statement to Your modifications and
125 | may provide additional or different license terms and conditions
126 | for use, reproduction, or distribution of Your modifications, or
127 | for any such Derivative Works as a whole, provided Your use,
128 | reproduction, and distribution of the Work otherwise complies with
129 | the conditions stated in this License.
130 |
131 | 5. Submission of Contributions. Unless You explicitly state otherwise,
132 | any Contribution intentionally submitted for inclusion in the Work
133 | by You to the Licensor shall be under the terms and conditions of
134 | this License, without any additional terms or conditions.
135 | Notwithstanding the above, nothing herein shall supersede or modify
136 | the terms of any separate license agreement you may have executed
137 | with Licensor regarding such Contributions.
138 |
139 | 6. Trademarks. This License does not grant permission to use the trade
140 | names, trademarks, service marks, or product names of the Licensor,
141 | except as required for reasonable and customary use in describing the
142 | origin of the Work and reproducing the content of the NOTICE file.
143 |
144 | 7. Disclaimer of Warranty. Unless required by applicable law or
145 | agreed to in writing, Licensor provides the Work (and each
146 | Contributor provides its Contributions) on an "AS IS" BASIS,
147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148 | implied, including, without limitation, any warranties or conditions
149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150 | PARTICULAR PURPOSE. You are solely responsible for determining the
151 | appropriateness of using or redistributing the Work and assume any
152 | risks associated with Your exercise of permissions under this License.
153 |
154 | 8. Limitation of Liability. In no event and under no legal theory,
155 | whether in tort (including negligence), contract, or otherwise,
156 | unless required by applicable law (such as deliberate and grossly
157 | negligent acts) or agreed to in writing, shall any Contributor be
158 | liable to You for damages, including any direct, indirect, special,
159 | incidental, or consequential damages of any character arising as a
160 | result of this License or out of the use or inability to use the
161 | Work (including but not limited to damages for loss of goodwill,
162 | work stoppage, computer failure or malfunction, or any and all
163 | other commercial damages or losses), even if such Contributor
164 | has been advised of the possibility of such damages.
165 |
166 | 9. Accepting Warranty or Additional Liability. While redistributing
167 | the Work or Derivative Works thereof, You may choose to offer,
168 | and charge a fee for, acceptance of support, warranty, indemnity,
169 | or other liability obligations and/or rights consistent with this
170 | License. However, in accepting such obligations, You may act only
171 | on Your own behalf and on Your sole responsibility, not on behalf
172 | of any other Contributor, and only if You agree to indemnify,
173 | defend, and hold each Contributor harmless for any liability
174 | incurred by, or claims asserted against, such Contributor by reason
175 | of your accepting any such warranty or additional liability.
176 |
177 | END OF TERMS AND CONDITIONS
178 |
179 | APPENDIX: How to apply the Apache License to your work.
180 |
181 | To apply the Apache License to your work, attach the following
182 | boilerplate notice, with the fields enclosed by brackets "[]"
183 | replaced with your own identifying information. (Don't include
184 | the brackets!) The text should be enclosed in the appropriate
185 | comment syntax for the file format. We also recommend that a
186 | file or class name and description of purpose be included on the
187 | same "printed page" as the copyright notice for easier
188 | identification within third-party archives.
189 |
190 | Copyright 2012-2014 Vladimir Kostyukov
191 |
192 | Licensed under the Apache License, Version 2.0 (the "License");
193 | you may not use this file except in compliance with the License.
194 | You may obtain a copy of the License at
195 |
196 | http://www.apache.org/licenses/LICENSE-2.0
197 |
198 | Unless required by applicable law or agreed to in writing, software
199 | distributed under the License is distributed on an "AS IS" BASIS,
200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201 | See the License for the specific language governing permissions and
202 | limitations under the License.
203 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Kotlin TextMate Bundle
2 |
3 | This is a TextMate bundle for the Kotlin programming language. The grammar definition is from the [vkostyukov/kotlin-sublime-package](https://github.com/vkostyukov/kotlin-sublime-package) repo. The original repo has been repackaged to fit the format of a TextMate bundle.
4 |
5 |
--------------------------------------------------------------------------------