├── #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 | ![C++ Starting Kit Teaser 1](https://raw.githubusercontent.com/kodLite/cppStartingKit-Guide/master/screenshot/cppStartingKit/cppStartingKit_teaser_001.jpg) 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 | ![C++ Starting Kit - Definition](https://raw.githubusercontent.com/kodLite/cppStartingKit-Guide/master/screenshot/cppStartingKit/0.1.6/C++-Starting-Kit---Definitions.jpg) 40 | 41 | **Fully customizable operator types** 42 | 43 | ![C++ Starting Kit - Operators](https://raw.githubusercontent.com/kodLite/cppStartingKit-Guide/master/screenshot/cppStartingKit/0.1.6/C++-Starting-Kit---Operators.jpg) 44 | 45 | **Fully customizable punctuation with extra features** 46 | 47 | ![C++ Starting Kit](https://raw.githubusercontent.com/kodLite/cppStartingKit-Guide/master/screenshot/cppStartingKit/0.1.6/C++-Starting-Kit---Punctuation.jpg) 48 | 49 | **C++11 raw string support** 50 | 51 | ![Raw string support](https://raw.githubusercontent.com/kodLite/cppStartingKit-Guide/master/screenshot/cppStartingKit/0.1.9/raw-string-support.jpg) 52 | 53 | 54 | **Documented code for an easy maintenance** 55 | 56 | ![C++ Starting Kit - Maintenance](https://raw.githubusercontent.com/kodLite/cppStartingKit-Guide/master/screenshot/cppStartingKit/Namespace-added.jpg) 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 | --------------------------------------------------------------------------------