Skip to content

Commit 1e95d73

Browse files
committed
parse metaclass correctly
1 parent 0d9ae8e commit 1e95d73

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

Matlab.tmbundle/Syntaxes/MATLAB.tmLanguage

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,10 @@
114114
<key>include</key>
115115
<string>#curly_brackets</string>
116116
</dict>
117+
<dict>
118+
<key>include</key>
119+
<string>#metaclass_literal</string>
120+
</dict>
117121
</array>
118122
</dict>
119123
<key>rules_after_command_dual</key>
@@ -2992,7 +2996,7 @@
29922996
<key>name</key>
29932997
<string>variable.other.readwrite.matlab</string>
29942998
<key>match</key>
2995-
<string>(?&lt;![a-zA-Z0-9_]|\.)[a-zA-Z][a-zA-Z0-9_]*(?![a-zA-Z0-9_]|(?:\(|\{|\.\())</string>
2999+
<string>(?&lt;![a-zA-Z0-9_]|\.|\?)[a-zA-Z][a-zA-Z0-9_]*(?![a-zA-Z0-9_]|(?:\(|\{|\.\())</string>
29963000
</dict>
29973001
<key>property_access</key>
29983002
<dict>
@@ -3003,6 +3007,32 @@
30033007
<key>match</key>
30043008
<string>\.</string>
30053009
</dict>
3010+
<key>metaclass_literal</key>
3011+
<dict>
3012+
<key>comment</key>
3013+
<string>Accessing a metaclass via the ? operator</string>
3014+
<key>name</key>
3015+
<string>meta.metaclass.matlab</string>
3016+
<key>begin</key>
3017+
<string>(?&lt;=\?)(?=[a-zA-Z])</string>
3018+
<key>end</key>
3019+
<string>(?&lt;=[a-zA-Z0-9_])(?![a-zA-Z0-9_]|\.|\(|{)</string>
3020+
<key>patterns</key>
3021+
<array>
3022+
<dict>
3023+
<key>name</key>
3024+
<string>entity.other.class.matlab</string>
3025+
<key>match</key>
3026+
<string>(?&lt;=[.\?])[a-zA-Z][a-zA-Z0-9_]*(?![a-zA-Z0-9_.])</string>
3027+
</dict>
3028+
<dict>
3029+
<key>name</key>
3030+
<string>entity.name.namespace.matlab</string>
3031+
<key>match</key>
3032+
<string>[a-zA-Z][a-zA-Z0-9_]*</string>
3033+
</dict>
3034+
</array>
3035+
</dict>
30063036
</dict>
30073037
</dict>
30083038
</plist>

0 commit comments

Comments
 (0)