├── #ifndef-#define-#endif.sublime-snippet
├── #include-(inc angle).sublime-snippet
├── #include-(inc).sublime-snippet
├── $1.begin()-$1.end()-(beginend).sublime-snippet
├── 010-main()-(main).sublime-snippet
├── 030-for-int-loop-(fori).sublime-snippet
├── C++ - Starting Kit.sublime-build
├── C++.sublime-settings
├── C++.tmLanguage
├── C.sublime-settings
├── C.tmLanguage
├── C.tmLanguage.header
├── Comments (C++).tmPreferences
├── Completion Rules.tmPreferences
├── Enumeration.sublime-snippet
├── Indentation Rules.tmPreferences
├── README.md
├── Symbol Index Hide Ctors.tmPreferences
├── Symbol Index.tmPreferences
├── Symbol List - Indent Class Methods.tmPreferences
├── Symbol List - Prefix Banner Items.tmPreferences
├── Symbol List Hide Forward Decls.tmPreferences
├── Typedef.sublime-snippet
├── class-..-(class).sublime-snippet
├── cout.sublime-snippet
├── do...while-loop-(do).sublime-snippet
├── exit_failure.sublime-snippet
├── exit_success.sublime-snippet
├── forv.sublime-snippet
├── fprintf.sublime-snippet
├── if-..-(if).sublime-snippet
├── messages.json
├── messages
├── 0.2.2.txt
├── 0.2.4.txt
├── 0.2.5.txt
├── 0.2.6.txt
├── 0.2.7.txt
├── 0.2.8.txt
└── install.txt
├── namespace-..-(namespace).sublime-snippet
├── printf-..-(printf).sublime-snippet
├── read-file-(readF).sublime-snippet
├── std-map-(map).sublime-snippet
├── std-vector-(v).sublime-snippet
├── string.sublime-snippet
├── struct.sublime-snippet
├── template-typename-..-(template).sublime-snippet
└── try...catch(try).sublime-snippet
/#ifndef-#define-#endif.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | #ifndef … #define … #endif
3 |
6 | def
7 | source.c, source.c++, source.objc, source.objc++
8 |
9 |
--------------------------------------------------------------------------------
/#include-(inc angle).sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | #include <…>
3 | ]]>
4 | Inc
5 | source.c, source.objc, source.c++, source.objc++
6 |
7 |
--------------------------------------------------------------------------------
/#include-(inc).sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | #include "…"
3 |
4 | inc
5 | source.c, source.objc, source.c++, source.objc++
6 |
7 |
--------------------------------------------------------------------------------
/$1.begin()-$1.end()-(beginend).sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | $1.begin(), $1.end()
3 | )?$/(?2::(?1:>:.))/}begin(), ${1:v}${1/^.*?(-)?(>)?$/(?2::(?1:>:.))/}end()]]>
4 | beginend
5 | source.c++, source.objc++
6 |
7 |
--------------------------------------------------------------------------------
/010-main()-(main).sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | main()
3 |
8 | main
9 | source.c, source.objc, source.c++, source.objc++
10 |
11 |
--------------------------------------------------------------------------------
/030-for-int-loop-(fori).sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | For Loop
3 |
6 | for
7 | source.c, source.objc, source.c++, source.objc++
8 |
9 |
--------------------------------------------------------------------------------
/C++ - Starting Kit.sublime-build:
--------------------------------------------------------------------------------
1 | {
2 | "cmd": ["g++","-std=c++11","-Wall","*.cpp", "-I", "../header","-o", "${file_path}/${file_base_name}"],
3 | "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
4 | "working_dir": "${file_path}",
5 | "selector": "source.c++",
6 | "shell" : true,
7 |
8 | "variants":
9 | [
10 | {
11 | "cmd": ["start","cmd", "/k","${file_path}/${file_base_name}"],
12 | "name": "Run"
13 | }
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/C++.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": ["c", "h", "cpp", "cc", "cxx", "c++", "h", "hpp", "hxx", "h++", "inl", "ipp"]
3 | }
4 |
--------------------------------------------------------------------------------
/C++.tmLanguage:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 | fileTypes
9 |
10 |
13 | cpp
14 | cc
15 | cp
16 | cxx
17 | c++
18 | C
19 | h
20 | hh
21 | hpp
22 | hxx
23 | h++
24 | inl
25 | ipp
26 |
27 | firstLineMatch
28 | -\*- C\+\+ -\*-
29 | foldingStartMarker
30 | (?x)
31 | /\*\*(?!\*)
32 | |^(?![^{]*?//|[^{]*?/\*(?!.*?\*/.*?\{)).*?\{\s*($|//|/\*(?!.*?\*/.*\S))
33 |
34 | foldingStopMarker
35 | (?<!\*)\*\*/|^\s*\}
36 | keyEquivalent
37 | ^~C
38 |
41 | name
42 | C++
43 | patterns
44 |
45 |
48 |
49 | include
50 | #comments
51 |
52 |
53 | include
54 | #preprocessor-rule-enabled
55 |
56 |
57 | include
58 | #preprocessor-rule-disabled
59 |
60 |
61 | include
62 | #preprocessor-rule-other
63 |
64 |
65 | include
66 | #pragma-mark
67 |
68 |
69 | include
70 | #disabled
71 |
72 |
75 |
76 | begin
77 | (R|Ru|RU|uR|UR)(\"\+\*\()\.*
78 | beginCaptures
79 |
80 | 1
81 |
82 | name
83 | prefix
84 |
85 | 2
86 |
87 | name
88 | begin
89 |
90 |
91 | end
92 | (\)\+\*\")
93 | endCaptures
94 |
95 | 0
96 |
97 | name
98 | end
99 |
100 |
101 | name
102 | raw.string.ccpp
103 | patterns
104 |
105 |
106 | include
107 | #comments
108 |
109 |
110 |
111 |
114 |
115 | begin
116 | (R|Ru|RU|uR|UR)(\"\()\.*
117 | beginCaptures
118 |
119 | 1
120 |
121 | name
122 | prefix
123 |
124 | 2
125 |
126 | name
127 | begin
128 |
129 |
130 | end
131 | (\)\")
132 | endCaptures
133 |
134 | 0
135 |
136 | name
137 | end
138 |
139 |
140 | name
141 | raw.string.ccpp
142 | patterns
143 |
144 |
145 | include
146 | #comments
147 |
148 |
149 |
150 |
153 |
154 | begin
155 | (\:)\s*(\w+\(\w+\))+
156 | beginCaptures
157 |
158 | 1
159 |
160 | name
161 | begin
162 |
163 | 2
164 |
165 | name
166 | variable
167 |
168 |
169 | end
170 | \{
171 | endCaptures
172 |
173 | 0
174 |
175 | name
176 | open.curly.bracket.block
177 |
178 |
179 | name
180 | member.initializer
181 | patterns
182 |
183 |
184 | include
185 | #comments
186 |
187 |
188 |
189 |
192 |
193 | match
194 | \b(break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while)\b
195 | name
196 | keyword.control.c
197 |
198 |
201 |
202 | match
203 | \b(catch|operator|try|throw|using|namespace)\b
204 | name
205 | keyword.control.c++
206 |
207 |
208 | match
209 | \bdelete\b(\s*\[\])?|\bnew\b(?!])
210 | name
211 | keyword.control.c++
212 |
213 |
216 |
217 | match
218 | \b(and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq)\b
219 | name
220 | keyword.operator.c++
221 |
222 |
225 |
226 | match
227 | \b(const_cast|dynamic_cast|reinterpret_cast|static_cast)\b\s*
228 | name
229 | keyword.operator.cast.c++
230 |
231 |
234 |
235 | match
236 | \b(asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|string|int|long|short|signed|struct|typedef|union|unsigned|void)\b
237 | name
238 | storage.type.c
239 |
240 |
243 |
244 | match
245 | \b(class|wchar_t|nullptr_t)\b
246 | name
247 | storage.type.c++
248 |
249 |
252 |
253 | match
254 | \b(size_t|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|char16_t|char32_t)\b
255 | name
256 | storage.type.c++11
257 |
258 |
261 |
262 | match
263 | \btemplate\b\s*
264 | name
265 | storage.type.template.c++
266 |
267 |
270 |
271 | match
272 | \b(const|extern|register|restrict|static|volatile|inline)\b
273 | name
274 | storage.modifier.c
275 |
276 |
279 |
280 | match
281 | \b(export|mutable|typename)\b
282 | name
283 | storage.modifier.c++
284 |
285 |
286 | match
287 | \b(friend|explicit|virtual)\b
288 | name
289 | storage.modifier.c++
290 |
291 |
292 | match
293 | \b(private|protected|public)\b\s*\:
294 | name
295 | storage.modifier.c++
296 |
297 |
298 | match
299 | \b(private|protected|public)\b
300 | name
301 | storage.modifier.c++
302 |
303 |
304 | match
305 | \b(export|mutable|typename)\b
306 | name
307 | storage.modifier.c++
308 |
309 |
312 |
313 | match
314 | \b(constexpr|auto)\b
315 | name
316 | storage.modifier.c++
317 |
318 |
319 | match
320 | \b(override|final|noexcept)\b
321 | name
322 | storage.modifier.c++
323 |
324 |
325 |
328 |
329 | comment
330 | common C constant naming idiom -- kConstantVariable
331 | match
332 | \bk[A-Z]\w*\b
333 | name
334 | constant.other.variable.mac-classic.c
335 |
336 |
339 |
340 | match
341 | \bg[A-Z]\w*\b
342 | name
343 | variable.other.readwrite.global.mac-classic.c
344 |
345 |
348 |
349 | match
350 | \bs[A-Z]\w*\b
351 | name
352 | variable.other.readwrite.static.mac-classic.c
353 |
354 |
357 |
358 | comment
359 | common C++ instance var naming idiom -- fMemberName
360 | match
361 | \b(f|m)[A-Z]\w*\b
362 | name
363 | variable.other.readwrite.member.c++
364 |
365 |
368 |
369 | match
370 | \bthis\b
371 | name
372 | variable.language.c++
373 |
374 |
377 |
378 | match
379 | \b(NULL|true|false|TRUE|FALSE)\b
380 | name
381 | constant.language.c
382 |
383 |
386 |
387 | match
388 | \b(nullptr|EXIT_SUCCESS|EXIT_FAILURE)\b
389 | name
390 | constant.language.c++
391 |
392 |
395 |
396 | match
397 | \b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\b
398 | name
399 | constant.numeric.c
400 |
401 |
404 |
405 | match
406 | \b(u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t)\b
407 | name
408 | support.type.sys-types.c
409 |
410 |
413 |
414 | match
415 | \b(pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t)\b
416 | name
417 | support.type.pthread.c
418 |
419 |
422 |
423 | match
424 | \b(int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t|uintmax_t|uintmax_t)\b
425 | name
426 | support.type.stdint.c
427 |
428 |
431 |
432 | match
433 | \b(noErr|kNilOptions|kInvalidID|kVariableLengthArray)\b
434 | name
435 | support.constant.mac-classic.c
436 |
437 |
440 |
441 | match
442 | \b(AbsoluteTime|Boolean|Byte|ByteCount|ByteOffset|BytePtr|CompTimeValue|ConstLogicalAddress|ConstStrFileNameParam|ConstStringPtr|Duration|Fixed|FixedPtr|Float32|Float32Point|Float64|Float80|Float96|FourCharCode|Fract|FractPtr|Handle|ItemCount|LogicalAddress|OptionBits|OSErr|OSStatus|OSType|OSTypePtr|PhysicalAddress|ProcessSerialNumber|ProcessSerialNumberPtr|ProcHandle|Ptr|ResType|ResTypePtr|ShortFixed|ShortFixedPtr|SignedByte|SInt16|SInt32|SInt64|SInt8|Size|StrFileName|StringHandle|StringPtr|TimeBase|TimeRecord|TimeScale|TimeValue|TimeValue64|UInt16|UInt32|UInt64|UInt8|UniChar|UniCharCount|UniCharCountPtr|UniCharPtr|UnicodeScalarValue|UniversalProcHandle|UniversalProcPtr|UnsignedFixed|UnsignedFixedPtr|UnsignedWide|UTF16Char|UTF32Char|UTF8Char)\b
443 | name
444 | support.type.mac-classic.c
445 |
446 |
447 |
450 |
451 | match
452 | \w+\:\:\w+\*
453 | name
454 | pointer.ccpp
455 |
456 |
457 | match
458 | \*\(\w+\)
459 | name
460 | pointer.ccpp
461 |
462 |
463 | match
464 | \(\w+\)\*
465 | name
466 | pointer.ccpp
467 |
468 |
469 | match
470 | \w+\*
471 | name
472 | pointer.ccpp
473 |
474 |
475 | match
476 | \*\\w+
477 | name
478 | pointer.ccpp
479 |
480 |
483 |
484 | match
485 | \&\\w+
486 | name
487 | address.ccpp
488 |
489 |
492 |
493 | match
494 | \w+(?=\[)
495 | name
496 | array.ccpp
497 |
498 |
501 |
502 | match
503 | (?<=class|wchar_t|nullptr_t)\s\w+
504 | name
505 | meta.class-struct.c++ entity.name.type.c++
506 |
507 |
508 | match
509 | \w+(?=\()
510 | name
511 | meta.function.c entity.name.function.c
512 |
513 |
514 | match
515 | (?<=\.)\w+(?=[^\w|\.])
516 | name
517 | meta.function.c meta.block.c meta.function-call.c support.function.any-method.c
518 |
519 |
520 | match
521 | (?<=\:\:)\w+
522 | name
523 | meta.function.c entity.name.function.c
524 |
525 |
526 | match
527 | \w+\:\:
528 | name
529 | meta.function.c entity.name.function.c
530 |
531 |
532 | match
533 | \:\:\w+
534 | name
535 | meta.function.c entity.name.function.c
536 |
537 |
540 |
541 | match
542 | \+\=|\-\=|\*\=|\/\=|\%\=|\&\=|\|\=|\^\=|\<\<\=|\>\>\=
543 | name
544 | keyword.operator.compound.ccpp
545 |
546 |
549 |
550 | match
551 | !(?<=.)
552 | name
553 | keyword.operator.logical.ccpp
554 |
555 |
556 | match
557 | \&\&|\|\|
558 | name
559 | keyword.operator.logical.ccpp
560 |
561 |
564 |
565 | match
566 | ~(?<=.)
567 | name
568 | keyword.operator.bitwise.ccpp
569 |
570 |
571 | match
572 | \&|\||\^|\<\<|\>\>
573 | name
574 | keyword.operator.bitwise.ccpp
575 |
576 |
579 |
580 | match
581 | \>\=
582 | name
583 | keyword.operator.comparison.ccpp
584 |
585 |
586 | match
587 | \<\=
588 | name
589 | keyword.operator.comparison.ccpp
590 |
591 |
592 | match
593 | \=\=|\!\=|\<|\>
594 | name
595 | keyword.operator.comparison.ccpp
596 |
597 |
600 |
601 | match
602 | \=|\+|\-|\*|\/|\%
603 | name
604 | keyword.operator.arithmetic.ccpp
605 |
606 |
609 |
610 | match
611 | (?<=\s)\}(?=break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while)
612 | name
613 | open.curly.bracket.block.ccpp
614 |
615 |
616 | match
617 | \}(?=[^\;\s\r\n])
618 | name
619 | close.curly.bracket.ccpp
620 |
621 |
622 | match
623 | (?<=[^\s\r\n])\s*\}
624 | name
625 | close.curly.bracket.ccpp
626 |
627 |
628 | match
629 | \{(?=(\s*|\t*)\/\/\s*.*(\r|\n))
630 | name
631 | open.curly.bracket.block.ccpp
632 |
633 |
636 |
637 | match
638 | \{(?=(\s*|\t*)(\r|\n))
639 | name
640 | open.curly.bracket.block.ccpp
641 |
642 |
643 | match
644 | (?<=\s)\}(?=\;?)
645 | name
646 | close.curly.bracket.block.ccpp
647 |
648 |
649 | match
650 | ^\}
651 | name
652 | close.curly.bracket.block.ccpp
653 |
654 |
657 |
658 | match
659 | \{
660 | name
661 | open.curly.bracket.ccpp
662 |
663 |
664 | match
665 | \}
666 | name
667 | close.curly.bracket.ccpp
668 |
669 |
672 |
673 | match
674 | \(
675 | name
676 | open.round.bracket.ccpp
677 |
678 |
679 | match
680 | \)
681 | name
682 | close.round.bracket.ccpp
683 |
684 |
687 |
688 | match
689 | \[
690 | name
691 | open.angle.bracket.ccpp
692 |
693 |
694 | match
695 | \]
696 | name
697 | close.angle.bracket.ccpp
698 |
699 |
702 |
703 | match
704 | \.
705 | name
706 | period.ccpp
707 |
708 |
711 |
712 | match
713 | \,
714 | name
715 | coma.ccpp
716 |
717 |
720 |
721 | match
722 | \;(?=(\s*|\t*)\/\/\s*.*)
723 | name
724 | semi_colon.eol.ccpp
725 |
726 |
729 |
730 | match
731 | \;(?=(\s*)(\r|\n))
732 | name
733 | semi_colon.eol.ccpp
734 |
735 |
736 | match
737 | \s*?\;\s*?$
738 | name
739 | semi_colon.eol.ccpp
740 |
741 |
744 |
745 | match
746 | \;
747 | name
748 | semi_colon.ccpp
749 |
750 |
753 |
754 | begin
755 | "
756 | beginCaptures
757 |
758 | 0
759 |
760 | name
761 | punctuation.definition.string.begin.c
762 |
763 |
764 | end
765 | "
766 | endCaptures
767 |
768 | 0
769 |
770 | name
771 | punctuation.definition.string.end.c
772 |
773 |
774 | name
775 | string.quoted.double.c
776 | patterns
777 |
778 |
779 | include
780 | #string_escaped_char
781 |
782 |
783 | include
784 | #string_placeholder
785 |
786 |
787 |
788 |
791 |
792 | begin
793 | '
794 | beginCaptures
795 |
796 | 0
797 |
798 | name
799 | punctuation.definition.string.begin.c
800 |
801 |
802 | end
803 | '
804 | endCaptures
805 |
806 | 0
807 |
808 | name
809 | punctuation.definition.string.end.c
810 |
811 |
812 | name
813 | string.quoted.single.c
814 | patterns
815 |
816 |
817 | include
818 | #string_escaped_char
819 |
820 |
821 |
822 |
825 |
826 | begin
827 | (?x)
828 | ^\s*\#\s*(define)\s+ # define
829 | ((?<id>[a-zA-Z_][a-zA-Z0-9_]*)) # macro name
830 | (?: # and optionally:
831 | (\() # an open parenthesis
832 | (
833 | \s* \g<id> \s* # first argument
834 | ((,) \s* \g<id> \s*)* # additional arguments
835 | (?:\.\.\.)? # varargs ellipsis?
836 | )
837 | (\)) # a close parenthesis
838 | )?
839 |
840 | beginCaptures
841 |
842 | 1
843 |
844 | name
845 | keyword.control.import.define.c
846 |
847 | 2
848 |
849 | name
850 | entity.name.function.preprocessor.c
851 |
852 | 4
853 |
854 | name
855 | punctuation.definition.parameters.c
856 |
857 | 5
858 |
859 | name
860 | variable.parameter.preprocessor.c
861 |
862 | 7
863 |
864 | name
865 | punctuation.separator.parameters.c
866 |
867 | 8
868 |
869 | name
870 | punctuation.definition.parameters.c
871 |
872 |
873 | end
874 | (?=(?://|/\*))|$
875 | name
876 | meta.preprocessor.macro.c
877 | patterns
878 |
879 |
880 | match
881 | (?>\\\s*\n)
882 | name
883 | punctuation.separator.continuation.c
884 |
885 |
886 | include
887 | $base
888 |
889 |
890 |
891 |
894 |
895 | begin
896 | ^\s*#\s*(error|warning)\b
897 | captures
898 |
899 | 1
900 |
901 | name
902 | keyword.control.import.error.c
903 |
904 |
905 | end
906 | $
907 | name
908 | meta.preprocessor.diagnostic.c
909 | patterns
910 |
911 |
912 | match
913 | (?>\\\s*\n)
914 | name
915 | punctuation.separator.continuation.c
916 |
917 |
918 |
919 |
922 |
923 | begin
924 | ^\s*#\s*(include|import)\b\s+
925 | captures
926 |
927 | 1
928 |
929 | name
930 | keyword.control.import.include.c
931 |
932 |
933 | end
934 | (?=(?://|/\*))|$
935 | name
936 | meta.preprocessor.c.include
937 | patterns
938 |
939 |
940 | match
941 | (?>\\\s*\n)
942 | name
943 | punctuation.separator.continuation.c
944 |
945 |
946 | begin
947 | "
948 | beginCaptures
949 |
950 | 0
951 |
952 | name
953 | punctuation.definition.string.begin.c
954 |
955 |
956 | end
957 | "
958 | endCaptures
959 |
960 | 0
961 |
962 | name
963 | punctuation.definition.string.end.c
964 |
965 |
966 | name
967 | string.quoted.double.include.c
968 |
969 |
970 | begin
971 | <
972 | beginCaptures
973 |
974 | 0
975 |
976 | name
977 | punctuation.definition.string.begin.c
978 |
979 |
980 | end
981 | >
982 | endCaptures
983 |
984 | 0
985 |
986 | name
987 | punctuation.definition.string.end.c
988 |
989 |
990 | name
991 | string.quoted.other.lt-gt.include.c
992 |
993 |
994 |
995 |
998 |
999 | begin
1000 | ^\s*#\s*(define|defined|elif|else|if|ifdef|ifndef|line|pragma|undef)\b
1001 | captures
1002 |
1003 | 1
1004 |
1005 | name
1006 | keyword.control.import.c
1007 |
1008 |
1009 | end
1010 | (?=(?://|/\*))|$
1011 | name
1012 | meta.preprocessor.c
1013 | patterns
1014 |
1015 |
1016 | match
1017 | (?>\\\s*\n)
1018 | name
1019 | punctuation.separator.continuation.c
1020 |
1021 |
1022 |
1023 |
1024 |
1027 |
1034 | repository
1035 |
1036 |
1039 |
1042 | comments
1043 |
1044 | patterns
1045 |
1046 |
1047 | captures
1048 |
1049 | 1
1050 |
1051 | name
1052 | meta.toc-list.banner.block.c
1053 |
1054 |
1055 | match
1056 | ^/\* =(\s*.*?)\s*= \*/$\n?
1057 | name
1058 | comment.block.c
1059 |
1060 |
1061 | begin
1062 | /\*
1063 | captures
1064 |
1065 | 0
1066 |
1067 | name
1068 | punctuation.definition.comment.c
1069 |
1070 |
1071 | end
1072 | \*/
1073 | name
1074 | comment.block.c
1075 |
1076 |
1077 | match
1078 | \*/.*\n
1079 | name
1080 | invalid.illegal.stray-comment-end.c
1081 |
1082 |
1083 | captures
1084 |
1085 | 1
1086 |
1087 | name
1088 | meta.toc-list.banner.line.c
1089 |
1090 |
1091 | match
1092 | ^// =(\s*.*?)\s*=\s*$\n?
1093 | name
1094 | comment.line.banner.c++
1095 |
1096 |
1097 | begin
1098 | //
1099 | beginCaptures
1100 |
1101 | 0
1102 |
1103 | name
1104 | punctuation.definition.comment.c
1105 |
1106 |
1107 | end
1108 | $\n?
1109 | name
1110 | comment.line.double-slash.c++
1111 | patterns
1112 |
1113 |
1114 | match
1115 | (?>\\\s*\n)
1116 | name
1117 | punctuation.separator.continuation.c++
1118 |
1119 |
1120 |
1121 |
1122 |
1123 |
1126 | string_escaped_char
1127 |
1128 | patterns
1129 |
1130 |
1131 | match
1132 | \\(\\|[abefnprtv'"?]|[0-3]\d{,2}|[4-7]\d?|x[a-fA-F0-9]{,2}|u[a-fA-F0-9]{,4}|U[a-fA-F0-9]{,8})
1133 | name
1134 | constant.character.escape.c
1135 |
1136 |
1137 | match
1138 | \\.
1139 | name
1140 | invalid.illegal.unknown-escape.c
1141 |
1142 |
1143 |
1144 |
1147 | string_placeholder
1148 |
1149 | patterns
1150 |
1151 |
1152 | match
1153 | (?x)%
1154 | (\d+\$)? # field (argument #)
1155 | [#0\- +']* # flags
1156 | [,;:_]? # separator character (AltiVec)
1157 | ((-?\d+)|\*(-?\d+\$)?)? # minimum field width
1158 | (\.((-?\d+)|\*(-?\d+\$)?)?)? # precision
1159 | (hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier
1160 | [diouxXDOUeEfFgGaACcSspn%] # conversion type
1161 |
1162 | name
1163 | constant.other.placeholder.c
1164 |
1165 |
1166 | match
1167 | %
1168 | name
1169 | invalid.illegal.placeholder.c
1170 |
1171 |
1172 |
1173 |
1176 | disabled
1177 |
1178 | begin
1179 | ^\s*#\s*if(n?def)?\b.*$
1180 | comment
1181 | eat nested preprocessor if(def)s
1182 | end
1183 | ^\s*#\s*endif\b
1184 | patterns
1185 |
1186 |
1187 | include
1188 | #disabled
1189 |
1190 |
1191 | include
1192 | #pragma-mark
1193 |
1194 |
1195 |
1196 |
1199 | pragma-mark
1200 |
1201 | captures
1202 |
1203 | 1
1204 |
1205 | name
1206 | meta.preprocessor.c
1207 |
1208 | 2
1209 |
1210 | name
1211 | keyword.control.import.pragma.c
1212 |
1213 | 3
1214 |
1215 | name
1216 | meta.toc-list.pragma-mark.c
1217 |
1218 |
1219 | match
1220 | ^\s*(#\s*(pragma\s+mark)\s+(.*))
1221 | name
1222 | meta.section
1223 |
1224 |
1227 | preprocessor-rule-disabled
1228 |
1229 | begin
1230 | ^\s*(#(if)\s+(0)\b).*
1231 | captures
1232 |
1233 | 1
1234 |
1235 | name
1236 | meta.preprocessor.c
1237 |
1238 | 2
1239 |
1240 | name
1241 | keyword.control.import.if.c
1242 |
1243 | 3
1244 |
1245 | name
1246 | constant.numeric.preprocessor.c
1247 |
1248 |
1249 | end
1250 | ^\s*(#\s*(endif)\b)
1251 | patterns
1252 |
1253 |
1254 | begin
1255 | ^\s*(#\s*(else)\b)
1256 | captures
1257 |
1258 | 1
1259 |
1260 | name
1261 | meta.preprocessor.c
1262 |
1263 | 2
1264 |
1265 | name
1266 | keyword.control.import.else.c
1267 |
1268 |
1269 | end
1270 | (?=^\s*#\s*endif\b)
1271 | patterns
1272 |
1273 |
1274 | include
1275 | $base
1276 |
1277 |
1278 |
1279 |
1280 | begin
1281 |
1282 | end
1283 | (?=^\s*#\s*(else|endif)\b)
1284 | name
1285 | comment.block.preprocessor.if-branch
1286 | patterns
1287 |
1288 |
1289 | include
1290 | #disabled
1291 |
1292 |
1293 | include
1294 | #pragma-mark
1295 |
1296 |
1297 |
1298 |
1299 |
1300 |
1303 | preprocessor-rule-enabled
1304 |
1305 | begin
1306 | ^\s*(#(if)\s+(0*1)\b)
1307 | captures
1308 |
1309 | 1
1310 |
1311 | name
1312 | meta.preprocessor.c
1313 |
1314 | 2
1315 |
1316 | name
1317 | keyword.control.import.if.c
1318 |
1319 | 3
1320 |
1321 | name
1322 | constant.numeric.preprocessor.c
1323 |
1324 |
1325 | end
1326 | ^\s*(#\s*(endif)\b)
1327 | patterns
1328 |
1329 |
1330 | begin
1331 | ^\s*(#\s*(else)\b).*
1332 | captures
1333 |
1334 | 1
1335 |
1336 | name
1337 | meta.preprocessor.c
1338 |
1339 | 2
1340 |
1341 | name
1342 | keyword.control.import.else.c
1343 |
1344 |
1345 | contentName
1346 | comment.block.preprocessor.else-branch
1347 | end
1348 | (?=^\s*#\s*endif\b)
1349 | patterns
1350 |
1351 |
1352 | include
1353 | #disabled
1354 |
1355 |
1356 | include
1357 | #pragma-mark
1358 |
1359 |
1360 |
1361 |
1362 | begin
1363 |
1364 | end
1365 | (?=^\s*#\s*(else|endif)\b)
1366 | patterns
1367 |
1368 |
1369 | include
1370 | $base
1371 |
1372 |
1373 |
1374 |
1375 |
1376 |
1379 | preprocessor-rule-other
1380 |
1381 | begin
1382 | ^\s*(#\s*(if(n?def)?)\b.*?(?:(?=(?://|/\*))|$))
1383 | captures
1384 |
1385 | 1
1386 |
1387 | name
1388 | meta.preprocessor.c
1389 |
1390 | 2
1391 |
1392 | name
1393 | keyword.control.import.c
1394 |
1395 |
1396 | end
1397 | ^\s*(#\s*(endif)\b)
1398 | patterns
1399 |
1400 |
1401 | include
1402 | $base
1403 |
1404 |
1405 |
1406 |
1409 | scopeName
1410 | source.c++
1411 | uuid
1412 | 25066DC2-6B1D-11D9-9D5B-000D93589AF6
1413 |
1414 |
1415 |
--------------------------------------------------------------------------------
/C.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": ["c", "h", "cpp", "cc", "cxx", "c++", "h", "hpp", "hxx", "h++", "inl", "ipp"]
3 | }
4 |
--------------------------------------------------------------------------------
/C.tmLanguage:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 | fileTypes
9 |
10 |
13 | c
14 | h
15 |
18 | cpp
19 | c
20 | hpp
21 | h
22 |
23 | firstLineMatch
24 | -[*]-( Mode:)? C -[*]-
25 | foldingStartMarker
26 | (?x)
27 | /\*\*(?!\*)
28 | |^(?![^{]*?//|[^{]*?/\*(?!.*?\*/.*?\{)).*?\{\s*($|//|/\*(?!.*?\*/.*\S))
29 |
30 | foldingStopMarker
31 | (?<!\*)\*\*/|^\s*\}
32 | keyEquivalent
33 | ^~C
34 |
37 | name
38 | C
39 | patterns
40 |
41 |
44 |
45 | include
46 | #comments
47 |
48 |
49 | include
50 | #preprocessor-rule-enabled
51 |
52 |
53 | include
54 | #preprocessor-rule-disabled
55 |
56 |
57 | include
58 | #preprocessor-rule-other
59 |
60 |
61 | include
62 | #pragma-mark
63 |
64 |
65 | include
66 | #disabled
67 |
68 |
71 |
72 | begin
73 | (R|Ru|RU|uR|UR)(\"\+\*\()\.*
74 | beginCaptures
75 |
76 | 1
77 |
78 | name
79 | prefix
80 |
81 | 2
82 |
83 | name
84 | begin
85 |
86 |
87 | end
88 | (\)\+\*\")
89 | endCaptures
90 |
91 | 0
92 |
93 | name
94 | end
95 |
96 |
97 | name
98 | raw.string.ccpp
99 | patterns
100 |
101 |
102 | include
103 | #comments
104 |
105 |
106 |
107 |
110 |
111 | begin
112 | (R|Ru|RU|uR|UR)(\"\()\.*
113 | beginCaptures
114 |
115 | 1
116 |
117 | name
118 | prefix
119 |
120 | 2
121 |
122 | name
123 | begin
124 |
125 |
126 | end
127 | (\)\")
128 | endCaptures
129 |
130 | 0
131 |
132 | name
133 | end
134 |
135 |
136 | name
137 | raw.string.ccpp
138 | patterns
139 |
140 |
141 | include
142 | #comments
143 |
144 |
145 |
146 |
149 |
150 | begin
151 | (\:)\s*(\w+\(\w+\))+
152 | beginCaptures
153 |
154 | 1
155 |
156 | name
157 | begin
158 |
159 | 2
160 |
161 | name
162 | variable
163 |
164 |
165 | end
166 | \{
167 | endCaptures
168 |
169 | 0
170 |
171 | name
172 | open.curly.bracket.block
173 |
174 |
175 | name
176 | member.initializer
177 | patterns
178 |
179 |
180 | include
181 | #comments
182 |
183 |
184 |
185 |
188 |
189 | match
190 | \b(break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while)\b
191 | name
192 | keyword.control.c
193 |
194 |
197 |
198 | match
199 | \b(catch|operator|try|throw|using|namespace)\b
200 | name
201 | keyword.control.c++
202 |
203 |
204 | match
205 | \bdelete\b(\s*\[\])?|\bnew\b(?!])
206 | name
207 | keyword.control.c++
208 |
209 |
212 |
213 | match
214 | \b(and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq)\b
215 | name
216 | keyword.operator.c++
217 |
218 |
221 |
222 | match
223 | \b(const_cast|dynamic_cast|reinterpret_cast|static_cast)\b\s*
224 | name
225 | keyword.operator.cast.c++
226 |
227 |
230 |
231 | match
232 | \b(asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|string|int|long|short|signed|struct|typedef|union|unsigned|void)\b
233 | name
234 | storage.type.c
235 |
236 |
239 |
240 | match
241 | \b(class|wchar_t|nullptr_t)\b
242 | name
243 | storage.type.c++
244 |
245 |
248 |
249 | match
250 | \b(size_t|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|char16_t|char32_t)\b
251 | name
252 | storage.type.c++11
253 |
254 |
257 |
258 | match
259 | \btemplate\b\s*
260 | name
261 | storage.type.template.c++
262 |
263 |
266 |
267 | match
268 | \b(const|extern|register|restrict|static|volatile|inline)\b
269 | name
270 | storage.modifier.c
271 |
272 |
275 |
276 | match
277 | \b(export|mutable|typename)\b
278 | name
279 | storage.modifier.c++
280 |
281 |
282 | match
283 | \b(friend|explicit|virtual)\b
284 | name
285 | storage.modifier.c++
286 |
287 |
288 | match
289 | \b(private|protected|public)\b\s*\:
290 | name
291 | storage.modifier.c++
292 |
293 |
294 | match
295 | \b(private|protected|public)\b
296 | name
297 | storage.modifier.c++
298 |
299 |
300 | match
301 | \b(export|mutable|typename)\b
302 | name
303 | storage.modifier.c++
304 |
305 |
308 |
309 | match
310 | \b(constexpr|auto)\b
311 | name
312 | storage.modifier.c++
313 |
314 |
315 | match
316 | \b(override|final|noexcept)\b
317 | name
318 | storage.modifier.c++
319 |
320 |
321 |
324 |
325 | comment
326 | common C constant naming idiom -- kConstantVariable
327 | match
328 | \bk[A-Z]\w*\b
329 | name
330 | constant.other.variable.mac-classic.c
331 |
332 |
335 |
336 | match
337 | \bg[A-Z]\w*\b
338 | name
339 | variable.other.readwrite.global.mac-classic.c
340 |
341 |
344 |
345 | match
346 | \bs[A-Z]\w*\b
347 | name
348 | variable.other.readwrite.static.mac-classic.c
349 |
350 |
353 |
354 | comment
355 | common C++ instance var naming idiom -- fMemberName
356 | match
357 | \b(f|m)[A-Z]\w*\b
358 | name
359 | variable.other.readwrite.member.c++
360 |
361 |
364 |
365 | match
366 | \bthis\b
367 | name
368 | variable.language.c++
369 |
370 |
373 |
374 | match
375 | \b(NULL|true|false|TRUE|FALSE)\b
376 | name
377 | constant.language.c
378 |
379 |
382 |
383 | match
384 | \bnullptr\b
385 | name
386 | constant.language.c++
387 |
388 |
391 |
392 | match
393 | \b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\b
394 | name
395 | constant.numeric.c
396 |
397 |
400 |
401 | match
402 | \b(u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t)\b
403 | name
404 | support.type.sys-types.c
405 |
406 |
409 |
410 | match
411 | \b(pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t)\b
412 | name
413 | support.type.pthread.c
414 |
415 |
418 |
419 | match
420 | \b(int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t|uintmax_t|uintmax_t)\b
421 | name
422 | support.type.stdint.c
423 |
424 |
427 |
428 | match
429 | \b(noErr|kNilOptions|kInvalidID|kVariableLengthArray)\b
430 | name
431 | support.constant.mac-classic.c
432 |
433 |
436 |
437 | match
438 | \b(AbsoluteTime|Boolean|Byte|ByteCount|ByteOffset|BytePtr|CompTimeValue|ConstLogicalAddress|ConstStrFileNameParam|ConstStringPtr|Duration|Fixed|FixedPtr|Float32|Float32Point|Float64|Float80|Float96|FourCharCode|Fract|FractPtr|Handle|ItemCount|LogicalAddress|OptionBits|OSErr|OSStatus|OSType|OSTypePtr|PhysicalAddress|ProcessSerialNumber|ProcessSerialNumberPtr|ProcHandle|Ptr|ResType|ResTypePtr|ShortFixed|ShortFixedPtr|SignedByte|SInt16|SInt32|SInt64|SInt8|Size|StrFileName|StringHandle|StringPtr|TimeBase|TimeRecord|TimeScale|TimeValue|TimeValue64|UInt16|UInt32|UInt64|UInt8|UniChar|UniCharCount|UniCharCountPtr|UniCharPtr|UnicodeScalarValue|UniversalProcHandle|UniversalProcPtr|UnsignedFixed|UnsignedFixedPtr|UnsignedWide|UTF16Char|UTF32Char|UTF8Char)\b
439 | name
440 | support.type.mac-classic.c
441 |
442 |
443 |
446 |
447 | match
448 | \w+\:\:\w+\*
449 | name
450 | pointer.ccpp
451 |
452 |
453 | match
454 | \*\(\w+\)
455 | name
456 | pointer.ccpp
457 |
458 |
459 | match
460 | \(\w+\)\*
461 | name
462 | pointer.ccpp
463 |
464 |
465 | match
466 | \w+\*
467 | name
468 | pointer.ccpp
469 |
470 |
471 | match
472 | \*\w+
473 | name
474 | pointer.ccpp
475 |
476 |
479 |
480 | match
481 | \&\w+
482 | name
483 | address.ccpp
484 |
485 |
488 |
489 | match
490 | \w+(?=\[)
491 | name
492 | array.ccpp
493 |
494 |
497 |
498 | match
499 | (?<=class|wchar_t|nullptr_t)\s\w+
500 | name
501 | meta.class-struct.c++ entity.name.type.c++
502 |
503 |
504 | match
505 | \w+(?=\()
506 | name
507 | meta.function.c entity.name.function.c
508 |
509 |
510 | match
511 | (?<=\.)\w+(?=[^\w|\.])
512 | name
513 | meta.function.c meta.block.c meta.function-call.c support.function.any-method.c
514 |
515 |
516 | match
517 | (?<=\:\:)\w+
518 | name
519 | meta.function.c entity.name.function.c
520 |
521 |
522 | match
523 | \w+\:\:
524 | name
525 | meta.function.c entity.name.function.c
526 |
527 |
528 | match
529 | \:\:\w+
530 | name
531 | meta.function.c entity.name.function.c
532 |
533 |
536 |
537 | match
538 | \+\=|\-\=|\*\=|\/\=|\%\=|\&\=|\|\=|\^\=|\<\<\=|\>\>\=
539 | name
540 | keyword.operator.compound.ccpp
541 |
542 |
545 |
546 | match
547 | !(?<=.)
548 | name
549 | keyword.operator.logical.ccpp
550 |
551 |
552 | match
553 | \&\&|\|\|
554 | name
555 | keyword.operator.logical.ccpp
556 |
557 |
560 |
561 | match
562 | ~(?<=.)
563 | name
564 | keyword.operator.bitwise.ccpp
565 |
566 |
567 | match
568 | \&|\||\^|\<\<|\>\>
569 | name
570 | keyword.operator.bitwise.ccpp
571 |
572 |
575 |
576 | match
577 | \>\=
578 | name
579 | keyword.operator.comparison.ccpp
580 |
581 |
582 | match
583 | \<\=
584 | name
585 | keyword.operator.comparison.ccpp
586 |
587 |
588 | match
589 | \=\=|\!\=|\<|\>
590 | name
591 | keyword.operator.comparison.ccpp
592 |
593 |
596 |
597 | match
598 | \=|\+|\-|\*|\/|\%
599 | name
600 | keyword.operator.arithmetic.ccpp
601 |
602 |
605 |
606 | match
607 | (?<=\s)\}(?=break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while)
608 | name
609 | open.curly.bracket.block.ccpp
610 |
611 |
612 | match
613 | \}(?=[^\;\s\r\n])
614 | name
615 | close.curly.bracket.ccpp
616 |
617 |
618 | match
619 | (?<=[^\s\r\n])\s*\}
620 | name
621 | close.curly.bracket.ccpp
622 |
623 |
624 | match
625 | \{(?=(\s*|\t*)\/\/\s*.*(\r|\n))
626 | name
627 | open.curly.bracket.block.ccpp
628 |
629 |
632 |
633 | match
634 | \{(?=(\s*|\t*)(\r|\n))
635 | name
636 | open.curly.bracket.block.ccpp
637 |
638 |
639 | match
640 | (?<=\s)\}(?=\;?)
641 | name
642 | close.curly.bracket.block.ccpp
643 |
644 |
645 | match
646 | ^\}
647 | name
648 | close.curly.bracket.block.ccpp
649 |
650 |
653 |
654 | match
655 | \{
656 | name
657 | open.curly.bracket.ccpp
658 |
659 |
660 | match
661 | \}
662 | name
663 | close.curly.bracket.ccpp
664 |
665 |
668 |
669 | match
670 | \(
671 | name
672 | open.round.bracket.ccpp
673 |
674 |
675 | match
676 | \)
677 | name
678 | close.round.bracket.ccpp
679 |
680 |
683 |
684 | match
685 | \[
686 | name
687 | open.angle.bracket.ccpp
688 |
689 |
690 | match
691 | \]
692 | name
693 | close.angle.bracket.ccpp
694 |
695 |
698 |
699 | match
700 | \.
701 | name
702 | period.ccpp
703 |
704 |
707 |
708 | match
709 | \,
710 | name
711 | coma.ccpp
712 |
713 |
716 |
717 | match
718 | \;(?=(\s*|\t*)\/\/\s*.*)
719 | name
720 | semi_colon.eol.ccpp
721 |
722 |
725 |
726 | match
727 | \;(?=(\s*)(\r|\n))
728 | name
729 | semi_colon.eol.ccpp
730 |
731 |
732 | match
733 | \s*?\;\s*?$
734 | name
735 | semi_colon.eol.ccpp
736 |
737 |
740 |
741 | match
742 | \;
743 | name
744 | semi_colon.ccpp
745 |
746 |
749 |
750 | begin
751 | "
752 | beginCaptures
753 |
754 | 0
755 |
756 | name
757 | punctuation.definition.string.begin.c
758 |
759 |
760 | end
761 | "
762 | endCaptures
763 |
764 | 0
765 |
766 | name
767 | punctuation.definition.string.end.c
768 |
769 |
770 | name
771 | string.quoted.double.c
772 | patterns
773 |
774 |
775 | include
776 | #string_escaped_char
777 |
778 |
779 | include
780 | #string_placeholder
781 |
782 |
783 |
784 |
787 |
788 | begin
789 | '
790 | beginCaptures
791 |
792 | 0
793 |
794 | name
795 | punctuation.definition.string.begin.c
796 |
797 |
798 | end
799 | '
800 | endCaptures
801 |
802 | 0
803 |
804 | name
805 | punctuation.definition.string.end.c
806 |
807 |
808 | name
809 | string.quoted.single.c
810 | patterns
811 |
812 |
813 | include
814 | #string_escaped_char
815 |
816 |
817 |
818 |
821 |
822 | begin
823 | (?x)
824 | ^\s*\#\s*(define)\s+ # define
825 | ((?<id>[a-zA-Z_][a-zA-Z0-9_]*)) # macro name
826 | (?: # and optionally:
827 | (\() # an open parenthesis
828 | (
829 | \s* \g<id> \s* # first argument
830 | ((,) \s* \g<id> \s*)* # additional arguments
831 | (?:\.\.\.)? # varargs ellipsis?
832 | )
833 | (\)) # a close parenthesis
834 | )?
835 |
836 | beginCaptures
837 |
838 | 1
839 |
840 | name
841 | keyword.control.import.define.c
842 |
843 | 2
844 |
845 | name
846 | entity.name.function.preprocessor.c
847 |
848 | 4
849 |
850 | name
851 | punctuation.definition.parameters.c
852 |
853 | 5
854 |
855 | name
856 | variable.parameter.preprocessor.c
857 |
858 | 7
859 |
860 | name
861 | punctuation.separator.parameters.c
862 |
863 | 8
864 |
865 | name
866 | punctuation.definition.parameters.c
867 |
868 |
869 | end
870 | (?=(?://|/\*))|$
871 | name
872 | meta.preprocessor.macro.c
873 | patterns
874 |
875 |
876 | match
877 | (?>\\\s*\n)
878 | name
879 | punctuation.separator.continuation.c
880 |
881 |
882 | include
883 | $base
884 |
885 |
886 |
887 |
890 |
891 | begin
892 | ^\s*#\s*(error|warning)\b
893 | captures
894 |
895 | 1
896 |
897 | name
898 | keyword.control.import.error.c
899 |
900 |
901 | end
902 | $
903 | name
904 | meta.preprocessor.diagnostic.c
905 | patterns
906 |
907 |
908 | match
909 | (?>\\\s*\n)
910 | name
911 | punctuation.separator.continuation.c
912 |
913 |
914 |
915 |
918 |
919 | begin
920 | ^\s*#\s*(include|import)\b\s+
921 | captures
922 |
923 | 1
924 |
925 | name
926 | keyword.control.import.include.c
927 |
928 |
929 | end
930 | (?=(?://|/\*))|$
931 | name
932 | meta.preprocessor.c.include
933 | patterns
934 |
935 |
936 | match
937 | (?>\\\s*\n)
938 | name
939 | punctuation.separator.continuation.c
940 |
941 |
942 | begin
943 | "
944 | beginCaptures
945 |
946 | 0
947 |
948 | name
949 | punctuation.definition.string.begin.c
950 |
951 |
952 | end
953 | "
954 | endCaptures
955 |
956 | 0
957 |
958 | name
959 | punctuation.definition.string.end.c
960 |
961 |
962 | name
963 | string.quoted.double.include.c
964 |
965 |
966 | begin
967 | <
968 | beginCaptures
969 |
970 | 0
971 |
972 | name
973 | punctuation.definition.string.begin.c
974 |
975 |
976 | end
977 | >
978 | endCaptures
979 |
980 | 0
981 |
982 | name
983 | punctuation.definition.string.end.c
984 |
985 |
986 | name
987 | string.quoted.other.lt-gt.include.c
988 |
989 |
990 |
991 |
994 |
995 | begin
996 | ^\s*#\s*(define|defined|elif|else|if|ifdef|ifndef|line|pragma|undef)\b
997 | captures
998 |
999 | 1
1000 |
1001 | name
1002 | keyword.control.import.c
1003 |
1004 |
1005 | end
1006 | (?=(?://|/\*))|$
1007 | name
1008 | meta.preprocessor.c
1009 | patterns
1010 |
1011 |
1012 | match
1013 | (?>\\\s*\n)
1014 | name
1015 | punctuation.separator.continuation.c
1016 |
1017 |
1018 |
1019 |
1020 |
1023 |
1030 | repository
1031 |
1032 |
1035 |
1038 | comments
1039 |
1040 | patterns
1041 |
1042 |
1043 | captures
1044 |
1045 | 1
1046 |
1047 | name
1048 | meta.toc-list.banner.block.c
1049 |
1050 |
1051 | match
1052 | ^/\* =(\s*.*?)\s*= \*/$\n?
1053 | name
1054 | comment.block.c
1055 |
1056 |
1057 | begin
1058 | /\*
1059 | captures
1060 |
1061 | 0
1062 |
1063 | name
1064 | punctuation.definition.comment.c
1065 |
1066 |
1067 | end
1068 | \*/
1069 | name
1070 | comment.block.c
1071 |
1072 |
1073 | match
1074 | \*/.*\n
1075 | name
1076 | invalid.illegal.stray-comment-end.c
1077 |
1078 |
1079 | captures
1080 |
1081 | 1
1082 |
1083 | name
1084 | meta.toc-list.banner.line.c
1085 |
1086 |
1087 | match
1088 | ^// =(\s*.*?)\s*=\s*$\n?
1089 | name
1090 | comment.line.banner.c++
1091 |
1092 |
1093 | begin
1094 | //
1095 | beginCaptures
1096 |
1097 | 0
1098 |
1099 | name
1100 | punctuation.definition.comment.c
1101 |
1102 |
1103 | end
1104 | $\n?
1105 | name
1106 | comment.line.double-slash.c++
1107 | patterns
1108 |
1109 |
1110 | match
1111 | (?>\\\s*\n)
1112 | name
1113 | punctuation.separator.continuation.c++
1114 |
1115 |
1116 |
1117 |
1118 |
1119 |
1122 | string_escaped_char
1123 |
1124 | patterns
1125 |
1126 |
1127 | match
1128 | \\(\\|[abefnprtv'"?]|[0-3]\d{,2}|[4-7]\d?|x[a-fA-F0-9]{,2}|u[a-fA-F0-9]{,4}|U[a-fA-F0-9]{,8})
1129 | name
1130 | constant.character.escape.c
1131 |
1132 |
1133 | match
1134 | \\.
1135 | name
1136 | invalid.illegal.unknown-escape.c
1137 |
1138 |
1139 |
1140 |
1143 | string_placeholder
1144 |
1145 | patterns
1146 |
1147 |
1148 | match
1149 | (?x)%
1150 | (\d+\$)? # field (argument #)
1151 | [#0\- +']* # flags
1152 | [,;:_]? # separator character (AltiVec)
1153 | ((-?\d+)|\*(-?\d+\$)?)? # minimum field width
1154 | (\.((-?\d+)|\*(-?\d+\$)?)?)? # precision
1155 | (hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier
1156 | [diouxXDOUeEfFgGaACcSspn%] # conversion type
1157 |
1158 | name
1159 | constant.other.placeholder.c
1160 |
1161 |
1162 | match
1163 | %
1164 | name
1165 | invalid.illegal.placeholder.c
1166 |
1167 |
1168 |
1169 |
1172 | disabled
1173 |
1174 | begin
1175 | ^\s*#\s*if(n?def)?\b.*$
1176 | comment
1177 | eat nested preprocessor if(def)s
1178 | end
1179 | ^\s*#\s*endif\b
1180 | patterns
1181 |
1182 |
1183 | include
1184 | #disabled
1185 |
1186 |
1187 | include
1188 | #pragma-mark
1189 |
1190 |
1191 |
1192 |
1195 | pragma-mark
1196 |
1197 | captures
1198 |
1199 | 1
1200 |
1201 | name
1202 | meta.preprocessor.c
1203 |
1204 | 2
1205 |
1206 | name
1207 | keyword.control.import.pragma.c
1208 |
1209 | 3
1210 |
1211 | name
1212 | meta.toc-list.pragma-mark.c
1213 |
1214 |
1215 | match
1216 | ^\s*(#\s*(pragma\s+mark)\s+(.*))
1217 | name
1218 | meta.section
1219 |
1220 |
1223 | preprocessor-rule-disabled
1224 |
1225 | begin
1226 | ^\s*(#(if)\s+(0)\b).*
1227 | captures
1228 |
1229 | 1
1230 |
1231 | name
1232 | meta.preprocessor.c
1233 |
1234 | 2
1235 |
1236 | name
1237 | keyword.control.import.if.c
1238 |
1239 | 3
1240 |
1241 | name
1242 | constant.numeric.preprocessor.c
1243 |
1244 |
1245 | end
1246 | ^\s*(#\s*(endif)\b)
1247 | patterns
1248 |
1249 |
1250 | begin
1251 | ^\s*(#\s*(else)\b)
1252 | captures
1253 |
1254 | 1
1255 |
1256 | name
1257 | meta.preprocessor.c
1258 |
1259 | 2
1260 |
1261 | name
1262 | keyword.control.import.else.c
1263 |
1264 |
1265 | end
1266 | (?=^\s*#\s*endif\b)
1267 | patterns
1268 |
1269 |
1270 | include
1271 | $base
1272 |
1273 |
1274 |
1275 |
1276 | begin
1277 |
1278 | end
1279 | (?=^\s*#\s*(else|endif)\b)
1280 | name
1281 | comment.block.preprocessor.if-branch
1282 | patterns
1283 |
1284 |
1285 | include
1286 | #disabled
1287 |
1288 |
1289 | include
1290 | #pragma-mark
1291 |
1292 |
1293 |
1294 |
1295 |
1296 |
1299 | preprocessor-rule-enabled
1300 |
1301 | begin
1302 | ^\s*(#(if)\s+(0*1)\b)
1303 | captures
1304 |
1305 | 1
1306 |
1307 | name
1308 | meta.preprocessor.c
1309 |
1310 | 2
1311 |
1312 | name
1313 | keyword.control.import.if.c
1314 |
1315 | 3
1316 |
1317 | name
1318 | constant.numeric.preprocessor.c
1319 |
1320 |
1321 | end
1322 | ^\s*(#\s*(endif)\b)
1323 | patterns
1324 |
1325 |
1326 | begin
1327 | ^\s*(#\s*(else)\b).*
1328 | captures
1329 |
1330 | 1
1331 |
1332 | name
1333 | meta.preprocessor.c
1334 |
1335 | 2
1336 |
1337 | name
1338 | keyword.control.import.else.c
1339 |
1340 |
1341 | contentName
1342 | comment.block.preprocessor.else-branch
1343 | end
1344 | (?=^\s*#\s*endif\b)
1345 | patterns
1346 |
1347 |
1348 | include
1349 | #disabled
1350 |
1351 |
1352 | include
1353 | #pragma-mark
1354 |
1355 |
1356 |
1357 |
1358 | begin
1359 |
1360 | end
1361 | (?=^\s*#\s*(else|endif)\b)
1362 | patterns
1363 |
1364 |
1365 | include
1366 | $base
1367 |
1368 |
1369 |
1370 |
1371 |
1372 |
1375 | preprocessor-rule-other
1376 |
1377 | begin
1378 | ^\s*(#\s*(if(n?def)?)\b.*?(?:(?=(?://|/\*))|$))
1379 | captures
1380 |
1381 | 1
1382 |
1383 | name
1384 | meta.preprocessor.c
1385 |
1386 | 2
1387 |
1388 | name
1389 | keyword.control.import.c
1390 |
1391 |
1392 | end
1393 | ^\s*(#\s*(endif)\b)
1394 | patterns
1395 |
1396 |
1397 | include
1398 | $base
1399 |
1400 |
1401 |
1402 |
1405 | scopeName
1406 | source.c
1407 | uuid
1408 | 25066DC2-6B1D-11D9-9D5B-000D93589AF6
1409 |
1410 |
1411 |
--------------------------------------------------------------------------------
/C.tmLanguage.header:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 | fileTypes
9 |
10 |
13 | c
14 | h
15 |
18 | cpp
19 | c
20 | hpp
21 | h
22 |
23 | firstLineMatch
24 | -[*]-( Mode:)? C -[*]-
25 | foldingStartMarker
26 | (?x)
27 | /\*\*(?!\*)
28 | |^(?![^{]*?//|[^{]*?/\*(?!.*?\*/.*?\{)).*?\{\s*($|//|/\*(?!.*?\*/.*\S))
29 |
30 | foldingStopMarker
31 | (?<!\*)\*\*/|^\s*\}
32 | keyEquivalent
33 | ^~C
34 |
37 | name
38 | C
39 | patterns
40 |
--------------------------------------------------------------------------------
/Comments (C++).tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Comments
7 | scope
8 | source.c, source.c++, source.objc, source.objc++
9 | settings
10 |
11 | shellVariables
12 |
13 |
14 | name
15 | TM_COMMENT_START
16 | value
17 | //
18 |
19 |
20 | name
21 | TM_COMMENT_START_2
22 | value
23 | /*
24 |
25 |
26 | name
27 | TM_COMMENT_END_2
28 | value
29 | */
30 |
31 |
32 | name
33 | TM_COMMENT_DISABLE_INDENT_2
34 | value
35 | yes
36 |
37 |
38 |
39 | uuid
40 | 38DBCCE5-2005-410C-B7D7-013097751AC8
41 |
42 |
43 |
--------------------------------------------------------------------------------
/Completion Rules.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | scope
6 | source.c, source.c++, source.objc, source.objc++
7 | settings
8 |
9 | cancelCompletion
10 | (^.*\bconst\s*$)|^\s*(\}?\s*(else|try|do|#if|#ifdef|#else|#elif|#endif|#pragma\s+once)|(class|struct|enum|namespace)\s*[a-zA-Z_0-9]+*)$
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Enumeration.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | Enumeration
3 |
6 | enum
7 | source.c++, source.objc++
8 |
9 |
--------------------------------------------------------------------------------
/Indentation Rules.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Indentation Rules
7 | scope
8 | source.c, source.c++, source.objc, source.objc++
9 | settings
10 |
11 | decreaseIndentPattern
12 | (?x)
13 | ^ (.*\*/)? \s* \} .* $
14 | | ^ \s* (public|private|protected): \s* $
15 | | ^ \s* @(public|private|protected) \s* $
16 |
17 | increaseIndentPattern
18 | (?x)
19 | ^ .* \{ [^}"']* $
20 | | ^ \s* (public|private|protected): \s* $
21 | | ^ \s* @(public|private|protected) \s* $
22 |
23 |
24 | bracketIndentNextLinePattern
25 | (?x)
26 | ^ \s* \b(if|while|else)\b [^;]* $
27 | | ^ \s* \b(for)\b .* $
28 |
29 |
30 | unIndentedLinePattern
31 | ^\s*((/\*|.*\*/|//|#|template\b.*?>(?!\(.*\))|@protocol|@interface(?!.*\{)|@implementation|@end).*)?$
32 |
33 | indentSquareBrackets
34 |
35 |
36 |
37 | uuid
38 | 02EB44C6-9203-4F4C-BFCB-7E3360B12812
39 |
40 |
41 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | C++ Starting Kit Plugin
2 | ========================
3 |
4 | 
5 |
6 | # [New documentation](http://cppstartingkitproject-guide.readthedocs.org/en/latest/#) available
7 |
8 | **Voir la [Présentation en francais](https://github.com/kodLite/cppStartingKit-PresentationFr)**
9 |
10 | **Voir le [Guide en francais](https://github.com/kodLite/cppStartingKit-Guidefr)**
11 |
12 | ## Features
13 |
14 | The **C++ Starting Kit Project** is a minimal set of useful tools and tips for **C++ and Sublime Text beginners**. It provides :
15 |
16 | **The C++ Starting Kit Plugin**
17 |
18 | * C, C++ and C++11 combined and improved syntax definition for Sublime Text.
19 | * A convenient C++ syntax definition for custom syntax highlighting.
20 | * Custom build system for g++ compiler.
21 |
22 | **The Oasis Theme Plugin**
23 |
24 | * A color scheme compatible with the C++ Starting Kit plugin
25 | * A recommended minimal environment.
26 |
27 | **The C++ Starting Kit Project - Guide**
28 |
29 | * An accessible and structured documentation for a quick start.
30 | * A procedure for the integration of Git and other Linux Shell functionalities. (Windows 7 users only)
31 |
32 |
33 |
34 | ## Preview
35 | **[Oasis Theme](https://github.com/kodLite/Oasis-Theme), [Soda Theme](http://buymeasoda.github.io/soda-theme/) and Consolas Font not included**
36 |
37 | **A better language definition**
38 |
39 | 
40 |
41 | **Fully customizable operator types**
42 |
43 | 
44 |
45 | **Fully customizable punctuation with extra features**
46 |
47 | 
48 |
49 | **C++11 raw string support**
50 |
51 | 
52 |
53 |
54 | **Documented code for an easy maintenance**
55 |
56 | 
57 |
--------------------------------------------------------------------------------
/Symbol Index Hide Ctors.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | scope
5 | source.c++ meta.class-struct-block.c++ meta.function.constructor.c++ entity.name.function.c++
6 | settings
7 |
8 | showInIndexedSymbolList
9 | 0
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Symbol Index.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | scope
5 | source.c++
6 | settings
7 |
8 | symbolIndexTransformation
9 | /.*::([A-Za-z0-9_~]+)/$1/;
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Symbol List - Indent Class Methods.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | bundleUUID
6 | 4675A940-6227-11D9-BFB1-000D93589AF6
7 | name
8 | Symbol List: Indent Class Methods
9 | scope
10 | meta.class-struct-block.c++ entity.name.function
11 | settings
12 |
13 | symbolTransformation
14 |
15 | s/^\s*/ /; # pad
16 |
17 | uuid
18 | B2B97E23-E686-4410-991D-A92AF3A9FC95
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Symbol List - Prefix Banner Items.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Symbol List: Prefix Banner Items
7 | scope
8 | meta.toc-list.banner
9 | settings
10 |
11 | symbolTransformation
12 |
13 | s/^\s+/# /;
14 | s/^=+$/-/;
15 |
16 |
17 | uuid
18 | A8E4E48A-81F3-4DB7-A7A2-88662C06E011
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Symbol List Hide Forward Decls.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | scope
5 | source.c++ meta.class-struct-block.c++ entity.name.type.forward-decl.c++
6 | settings
7 |
8 | showInSymbolList
9 | 0
10 | showInIndexedSymbolList
11 | 0
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Typedef.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | Typedef
3 |
4 | td
5 | source.c, source.objc, source.c++, source.objc++
6 |
7 |
--------------------------------------------------------------------------------
/class-..-(class).sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | Class
3 |
9 | class
10 | source.c++, source.objc++
11 |
12 |
--------------------------------------------------------------------------------
/cout.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | std::cout …
3 |
4 | cout
5 | source.c, source.objc, source.c++, source.objc++
6 |
7 |
--------------------------------------------------------------------------------
/do...while-loop-(do).sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | Do While Loop
3 |
6 | do
7 | source.c, source.objc, source.c++, source.objc++
8 |
9 |
--------------------------------------------------------------------------------
/exit_failure.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | EXIT_FAILURE
3 |
4 | EXIT_FAILURE
5 | source.c, source.objc, source.c++, source.objc++
6 |
7 |
--------------------------------------------------------------------------------
/exit_success.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | EXIT_SUCCESS
3 |
4 | EXIT_SUCCESS
5 | source.c, source.objc, source.c++, source.objc++
6 |
7 |
--------------------------------------------------------------------------------
/forv.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | Vector For Loop
3 | ::iterator ${3:i} = $2.begin(); $3 != $2.end(); $3++) {
4 | $0
5 | }]]>
6 | forv
7 | source.c, source.objc, source.c++, source.objc++
8 |
9 |
--------------------------------------------------------------------------------
/fprintf.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | fprintf …
3 |
4 | fprintf
5 | source.c, source.objc, source.c++, source.objc++
6 |
7 |
--------------------------------------------------------------------------------
/if-..-(if).sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | If Condition
3 |
6 | if
7 | source.c, source.objc, source.c++, source.objc++
8 |
9 |
--------------------------------------------------------------------------------
/messages.json:
--------------------------------------------------------------------------------
1 | {
2 | "install": "messages/install.txt",
3 | "0.2.2" : "messages/0.2.2.txt",
4 | "0.2.6" : "messages/0.2.6.txt",
5 | "0.2.7" : "messages/0.2.7.txt",
6 | "0.2.8" : "messages/0.2.8.txt",
7 | }
8 |
--------------------------------------------------------------------------------
/messages/0.2.2.txt:
--------------------------------------------------------------------------------
1 | RELEASE NOTE
2 | ------------
3 | Version 0.2.2
4 |
5 |
6 | CHANGES
7 | -------
8 |
9 | [v] Due to a conflict with the binary operator "~", the destructor highliting was removed.
10 |
11 | [v] Logical operators "!" and "~" now behave correctly.
--------------------------------------------------------------------------------
/messages/0.2.4.txt:
--------------------------------------------------------------------------------
1 | RELEASE NOTE
2 | ------------
3 | Version 0.2.4
4 |
5 |
6 | CHANGES
7 | -------
8 |
9 | I encountered few issues updating the package to this state so I apologize if I caused you troubles during this weekend.
10 |
11 | You can see the changes just below :
12 |
13 |
14 | [v] Due to a conflict with the binary operator "~", the destructor highliting was removed.
15 |
16 | [v] Logical operators "!" and "~" now should behave better.
17 |
18 | [v] Inheritance accessors now are higlighted.
19 |
20 |
21 | Have fun !!! ;)
--------------------------------------------------------------------------------
/messages/0.2.5.txt:
--------------------------------------------------------------------------------
1 | RELEASE NOTE
2 | ------------
3 | Version 0.2.5
4 |
5 |
6 | CHANGES
7 | -------
8 |
9 |
10 | Due to the requirements of other plugins I renamed CCpp.tmLanguage and CCpp.sublime-settings to C++.tmLanguage and C++.sublime settings.
11 |
12 | I duplicated those files and renamed them to C.tmLanguage and C.sublime-settings.
13 |
14 | Inside C.tmLanguage and C++.tmLanguage 1 line was changed, the syntax name, respectively now C and C++.
15 |
16 | Now, inside the View > Syntax menu you will find a syntax called C++ Starting Kit with a C and C++ highlighting.
17 |
18 | Even if their highligthing are strictly the same I highly recommend you to adapt it to your current language if you want to minimize plugin compatibilty issues.
19 |
20 | If you encounter plugin that need a file called C++.tmLanguage inside the default syntax folder (SublimeText/Packages), just copy/paste/rename the C++ Starting Kit.sublime-package(from SublimeText/Data/Installed Packages folder) to C++.sublime-package inside the default syntax folder.
21 |
22 | Have fun !!! ;)
23 |
24 |
25 | CHANGEMENTS
26 | -----------
27 |
28 | A cause des specifités d'autres plugins j'ai renommé CCpp.tmLanguage et CCpp.sublime-settings en C++.tmLanguage et C++.sublime-settings.
29 |
30 | J''ai dupliqué ces fichiers et renommés en C.tmLanguage et c.sublime-settings.
31 |
32 | A l'intérieur de C.tmLanguage et C++.tmLanguage seulement 1 ligne a changé, le nom de la syntax, respectivement maintenant C et C++.
33 |
34 | Maintenant, dans le menu View > Syntax vous trouverez une syntax appelé C++ Starting Kit avec un jeu de couleurs C et C++.
35 |
36 | Même si ces jeux de couleurs sont strictement identiques il est recommandé de l'adapter à votre language courant si vous voulez limiter les soucis de compatibilité.
37 |
38 | Si vous rencontrez un plugin qui réclame un fichier appelé C++.tmLanguage à l'intérieur du dossier de syntax par défaut (SublimeText/Packages), copier/coller/renommé le fichier C++ Starting Kit.sublime-package(contenu dans le dossier SublimeText/Data/Installed Packages) en C++.sublime-package dans le dossier par défaut des syntax.
39 |
40 |
41 | Amusez vous bien !!! ;)
42 |
--------------------------------------------------------------------------------
/messages/0.2.6.txt:
--------------------------------------------------------------------------------
1 | RELEASE NOTE
2 | ------------
3 | Version 0.2.6
4 |
5 |
6 | CHANGES
7 | -------
8 |
9 |
10 | Due to the requirements of other plugins I renamed CCpp.tmLanguage and CCpp.sublime-settings to C++.tmLanguage and C++.sublime settings.
11 |
12 | I duplicated those files and renamed them to C.tmLanguage and C.sublime-settings.
13 |
14 | Inside C.tmLanguage and C++.tmLanguage 1 line was changed, the syntax name, respectively now C and C++.
15 |
16 | Now, inside the View > Syntax menu you will find a syntax called C++ Starting Kit with a C and C++ highlighting.
17 |
18 | Even if their highligthing are strictly the same I highly recommend you to adapt it to your current language if you want to minimize plugin compatibilty issues.
19 |
20 | If you encounter plugin that need a file called C++.tmLanguage inside the default syntax folder (SublimeText/Packages), just copy/paste/rename the C++ Starting Kit.sublime-package(from SublimeText/Data/Installed Packages folder) to C++.sublime-package inside the default syntax folder.
21 |
22 | Have fun !!! ;)
23 |
24 |
25 | CHANGEMENTS
26 | -----------
27 |
28 | A cause des specifités d'autres plugins j'ai renommé CCpp.tmLanguage et CCpp.sublime-settings en C++.tmLanguage et C++.sublime-settings.
29 |
30 | J''ai dupliqué ces fichiers et renommés en C.tmLanguage et c.sublime-settings.
31 |
32 | A l'intérieur de C.tmLanguage et C++.tmLanguage seulement 1 ligne a changé, le nom de la syntax, respectivement maintenant C et C++.
33 |
34 | Maintenant, dans le menu View > Syntax vous trouverez une syntax appelé C++ Starting Kit avec un jeu de couleurs C et C++.
35 |
36 | Même si ces jeux de couleurs sont strictement identiques il est recommandé de l'adapter à votre language courant si vous voulez limiter les soucis de compatibilité.
37 |
38 | Si vous rencontrez un plugin qui réclame un fichier appelé C++.tmLanguage à l'intérieur du dossier de syntax par défaut (SublimeText/Packages), copier/coller/renommé le fichier C++ Starting Kit.sublime-package(contenu dans le dossier SublimeText/Data/Installed Packages) en C++.sublime-package dans le dossier par défaut des syntax.
39 |
40 |
41 | Amusez vous bien !!! ;)
42 |
--------------------------------------------------------------------------------
/messages/0.2.7.txt:
--------------------------------------------------------------------------------
1 | RELEASE NOTE
2 | ------------
3 | Version 0.2.7
4 |
5 |
6 | CHANGES
7 | -------
8 |
9 | * New documentation available :
10 |
11 | http://cppstartingkitproject-guide.readthedocs.org/en/latest/
12 | ``````````````````````````````````````````````````````````````
13 |
14 | * For Post Installation procedures please refer to the documentation
15 | ----------------------------
--------------------------------------------------------------------------------
/messages/0.2.8.txt:
--------------------------------------------------------------------------------
1 | RELEASE NOTE
2 | ------------
3 | Version 0.2.8
4 |
5 |
6 | CHANGES
7 | -------
8 |
9 | * New documentation available :
10 |
11 | http://cppstartingkitproject-guide.readthedocs.org/en/latest/
12 | ``````````````````````````````````````````````````````````````
13 |
14 | * For Post Installation procedures please refer to the documentation
15 | ----------------------------
--------------------------------------------------------------------------------
/messages/install.txt:
--------------------------------------------------------------------------------
1 | POST INSTALLATION
2 | -----------------
3 |
4 |
5 | * New documentation available :
6 |
7 | http://cppstartingkitproject-guide.readthedocs.org/en/latest/
8 | ``````````````````````````````````````````````````````````````
9 |
10 | * For Post Installation procedures please refer to the documentation
11 | ----------------------------
--------------------------------------------------------------------------------
/namespace-..-(namespace).sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | Namespace
3 |
6 | ns
7 | source.c++, source.objc++
8 |
9 |
--------------------------------------------------------------------------------
/printf-..-(printf).sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | printf …
3 |
4 | printf
5 | source.c, source.objc, source.c++, source.objc++
6 |
7 |
--------------------------------------------------------------------------------
/read-file-(readF).sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | Read File Into Vector
3 | v;
4 | if (FILE${TM_C_POINTER: *}fp = fopen(${1:"filename"}, "r"))
5 | {
6 | char buf[1024];
7 | while (size_t len = fread(buf, 1, sizeof(buf), fp))
8 | v.insert(v.end(), buf, buf + len);
9 | fclose(fp);
10 | }]]>
11 | readfile
12 | source.c++, source.objc++
13 |
14 |
--------------------------------------------------------------------------------
/std-map-(map).sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | std::map
3 | map$0;]]>
4 | map
5 | source.c++, source.objc++
6 |
7 |
--------------------------------------------------------------------------------
/std-vector-(v).sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | std::vector
3 | v$0;]]>
4 | vector
5 | source.c++, source.objc++
6 |
7 |
--------------------------------------------------------------------------------
/string.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | std::string …
3 |
4 | string
5 | source.c, source.objc, source.c++, source.objc++
6 |
7 |
--------------------------------------------------------------------------------
/struct.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | Struct
3 |
6 | struct
7 | source.c, source.objc, source.c++, source.objc++
8 |
9 |
--------------------------------------------------------------------------------
/template-typename-..-(template).sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | template <typename ${1:_InputIter}>
3 | ]]>
4 | tp
5 | source.c++, source.objc++
6 |
7 |
--------------------------------------------------------------------------------
/try...catch(try).sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 | try ... catch
3 |
8 | try
9 | source.c, source.objc, source.c++, source.objc++
10 |
11 |
--------------------------------------------------------------------------------