|
783 | 783 | <key>patterns</key> |
784 | 784 | <array> |
785 | 785 | <dict> |
| 786 | + <key>name</key> |
| 787 | + <string>storage.modifier.section.class.matlab</string> |
| 788 | + <!-- <key>comment</key> --> |
| 789 | + <!-- <string>This breaks if there is a line continuation between end of attrs and name, but works for line continuations inside attrs. Line continuations are a mistake.</string> --> |
786 | 790 | <key>begin</key> |
787 | | - <string>\G\s*(\((.|\s)*\))?(?=\s* \w+)\s*(\w+)\s*</string> |
788 | | - <key>beginCaptures</key> |
789 | | - <dict> |
790 | | - <key>1</key> |
| 791 | + <string>\G\(</string> |
| 792 | + <key>end</key> |
| 793 | + <string>\)(?=\s*\w+)</string> |
| 794 | + <key>patterns</key> |
| 795 | + <array> |
791 | 796 | <dict> |
792 | | - <key>comment</key> |
793 | | - <string>Optional attributes</string> |
794 | | - <key>patterns</key> |
795 | | - <array> |
796 | | - <dict> |
797 | | - <key>name</key> |
798 | | - <string>punctuation.section.parens.begin.matlab</string> |
799 | | - <key>match</key> |
800 | | - <string>(?<=\s)\(</string> |
801 | | - </dict> |
802 | | - <dict> |
803 | | - <key>name</key> |
804 | | - <string>punctuation.section.parens.end.matlab</string> |
805 | | - <key>match</key> |
806 | | - <string>\)\z</string> |
807 | | - </dict> |
| 797 | + <key>name</key> |
| 798 | + <string>punctuation.separator.modifier.comma.matlab</string> |
| 799 | + <key>match</key> |
| 800 | + <string>,</string> |
| 801 | + </dict> |
| 802 | + <dict> |
| 803 | + <key>name</key> |
| 804 | + <string>storage.modifier.class.matlab</string> |
| 805 | + <key>match</key> |
| 806 | + <string>[a-zA-Z][a-zA-Z0-9_]*</string> |
| 807 | + </dict> |
| 808 | + <dict> |
| 809 | + <key>begin</key> |
| 810 | + <string>(=)\s*</string> |
| 811 | + <key>beginCaptures</key> |
| 812 | + <dict> |
| 813 | + <key>1</key> |
808 | 814 | <dict> |
809 | 815 | <key>name</key> |
810 | | - <string>punctuation.separator.modifier.comma.matlab</string> |
811 | | - <key>match</key> |
812 | | - <string>,</string> |
| 816 | + <string>keyword.operator.assignment.matlab</string> |
813 | 817 | </dict> |
| 818 | + </dict> |
| 819 | + <key>end</key> |
| 820 | + <string>(?=\)|,)</string> |
| 821 | + <key>patterns</key> |
| 822 | + <array> |
814 | 823 | <dict> |
815 | 824 | <key>name</key> |
816 | | - <string>storage.modifier.class.matlab</string> |
| 825 | + <string>constant.language.boolean.matlab</string> |
817 | 826 | <key>match</key> |
818 | | - <string>[a-zA-Z][a-zA-Z0-9_]*</string> |
| 827 | + <string>true|false</string> |
819 | 828 | </dict> |
820 | 829 | <dict> |
821 | | - <key>begin</key> |
822 | | - <string>(=)\s*</string> |
823 | | - <key>beginCaptures</key> |
824 | | - <dict> |
825 | | - <key>1</key> |
826 | | - <dict> |
827 | | - <key>name</key> |
828 | | - <string>keyword.operator.assignment.matlab</string> |
829 | | - </dict> |
830 | | - </dict> |
831 | | - <key>end</key> |
832 | | - <string>(?=\)|,)</string> |
833 | | - <key>patterns</key> |
834 | | - <array> |
835 | | - <dict> |
836 | | - <key>name</key> |
837 | | - <string>constant.language.boolean.matlab</string> |
838 | | - <key>match</key> |
839 | | - <string>true|false</string> |
840 | | - </dict> |
841 | | - <dict> |
842 | | - <key>include</key> |
843 | | - <string>#string</string> |
844 | | - </dict> |
845 | | - </array> |
| 830 | + <key>include</key> |
| 831 | + <string>#string</string> |
846 | 832 | </dict> |
847 | 833 | <dict> |
848 | 834 | <key>include</key> |
849 | | - <string>#comments</string> |
| 835 | + <string>#curly_brackets</string> |
850 | 836 | </dict> |
851 | 837 | <dict> |
852 | 838 | <key>include</key> |
853 | | - <string>#line_continuation</string> |
| 839 | + <string>#line_continuations</string> |
854 | 840 | </dict> |
855 | 841 | </array> |
856 | 842 | </dict> |
857 | | - <key>3</key> |
| 843 | + <dict> |
| 844 | + <key>include</key> |
| 845 | + <string>#comments</string> |
| 846 | + </dict> |
| 847 | + <dict> |
| 848 | + <key>include</key> |
| 849 | + <string>#line_continuation</string> |
| 850 | + </dict> |
| 851 | + <dict> |
| 852 | + <key>include</key> |
| 853 | + <string>#comments</string> |
| 854 | + </dict> |
| 855 | + <dict> |
| 856 | + <key>include</key> |
| 857 | + <string>#line_continuation</string> |
| 858 | + </dict> |
| 859 | + </array> |
| 860 | + </dict> |
| 861 | + <dict> |
| 862 | + <key>begin</key> |
| 863 | + <string>\s*(\w+)</string> |
| 864 | + <key>beginCaptures</key> |
| 865 | + <dict> |
| 866 | + <key>1</key> |
858 | 867 | <dict> |
859 | 868 | <key>comment</key> |
860 | 869 | <string>Class name</string> |
861 | 870 | <key>name</key> |
862 | 871 | <string>entity.name.type.class.matlab</string> |
863 | 872 | </dict> |
864 | 873 | </dict> |
| 874 | + <key>end</key> |
| 875 | + <string>(?<!\.{3})(?=\s*%|\n)</string> |
865 | 876 | <key>patterns</key> |
866 | 877 | <array> |
867 | 878 | <dict> |
868 | 879 | <key>begin</key> |
869 | 880 | <string>\G</string> |
870 | | - <key>beginCaptures</key> |
871 | | - <dict> |
872 | | - <key>1</key> |
873 | | - <dict> |
874 | | - <key>comment</key> |
875 | | - <string>Class name</string> |
876 | | - <key>name</key> |
877 | | - <string>entity.name.type.class.matlab</string> |
878 | | - </dict> |
879 | | - </dict> |
880 | 881 | <key>end</key> |
881 | 882 | <string>(?<!\.{3})(?=\n)</string> |
882 | 883 | <key>patterns</key> |
|
947 | 948 | <string>#line_continuation</string> |
948 | 949 | </dict> |
949 | 950 | </array> |
950 | | - <key>end</key> |
951 | | - <string>(?<!\.{3})(?=\s*%|\n)</string> |
952 | 951 | </dict> |
953 | 952 | </array> |
954 | 953 | </dict> |
|
0 commit comments