|
32 | 32 | "3": { "name": "entity.name.class.objectscript_class" }
|
33 | 33 | }
|
34 | 34 | },
|
| 35 | + { |
| 36 | + "begin": "(?i)(\\bExtends\\b)(\\s+)(\\()", |
| 37 | + "beginCaptures": { |
| 38 | + "1": { "name": "keyword.objectscript_class" }, |
| 39 | + "2": { "name": "whitespace.objectscript_class" }, |
| 40 | + "3": { "name": "punctuation.objectscript_class" } |
| 41 | + }, |
| 42 | + "patterns": [ |
| 43 | + { |
| 44 | + "match": "(%?[a-zA-Z][0-9a-zA-Z]*(?:_[0-9a-zA-Z]+)*(?:\\.[a-zA-Z][0-9a-zA-Z]*(?:_[0-9a-zA-Z]+)*)*)", |
| 45 | + "captures": { |
| 46 | + "1": { "name": "entity.name.class.objectscript_class" } |
| 47 | + } |
| 48 | + } |
| 49 | + ], |
| 50 | + "end": "(\\))", |
| 51 | + "endCaptures": { |
| 52 | + "1": { "name": "punctuation.objectscript_class" } |
| 53 | + } |
| 54 | + }, |
35 | 55 | {
|
36 | 56 | "begin": "({)",
|
37 | 57 | "beginCaptures": { "1": { "name": "punctuation.objectscript_class" } },
|
|
44 | 64 | "as": {
|
45 | 65 | "patterns": [
|
46 | 66 | {
|
47 |
| - "match": "(\\bAs\\b)(\\s+)(%?[a-zA-Z][0-9a-zA-Z]*(?:_[0-9a-zA-Z]+)*(?:\\.[a-zA-Z][0-9a-zA-Z]*(?:_[0-9a-zA-Z]+)*)*)", |
| 67 | + "match": "(?i)(\\bAs\\b(?:\\slist of)?)(\\s+)(%?[a-z][0-9a-z]*(?:_[0-9a-z]+)*(?:\\.[a-z][0-9a-z]*(?:_[0-9a-z]+)*)*)", |
48 | 68 | "captures": {
|
49 | 69 | "1": { "name": "keyword.objectscript_class" },
|
50 | 70 | "2": { "name": "whitespace.objectscript_class" },
|
|
103 | 123 | }
|
104 | 124 | },
|
105 | 125 | {
|
106 |
| - "begin": "(?i)^(\\bProperty\\b)(\\s+)(%?[a-zA-Z][0-9a-zA-Z]*(?:_[0-9a-zA-Z]+)*)", |
| 126 | + "begin": "(?i)^(\\bProperty\\b)(\\s+)((?:%?[a-zA-Z][0-9a-zA-Z]*(?:_[0-9a-zA-Z]+)*)|(?:\"[^\".]+\"))", |
107 | 127 | "beginCaptures": {
|
108 | 128 | "1": { "name": "keyword.objectscript_class" },
|
109 | 129 | "2": { "name": "whitespace.objectscript_class" },
|
|
114 | 134 | "endCaptures": { "1": { "name": "punctuation.objectscript_class" } }
|
115 | 135 | },
|
116 | 136 | {
|
117 |
| - "match": "(?i)^(\\bRelationship\\b)(\\s+)(%?[a-zA-Z][0-9a-zA-Z]*(?:_[0-9a-zA-Z]+)*)", |
| 137 | + "match": "(?i)^(\\bRelationship\\b)(\\s+)((?:%?[a-zA-Z][0-9a-zA-Z]*(?:_[0-9a-zA-Z]+)*)|(?:\"[^\".]+\"))", |
118 | 138 | "captures": {
|
119 | 139 | "1": { "name": "keyword.objectscript_class" },
|
120 | 140 | "2": { "name": "whitespace.objectscript_class" },
|
121 | 141 | "3": { "name": "entity.other.attribute-name.objectscript_class" }
|
122 | 142 | }
|
123 | 143 | },
|
124 | 144 | {
|
125 |
| - "begin": "(?i)^(\\b(?:Class|Client)?Method\\b)(\\s+)(%?[a-zA-Z][0-9a-zA-Z]*(?:_[0-9a-zA-Z]+)*)", |
| 145 | + "begin": "(?i)^(\\b(?:Class|Client)?Method\\b)(\\s+)((?:%?[a-zA-Z][0-9a-zA-Z]*(?:_[0-9a-zA-Z]+)*)|(?:\"[^\".]+\"))", |
126 | 146 | "beginCaptures": {
|
127 | 147 | "1": { "name": "keyword.objectscript_class" },
|
128 | 148 | "2": { "name": "whitespace.objectscript_class" },
|
|
220 | 240 | "beginCaptures": { "1": { "name": "punctuation.objectscript_class" } },
|
221 | 241 | "contentName": "text.objectscript_class",
|
222 | 242 | "end": "(\\))",
|
223 |
| - "endCaptures": { "1": { "name": "punctuation.objectscript_class" } } |
| 243 | + "endCaptures": { "1": { "name": "punctuation.objectscript_class" } }, |
| 244 | + "patterns": [ |
| 245 | + { "include": "#as" }, |
| 246 | + { |
| 247 | + "match": "[a-zA-Z][a-zA-Z0-9]*", |
| 248 | + "name": "variable.name.objectscrip" |
| 249 | + }, |
| 250 | + { "include": "source.objectscript#constants" } |
| 251 | + ] |
224 | 252 | }
|
225 | 253 | ]
|
226 | 254 | },
|
|
0 commit comments