|
12 | 12 | { |
13 | 13 | "include": "#comments" |
14 | 14 | }, |
15 | | - { |
16 | | - "include": "#bracket-expression" |
17 | | - }, |
18 | 15 | { |
19 | 16 | "include": "#control" |
20 | 17 | }, |
|
44 | 41 | }, |
45 | 42 | { |
46 | 43 | "include": "#macrovars" |
| 44 | + }, |
| 45 | + { |
| 46 | + "include": "#rs274ngc" |
47 | 47 | } |
48 | 48 | ] |
49 | 49 | }, |
|
63 | 63 | "control": { |
64 | 64 | "patterns": [ |
65 | 65 | { |
66 | | - "match": "(GOTO\\s?\\d*)", |
| 66 | + "match": "(?i)(GOTO\\s?\\d+)", |
67 | 67 | "name": "keyword.control.gcode" |
68 | 68 | }, |
69 | 69 | { |
70 | | - "match": "(EQ|NE|LT|GT|LE|GE|AND|OR|XOR)", |
| 70 | + "match": "(?i)(EQ|NE|LT|GT|LE|GE|AND|OR|XOR)", |
71 | 71 | "name": "keyword.control.gcode" |
72 | 72 | }, |
73 | 73 | { |
74 | | - "match": "(DO\\s?\\d*|WHILE|WH|END|IF|THEN|ELSE|ENDIF)", |
| 74 | + "match": "(?i)(DO\\s?\\d*|WHILE|WH|END|IF|THEN|ELSE|ENDIF)", |
75 | 75 | "name": "keyword.control.gcode" |
76 | 76 | }, |
77 | 77 | { |
|
111 | 111 | "operators": { |
112 | 112 | "patterns": [ |
113 | 113 | { |
114 | | - "match": "(SIN|COS|TAN|ASIN|ACOS|ATAN|FIX|FUP|LN|ROUND|SQRT)", |
| 114 | + "match": "(?i)(SIN|COS|TAN|ASIN|ACOS|ATAN|FIX|FUP|LN|ROUND|SQRT)", |
115 | 115 | "name": "support.constant.math.gcode" |
116 | 116 | }, |
117 | 117 | { |
118 | | - "match": "(FIX|FUP|ROUND|ABS|MOD)", |
| 118 | + "match": "(?i)(FIX|FUP|ROUND|ABS|MOD)", |
119 | 119 | "name": "support.constant.math.gcode" |
120 | 120 | }, |
121 | 121 | { |
|
135 | 135 | "name": "constant.language.gcode" |
136 | 136 | }, |
137 | 137 | { |
138 | | - "match": "([eEfF])\\s?(\\d*\\.?\\d+\\.?|\\.?(?=[#\\[]))", |
| 138 | + "match": "([eEfF])\\s?\\.?(\\d+(\\.\\d*)?|(?=[#\\[]))", |
139 | 139 | "name": "constant.language.gcode" |
140 | 140 | } |
141 | 141 | ] |
|
147 | 147 | "name": "constant.numeric.gcode" |
148 | 148 | }, |
149 | 149 | { |
150 | | - "match": "(^[oO])(\\d+)", |
| 150 | + "match": "(^[oO])(\\d+)?", |
151 | 151 | "name": "string.regexp.gcode" |
152 | 152 | }, |
153 | 153 | { |
|
211 | 211 | "macrovars": { |
212 | 212 | "patterns": [ |
213 | 213 | { |
214 | | - "match": "[#][0-9]+", |
215 | | - "name": "variable.other.gcode" |
216 | | - }, |
217 | | - { |
218 | | - "match": "[#][\\[].+[\\]]", |
| 214 | + "match": "[#][0-9]*", |
219 | 215 | "name": "variable.other.gcode" |
220 | 216 | } |
221 | 217 | ] |
222 | 218 | }, |
223 | | - "bracket-expression": { |
224 | | - "begin": "\\[", |
225 | | - "end": "\\]", |
226 | | - "beginCaptures": { |
227 | | - "0": { |
228 | | - "name": "punctuation.paren.open" |
229 | | - } |
230 | | - }, |
231 | | - "endCaptures": { |
232 | | - "0": { |
233 | | - "name": "punctuation.paren.close" |
234 | | - } |
235 | | - }, |
236 | | - "name": "expression.group", |
| 219 | + "rs274ngc": { |
237 | 220 | "patterns": [ |
238 | 221 | { |
239 | | - "include": "#all" |
| 222 | + "match": "(?i)(ENDSUB|SUB)", |
| 223 | + "name": "keyword.control.gcode" |
| 224 | + }, |
| 225 | + { |
| 226 | + "begin": "<", |
| 227 | + "end": ">", |
| 228 | + "beginCaptures": { |
| 229 | + "0": { |
| 230 | + "name": "markup.bold.gcode" |
| 231 | + } |
| 232 | + }, |
| 233 | + "endCaptures": { |
| 234 | + "0": { |
| 235 | + "name": "markup.bold.gcode" |
| 236 | + } |
| 237 | + }, |
| 238 | + "name": "support.type.gcode" |
240 | 239 | } |
241 | 240 | ] |
242 | 241 | } |
|
0 commit comments