|
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*</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> |
| 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> |
802 | 814 | <dict> |
803 | 815 | <key>name</key> |
804 | | - <string>punctuation.section.parens.end.matlab</string> |
805 | | - <key>match</key> |
806 | | - <string>\)\z</string> |
| 816 | + <string>keyword.operator.assignment.matlab</string> |
807 | 817 | </dict> |
| 818 | + </dict> |
| 819 | + <key>end</key> |
| 820 | + <string>(?=\)|,)</string> |
| 821 | + <key>patterns</key> |
| 822 | + <array> |
808 | 823 | <dict> |
809 | 824 | <key>name</key> |
810 | | - <string>punctuation.separator.modifier.comma.matlab</string> |
| 825 | + <string>constant.language.boolean.matlab</string> |
811 | 826 | <key>match</key> |
812 | | - <string>,</string> |
| 827 | + <string>true|false</string> |
813 | 828 | </dict> |
814 | 829 | <dict> |
815 | 830 | <key>name</key> |
816 | | - <string>storage.modifier.class.matlab</string> |
817 | | - <key>match</key> |
818 | | - <string>[a-zA-Z][a-zA-Z0-9_]*</string> |
819 | | - </dict> |
820 | | - <dict> |
| 831 | + <string>meta.metaclass.matlab</string> |
821 | 832 | <key>begin</key> |
822 | | - <string>(=)\s*</string> |
| 833 | + <string>(\?)</string> |
823 | 834 | <key>beginCaptures</key> |
824 | 835 | <dict> |
825 | 836 | <key>1</key> |
826 | 837 | <dict> |
827 | 838 | <key>name</key> |
828 | | - <string>keyword.operator.assignment.matlab</string> |
| 839 | + <string>keyword.operator.other.question.matlab</string> |
829 | 840 | </dict> |
830 | 841 | </dict> |
831 | 842 | <key>end</key> |
|
834 | 845 | <array> |
835 | 846 | <dict> |
836 | 847 | <key>name</key> |
837 | | - <string>constant.language.boolean.matlab</string> |
| 848 | + <string>entity.other.class.matlab</string> |
838 | 849 | <key>match</key> |
839 | | - <string>true|false</string> |
| 850 | + <string>(?<=[\s.<])[a-zA-Z][a-zA-Z0-9_]*(?=\s|,|\))</string> |
840 | 851 | </dict> |
841 | 852 | <dict> |
842 | | - <key>include</key> |
843 | | - <string>#string</string> |
| 853 | + <key>name</key> |
| 854 | + <string>entity.name.namespace.matlab</string> |
| 855 | + <key>match</key> |
| 856 | + <string>[a-zA-Z][a-zA-Z0-9_]*</string> |
| 857 | + </dict> |
| 858 | + <dict> |
| 859 | + <key>name</key> |
| 860 | + <string>punctuation.accessor.dot.matlab</string> |
| 861 | + <key>match</key> |
| 862 | + <string>\.</string> |
844 | 863 | </dict> |
845 | 864 | </array> |
846 | 865 | </dict> |
847 | 866 | <dict> |
848 | 867 | <key>include</key> |
849 | | - <string>#comments</string> |
| 868 | + <string>#string</string> |
| 869 | + </dict> |
| 870 | + <dict> |
| 871 | + <key>include</key> |
| 872 | + <string>#curly_brackets</string> |
850 | 873 | </dict> |
851 | 874 | <dict> |
852 | 875 | <key>include</key> |
853 | 876 | <string>#line_continuation</string> |
854 | 877 | </dict> |
855 | 878 | </array> |
856 | 879 | </dict> |
| 880 | + <dict> |
| 881 | + <key>include</key> |
| 882 | + <string>#comments</string> |
| 883 | + </dict> |
| 884 | + <dict> |
| 885 | + <key>include</key> |
| 886 | + <string>#line_continuation</string> |
| 887 | + </dict> |
| 888 | + </array> |
| 889 | + </dict> |
| 890 | + <dict> |
| 891 | + <key>begin</key> |
| 892 | + <string>\s*(\w+)</string> |
| 893 | + <key>beginCaptures</key> |
| 894 | + <dict> |
| 895 | + <key>1</key> |
| 896 | + <dict> |
| 897 | + <key>comment</key> |
| 898 | + <string>Class name</string> |
| 899 | + <key>name</key> |
| 900 | + <string>entity.name.type.class.matlab</string> |
| 901 | + </dict> |
857 | 902 | </dict> |
| 903 | + <key>end</key> |
| 904 | + <string>(?<!\.{3})(?=\s*%|\n)</string> |
858 | 905 | <key>patterns</key> |
859 | 906 | <array> |
860 | 907 | <dict> |
861 | 908 | <key>begin</key> |
862 | | - <string>\G\s*([a-zA-Z][a-zA-Z0-9_]*)</string> |
863 | | - <key>beginCaptures</key> |
864 | | - <dict> |
865 | | - <key>1</key> |
866 | | - <dict> |
867 | | - <key>comment</key> |
868 | | - <string>Class name</string> |
869 | | - <key>name</key> |
870 | | - <string>entity.name.type.class.matlab</string> |
871 | | - </dict> |
872 | | - </dict> |
| 909 | + <string>\G</string> |
873 | 910 | <key>end</key> |
874 | 911 | <string>(?<!\.{3})(?=\n)</string> |
875 | 912 | <key>patterns</key> |
876 | 913 | <array> |
| 914 | + <dict> |
| 915 | + <key>include</key> |
| 916 | + <string>#comments</string> |
| 917 | + </dict> |
| 918 | + <dict> |
| 919 | + <key>include</key> |
| 920 | + <string>#line_continuation</string> |
| 921 | + </dict> |
877 | 922 | <dict> |
878 | 923 | <key>comment</key> |
879 | 924 | <string>Optional inheritance operator</string> |
|
921 | 966 | <key>match</key> |
922 | 967 | <string>&</string> |
923 | 968 | </dict> |
924 | | - <dict> |
925 | | - <key>include</key> |
926 | | - <string>#comments</string> |
927 | | - </dict> |
928 | | - <dict> |
929 | | - <key>include</key> |
930 | | - <string>#line_continuation</string> |
931 | | - </dict> |
932 | 969 | </array> |
933 | 970 | </dict> |
934 | 971 | <dict> |
|
940 | 977 | <string>#line_continuation</string> |
941 | 978 | </dict> |
942 | 979 | </array> |
943 | | - <key>end</key> |
944 | | - <string>(?<!\.{3})(?=\s*%|\n)</string> |
| 980 | + </dict> |
| 981 | + <dict> |
| 982 | + <key>include</key> |
| 983 | + <string>#comments</string> |
945 | 984 | </dict> |
946 | 985 | </array> |
947 | 986 | </dict> |
|
0 commit comments