├── Tests
├── literal-object.test.es
├── punctuators.test.es
├── identifiers.test.es
├── functions.test.es
├── literals.test.es
├── comments.test.es
└── operators.test.es
├── info.plist
├── README.md
└── Syntaxes
└── ECMAScript.tmLanguage
/Tests/literal-object.test.es:
--------------------------------------------------------------------------------
1 | {prop:'value'}
2 |
3 | {"key":"value"}
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Tests/punctuators.test.es:
--------------------------------------------------------------------------------
1 | { } ( ) [ ] . ; , < > <= >= == != === !== + - * % ++ -- << >> >>> & | ^ ! ~ && || ? : = += -= *= %= <<= >>= >>>= &= |= ^=
2 |
--------------------------------------------------------------------------------
/Tests/identifiers.test.es:
--------------------------------------------------------------------------------
1 | break
2 | case
3 | catch
4 | continue
5 | debugger
6 | default
7 | do
8 | else
9 | finally
10 | for
11 | function(){}
12 | if
13 | in
14 | instanceof
15 | return
16 | switch
17 | throw
18 | try
19 | var
20 | while
21 | with
22 |
23 | this
24 | arguments
25 |
26 | new Thing
27 | typeof Thing
28 | void Thing
29 | delete Thing
30 |
31 | class
32 | const
33 | enum
34 | export
35 | extends
36 | import
37 | super
38 |
39 | implements
40 | interface
41 | let
42 | package
43 | private
44 | protected
45 | public
46 | static
47 | yield
48 |
--------------------------------------------------------------------------------
/info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | contactEmailRot13
6 | boyvivbhf@fhogyrtenqvrag.pbz
7 | contactName
8 | Thomas Aylott
9 | description
10 | Support for ECMAScript based languages.
11 | name
12 | ECMAScript
13 | uuid
14 | BED4D3F3-F602-4DD0-9A2B-DF8098DD98EE
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Tests/functions.test.es:
--------------------------------------------------------------------------------
1 | function(a,b){};
2 | function named(a,b){};
3 |
4 | function
5 | // comment
6 | named
7 | // comment
8 | (
9 | // comment
10 | a
11 | // comment
12 | ,
13 | // comment
14 | b
15 | // comment
16 | )
17 | // comment
18 | {
19 | // comment
20 | return a + b;
21 | // comment
22 | };
23 |
24 |
25 | var foo = function(a,b){};
26 |
27 | function foo(arg, arg1){
28 | var var1
29 | function foo(arg, arg1){
30 | var var2
31 | function foo(arg, arg1){
32 | var var3
33 | function foo(arg, arg1){
34 | var var4
35 | function foo(arg, arg1){
36 | var var5
37 | }
38 | }
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/Tests/literals.test.es:
--------------------------------------------------------------------------------
1 | null
2 |
3 | true
4 | false
5 |
6 | "string"
7 | "'string'"
8 | "escaped \"quotes\""
9 |
10 | "string\
11 | with\
12 | continuations"
13 |
14 | "string with unescaped newline
15 | // This should not still be part of the string
16 |
17 | 'string'
18 | '"string"'
19 | 'escaped \'quotes\''
20 |
21 | 'string\
22 | with\
23 | continuations'
24 |
25 | 'string with unescaped newline
26 | // This should not still be part of the string
27 |
28 | 'escaped unnecessary: \a \c \d \e \g \h etc...'
29 | 'escaped necessary: \' \" \b \f \n \r \t \v'
30 | "escaped unnecessary: \a \c \d \e \g \h etc..."
31 | "escaped necessary: \' \" \b \f \n \r \t \v"
32 | 'hex \x0a unicode \u000a'
33 | "hex \x0a unicode \u000a"
34 |
--------------------------------------------------------------------------------
/Tests/comments.test.es:
--------------------------------------------------------------------------------
1 | function/*comment*/name(a,b){return a+b}
2 | function name/*comment*/(a,b){return a+b}
3 | function name(/*comment*/a,b){return a+b}
4 | function name(a/*comment*/,b){return a+b}
5 | function name(a,/*comment*/b){return a+b}
6 | function name(a,b/*comment*/){return a+b}
7 | function name(a,b)/*comment*/{return a+b}
8 | function name(a,b){/*comment*/return a+b}
9 | function name(a,b){return/*comment*/a+b}
10 | function name(a,b){return a/*comment*/+b}
11 | function name(a,b){return a+/*comment*/b}
12 | function name(a,b){return a+b/*comment*/}
13 | function name(a,b){return a+b}/*comment*/
14 |
15 | ////////////////////////////////////////
16 |
17 |
18 | function// comment
19 | name(a,b){return a+b}
20 |
21 | function name// comment
22 | (a,b){return a+b}
23 |
24 | function name(// comment
25 | a,b){return a+b}
26 |
27 | function name(a// comment
28 | ,b){return a+b}
29 |
30 | function name(a,// comment
31 | b){return a+b}
32 |
33 | function name(a,b// comment
34 | ){return a+b}
35 |
36 | function name(a,b)// comment
37 | {return a+b}
38 |
39 | function name(a,b){// comment
40 | return a+b}
41 |
42 | function name(a,b){return a// comment
43 | +b}
44 |
45 | function name(a,b){return a+// comment
46 | b}
47 |
48 | function name(a,b){return a+b// comment
49 | }
50 |
51 | function name(a,b){return a+b}// comment
52 |
--------------------------------------------------------------------------------
/Tests/operators.test.es:
--------------------------------------------------------------------------------
1 | typeof variableName ; //
2 | delete variableName ; //
3 | void variableName ; //
4 | new variableName ; //
5 | new variableName() ; //
6 | variableName() ; //
7 | variableName[0] ; //
8 | a + variableName ; // Arithmetic
9 | a - variableName ; // Arithmetic
10 | a * variableName ; // Arithmetic
11 | a / variableName ; // Arithmetic
12 | a % variableName ; // Arithmetic
13 | ++ variableName ; // Assignment Arithmetic Unary
14 | variableName ++ ; // Assignment Arithmetic Unary
15 | -- variableName ; // Assignment Arithmetic Unary
16 | variableName -- ; // Assignment Arithmetic Unary
17 | -variableName ; // Arithmetic Unary
18 | +variableName ; // Arithmetic Unary
19 | a = variableName ; // Assignment
20 | a += variableName ; // Assignment Arithmetic
21 | a -= variableName ; // Assignment Arithmetic
22 | a *= variableName ; // Assignment Arithmetic
23 | a /= variableName ; // Assignment Arithmetic
24 | a %= variableName ; // Assignment Arithmetic
25 | a >>= variableName ; // Assignment Arithmetic
26 | a <<= variableName ; // Assignment Arithmetic
27 | a >>>= variableName ; // Assignment Arithmetic
28 | a &= variableName ; // Assignment Arithmetic
29 | a |= variableName ; // Assignment Arithmetic
30 | a ^= variableName ; // Assignment Arithmetic
31 | a & variableName ; // Bitwise
32 | a | variableName ; // Bitwise
33 | a ^ variableName ; // Bitwise
34 | ~ variableName ; // Bitwise Unary
35 | a << variableName ; // Bitwise
36 | a >> variableName ; // Bitwise
37 | a >>> variableName ; // Bitwise
38 | a == variableName ; // Comparison
39 | a != variableName ; // Comparison
40 | a === variableName ; // Comparison
41 | a !== variableName ; // Comparison
42 | a > variableName ; // Comparison
43 | a >= variableName ; // Comparison
44 | a => variableName ; // Invalid
45 | a < variableName ; // Comparison
46 | a <= variableName ; // Comparison
47 | a && variableName ; // Logical
48 | a || variableName ; // Logical
49 | ! variableName ; // Logical Unary
50 | var variableName ; // Assignment
51 | var variableName = a ; // Assignment
52 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Identifier
2 | Literal
3 | Program
4 | SwitchCase
5 | CatchClause
6 |
7 | Declaration Function
8 | Declaration Variable
9 |
10 | Expression Array
11 | Expression Assignment
12 | Expression Binary
13 | Expression Call
14 | Expression Conditional
15 | Expression Function
16 | Expression Logical
17 | Expression Member
18 | Expression New
19 | Expression Object
20 | Expression Sequence
21 | Expression This
22 | Expression Unary
23 | Expression Update
24 |
25 | Statement Block
26 | Statement Break
27 | Statement Continue
28 | Statement Debugger
29 | Statement DoWhile
30 | Statement Empty
31 | Statement Expression
32 | Statement For
33 | Statement ForIn
34 | Statement If
35 | Statement Labeled
36 | Statement Return
37 | Statement Switch
38 | Statement Throw
39 | Statement Try
40 | Statement While
41 | Statement With
42 |
43 | # ECMA-262 5th edition
44 |
45 | 7.2 White Space
46 | 7.3 Line Terminators
47 | 7.4 Comments
48 | 7.6 Identifier Names and Identifiers
49 | 7.6.1.1 Keywords
50 | 7.6.1.2 Future Reserved Words
51 | 7.7 Punctuators
52 | 7.8.1 Null Literals
53 | 7.8.2 Boolean Literals
54 | 7.8.3 Numeric Literals
55 | 7.8.4 String Literals
56 | 11.1 Primary Expressions
57 | 11.1.4 Array Initialiser
58 | 11.1.5 Object Initialiser
59 | 11.10 Binary Bitwise Operators
60 | 11.11 Binary Logical Operators
61 | 11.12 Conditional Operator
62 | 11.13 Assignment Operators
63 | 11.14 Comma Operator
64 | 11.2 Left-Hand-Side Expressions
65 | 11.3 Postfix Expressions
66 | 11.4 Unary Operators
67 | 11.5 Multiplicative Operators
68 | 11.6 Additive Operators
69 | 11.7 Bitwise Shift Operators
70 | 11.8 Relational Operators
71 | 11.9 Equality Operators
72 |
73 | ## 12 Statements
74 |
75 | 12.1 Block
76 | 12.10 The swith statement
77 | 12.10 The with statement
78 | 12.12 Labelled Statements
79 | 12.13 The throw statement
80 | 12.14 The try statement
81 | 12.15 The debugger statement
82 | 12.2 Variable Statement
83 | 12.3 Empty Statement
84 | 12.4 Expression Statement
85 | 12.5 If statement
86 | 12.6 Iteration Statements
87 | 12.7 The continue statement
88 | 12.8 The break statement
89 | 12.9 The return statement
90 | 13 Function Definition
91 |
92 | ## 14 Program
93 |
94 |
95 | ## Keywords
96 |
97 | break
98 | case
99 | catch
100 | continue
101 | debugger
102 | default
103 | delete
104 | do
105 | else
106 | finally
107 | for
108 | function
109 | if
110 | in
111 | instanceof
112 | new
113 | return
114 | switch
115 | this
116 | throw
117 | try
118 | typeof
119 | var
120 | void
121 | while
122 | with
123 |
124 | \b(switch|new|c(ontinue|a(se|tch))|t(h(is|row)|ypeof|ry)|i(n(stanceof)?|f)|d(o|e(fault|lete|bugger))|else|v(oid|ar)|f(inally|or|unction)|w(hile|ith)|return|break)\b
125 |
126 | ## Future reserved words
127 |
128 | class
129 | const
130 | enum
131 | export
132 | extends
133 | import
134 | super
135 |
136 | \b(super|c(onst|lass)|import|e(num|x(tends|port)))\b
137 |
138 | ## strict mode
139 |
140 | implements
141 | interface
142 | let
143 | package
144 | private
145 | protected
146 | public
147 | static
148 | yield
149 |
150 | \b(static|yield|i(nterface|mplements)|p(ublic|ackage|r(ivate|otected))|let)\b
151 |
152 |
153 | ## Punctuators
154 |
155 | { } ( ) [ ] . ; , < > <= >= == != === !== + - * % ++ -- << >> >>> & | ^ ! ~ && || ? : = += -= *= %= <<= >>= >>>= &= |= ^=
156 |
157 |
--------------------------------------------------------------------------------
/Syntaxes/ECMAScript.tmLanguage:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | comment
6 | ECMAScript 5.1 http://es5.github.com/ http://www.ecmascript.org/
7 | fileTypes
8 |
9 | es
10 |
11 | foldingStartMarker
12 | /\*\*|\{\s*$
13 | foldingStopMarker
14 | \*\*/|^\s*\}
15 | keyEquivalent
16 | ^~E
17 | name
18 | ECMAScript
19 | patterns
20 |
21 |
22 | include
23 | #program
24 |
25 |
26 | repository
27 |
28 | block
29 |
30 | begin
31 | {
32 | beginCaptures
33 |
34 | 0
35 |
36 | name
37 | punctuation.section.group.begin.es
38 |
39 |
40 | comment
41 | 12.1 Block http://es5.github.com/#x12.1
42 | contentName
43 | meta.block.es
44 | end
45 | }
46 | endCaptures
47 |
48 | 0
49 |
50 | name
51 | punctuation.section.group.end.es
52 |
53 |
54 | patterns
55 |
56 |
57 | include
58 | #program
59 |
60 |
61 |
62 | comments
63 |
64 | comment
65 | 7.4 Comments http://es5.github.com/#x7.4
66 | patterns
67 |
68 |
69 | begin
70 | /\*
71 | beginCaptures
72 |
73 | 0
74 |
75 | name
76 | punctuation.definition.comment.begin.es.ecmascript
77 |
78 |
79 | end
80 | \*/
81 | endCaptures
82 |
83 | 0
84 |
85 | name
86 | punctuation.definition.comment.end.es.ecmascript
87 |
88 |
89 | name
90 | comment.block.es.ecmascript
91 |
92 |
93 | begin
94 | //
95 | beginCaptures
96 |
97 | 0
98 |
99 | name
100 | punctuation.definition.comment.es.ecmascript
101 |
102 |
103 | end
104 | $
105 | name
106 | comment.line.double-slash.es.ecmascript
107 |
108 |
109 |
110 | expression-left-hand-side
111 |
112 | comment
113 | 11.2 Left-Hand-Side Expressions http://es5.github.com/#x11.2
114 |
115 | expression-primary
116 |
117 | comment
118 | 11.1 Primary Expressions http://es5.github.com/#x11.1
119 |
120 | expression-statement
121 |
122 | comment
123 | 12.4 Expression Statement http://es5.github.com/#x12.4
124 |
125 | function-definition
126 |
127 | begin
128 | \b(function)\b(?:\s+\b(?i)([_$a-z][_$a-z0-9]*)\b)?
129 | beginCaptures
130 |
131 | 1
132 |
133 | name
134 | keyword.control.def.es
135 |
136 | 2
137 |
138 | name
139 | entity.name.function.$1.es
140 |
141 |
142 | comment
143 | 13 Function Definition http://es5.github.com/#x13
144 | end
145 | (?<=})
146 | name
147 | meta.$1.${2:-unnamed}
148 | patterns
149 |
150 |
151 | begin
152 | \G
153 | end
154 | (?<=\))
155 | patterns
156 |
157 |
158 | begin
159 | \G(?!\()
160 | comment
161 | function name
162 | end
163 | (?=\()
164 | patterns
165 |
166 |
167 | include
168 | #comments
169 |
170 |
171 | match
172 | \b(?i)[_$a-z][_$a-z0-9]*\b
173 | name
174 | entity.name.function.$1.es
175 |
176 |
177 |
178 |
179 | begin
180 | \(
181 | beginCaptures
182 |
183 | 0
184 |
185 | name
186 | punctuation.definition.parameters.begin.function.es
187 |
188 |
189 | comment
190 | function parameters
191 | contentName
192 | meta.function.parameters
193 | end
194 | \)
195 | endCaptures
196 |
197 | 0
198 |
199 | name
200 | punctuation.definition.parameters.end.function.es
201 |
202 |
203 | name
204 | meta.function.parameters
205 | patterns
206 |
207 |
208 | include
209 | #comments
210 |
211 |
212 | match
213 | \b(?i)[_$a-z][_$a-z0-9]*\b
214 | name
215 | variable.parameter.function.es
216 |
217 |
218 | match
219 | ,
220 | name
221 | punctuation.separator.parameters.function.es
222 |
223 |
224 |
225 |
226 |
227 |
228 | include
229 | #comments
230 |
231 |
232 | begin
233 | {
234 | beginCaptures
235 |
236 | 0
237 |
238 | name
239 | punctuation.definition.function.begin.es
240 |
241 |
242 | comment
243 | function body
244 | contentName
245 | meta.function.body
246 | end
247 | }
248 | endCaptures
249 |
250 | 0
251 |
252 | name
253 | punctuation.definition.function.end.es
254 |
255 |
256 | patterns
257 |
258 |
259 | include
260 | #program
261 |
262 |
263 |
264 |
265 |
266 | identifiers
267 |
268 | comment
269 | 7.6 Identifier Names and Identifiers http://es5.github.com/#x7.6
270 | patterns
271 |
272 |
273 | include
274 | #identifiers-keywords
275 |
276 |
277 | include
278 | #identifiers-future-reserved-words
279 |
280 |
281 | include
282 | #identifiers-future-reserved-words-strict
283 |
284 |
285 |
286 | identifiers-future-reserved-words
287 |
288 | comment
289 | 7.6.1.2a Future Reserved Words http://es5.github.com/#x7.6.1.2
290 | match
291 | \b(super|c(onst|lass)|import|e(num|x(tends|port)))\b
292 | name
293 | invalid.illegal.reserved.keyword.$1.es.ecmascript
294 |
295 | identifiers-future-reserved-words-strict
296 |
297 | comment
298 | 7.6.1.2b Future Reserved Words http://es5.github.com/#x7.6.1.2
299 | match
300 | \b(static|yield|i(nterface|mplements)|p(ublic|ackage|r(ivate|otected))|let)\b
301 | name
302 | invalid.illegal.reserved.keyword.$1.es.ecmascript.strict
303 |
304 | identifiers-keywords
305 |
306 | comment
307 | 7.6.1.1 Keywords http://es5.github.com/#x7.6.1.1
308 | match
309 | \b(switch|new|c(ontinue|a(se|tch))|t(h(is|row)|ypeof|ry)|i(n(stanceof)?|f)|d(o|e(fault|lete|bugger))|else|v(oid|ar)|f(inally|or|unction)|w(hile|ith)|return|break)\b
310 | name
311 | keyword.other.$1.es.ecmascript
312 |
313 | initialiser-array
314 |
315 | comment
316 | 11.1.4 Array Initialiser http://es5.github.com/#x11.1.4
317 |
318 | initialiser-object
319 |
320 | comment
321 | 11.1.5 Object Initialiser http://es5.github.com/#x11.1.5
322 |
323 | line-terminators
324 |
325 | comment
326 | 7.3 Line Terminators http://es5.github.com/#x7.3
327 |
328 | literal-numeric
329 |
330 | comment
331 | 7.8.3 Numeric Literals http://es5.github.com/#x7.8.3
332 |
333 | literal-string
334 |
335 | comment
336 | 7.8.4 String Literals http://es5.github.com/#x7.8.4
337 | patterns
338 |
339 |
340 | begin
341 | "
342 | beginCaptures
343 |
344 | 0
345 |
346 | name
347 | punctuation.definition.string.begin.es
348 |
349 |
350 | end
351 | "|(\n)
352 | endCaptures
353 |
354 | 0
355 |
356 | name
357 | punctuation.definition.string.end.es
358 |
359 | 1
360 |
361 | name
362 | invalid.illegal.character.newline.es
363 |
364 |
365 | name
366 | string.quoted.double.es
367 | patterns
368 |
369 |
370 | include
371 | #string-escape
372 |
373 |
374 |
375 |
376 | begin
377 | '
378 | beginCaptures
379 |
380 | 0
381 |
382 | name
383 | punctuation.definition.string.begin.es
384 |
385 |
386 | end
387 | '|(\n)
388 | endCaptures
389 |
390 | 0
391 |
392 | name
393 | punctuation.definition.string.begin.es
394 |
395 | 1
396 |
397 | name
398 | invalid.illegal.character.newline.es
399 |
400 |
401 | name
402 | string.quoted.single.es
403 | patterns
404 |
405 |
406 | include
407 | #string-escape
408 |
409 |
410 |
411 |
412 | repository
413 |
414 | string-escape
415 |
416 | patterns
417 |
418 |
419 | match
420 | (?i)\\u[0-9A-F]{4}
421 | name
422 | constant.character.escape.unicode.es
423 |
424 |
425 | match
426 | (?i)\\x[0-9A-F]{2}
427 | name
428 | constant.character.escape.hex.es
429 |
430 |
431 | match
432 | \\"
433 | name
434 | constant.character.escape.quote.double.newline.es
435 |
436 |
437 | match
438 | \\'
439 | name
440 | constant.character.escape.quote.single.newline.es
441 |
442 |
443 | match
444 | (?i)\\\n
445 | name
446 | punctuation.separator.continuation.string.es
447 |
448 |
449 | match
450 | (?i)\\['"\\bfnrtv]
451 | name
452 | constant.character.escape.es
453 |
454 |
455 | captures
456 |
457 | 0
458 |
459 | name
460 | invalid.deprecated.unnecessary.escape.es
461 |
462 |
463 | match
464 | \\.
465 | name
466 | constant.character.escape.es
467 |
468 |
469 |
470 |
471 |
472 | literals
473 |
474 | comment
475 | 7.8 Literals http://es5.github.com/#x7.8
476 | patterns
477 |
478 |
479 | comment
480 | 7.8.1 Null Literals http://es5.github.com/#x7.8.1
481 | match
482 | \bnull\b
483 | name
484 | constant.language.null.es
485 |
486 |
487 | comment
488 | 7.8.2 Boolean Literals http://es5.github.com/#x7.8.2
489 | match
490 | \b(true|false)\b
491 | name
492 | constant.language.boolean.$1.es
493 |
494 |
495 | include
496 | #literal-numeric
497 |
498 |
499 | include
500 | #literal-string
501 |
502 |
503 |
504 | operator
505 |
506 | comment
507 | 11 Operators http://es5.github.com/#x11
508 | patterns
509 |
510 |
511 | comment
512 | 10.6 Arguments Object http://es5.github.com/#x10.6
513 | match
514 | \barguments\b
515 | name
516 | variable.language.arguments.es
517 |
518 |
519 | comment
520 | 11.1.1 The this Keyword http://es5.github.com/#x11.1.1
521 | match
522 | \bthis\b
523 | name
524 | variable.language.this.es
525 |
526 |
527 | comment
528 | 11.2.2 The new Operator http://es5.github.com/#x11.2.2
529 | match
530 | \bnew\b
531 | name
532 | keyword.operator.new.es
533 |
534 |
535 | captures
536 |
537 | 1
538 |
539 | name
540 | keyword.operator.assignment.arithmetic.postfix.es
541 |
542 |
543 | comment
544 | 11.3 Postfix Expressions http://es5.github.com/#x11.3
545 | match
546 | \b\s*(\+\+|--)
547 |
548 |
549 | comment
550 | 11.9 Equality Operators http://es5.github.com/#x11.9
551 | patterns
552 |
553 |
554 | match
555 | !==|!=|===|==
556 | name
557 | keyword.operator.equality.es
558 |
559 |
560 |
561 |
562 | comment
563 | 11.13 Assignment Operators http://es5.github.com/#x11.13
564 | patterns
565 |
566 |
567 | match
568 | [-+*/%]=
569 | name
570 | keyword.operator.assignment.arithmetic.es
571 |
572 |
573 | match
574 | (>>>|>>|<<|[&^|])=
575 | name
576 | keyword.operator.assignment.bitwise.es
577 |
578 |
579 |
580 |
581 | comment
582 | 11.4 Unary Operators http://es5.github.com/#x11.4
583 | patterns
584 |
585 |
586 | match
587 | \b(delete|void|typeof)\b
588 | name
589 | keyword.operator.$1.unary.es
590 |
591 |
592 | match
593 | (\+\+|--)
594 | name
595 | keyword.operator.assignment.arithmetic.prefix.unary.es
596 |
597 |
598 | match
599 | [-+~](?!\s)
600 | name
601 | keyword.operator.unary.es
602 |
603 |
604 | match
605 | !
606 | name
607 | keyword.operator.logical.not.unary.es
608 |
609 |
610 | match
611 | ~
612 | name
613 | keyword.operator.bitwise.not.unary.es
614 |
615 |
616 |
617 |
618 | comment
619 | 11.5 Multiplicative Operators http://es5.github.com/#x11.5
620 | match
621 | [*/%]
622 | name
623 | keyword.operator.arithmetic.multiplicative.es
624 |
625 |
626 | comment
627 | 11.6 Additive Operators http://es5.github.com/#x11.6
628 | match
629 | [-+]
630 | name
631 | keyword.operator.arithmetic.additive.es
632 |
633 |
634 | comment
635 | 11.7 Bitwise Shift Operators http://es5.github.com/#x11.7
636 | match
637 | >>>|>>|<<
638 | name
639 | keyword.operator.bitwise.shift.es
640 |
641 |
642 | comment
643 | 11.10 Binary Bitwise Operators http://es5.github.com/#x11.10
644 | match
645 | [&^|]
646 | name
647 | keyword.operator.bitwise.binary.es
648 |
649 |
650 | comment
651 | 11.11 Binary Logical Operators http://es5.github.com/#x11.11
652 | match
653 |
654 | name
655 | keyword.operator.logical.binary.es
656 |
657 |
658 | comment
659 | 11.12 Conditional Operator http://es5.github.com/#x11.12
660 | match
661 |
662 | name
663 | keyword.operator.conditional.es
664 |
665 |
666 | comment
667 | 11.8 Relational Operators http://es5.github.com/#x11.8
668 | patterns
669 |
670 |
671 | match
672 | \b(instanceof|in)\b
673 | name
674 | keyword.operator.comparison.$1.es
675 |
676 |
677 | match
678 | >=|<=|>|<
679 | name
680 | keyword.operator.comparison.es
681 |
682 |
683 | match
684 | =>|=<
685 | name
686 | invalid.illegal.operator.comparison.es
687 |
688 |
689 |
690 |
691 | comment
692 | 11.13 Assignment Operators http://es5.github.com/#x11.13
693 | patterns
694 |
695 |
696 | match
697 | =
698 | name
699 | keyword.operator.assignment.simple.es
700 |
701 |
702 |
703 |
704 |
705 | program
706 |
707 | patterns
708 |
709 |
710 | include
711 | #function-definition
712 |
713 |
714 | include
715 | #comments
716 |
717 |
718 | include
719 | #operator
720 |
721 |
722 | include
723 | #identifiers
724 |
725 |
726 | include
727 | #literals
728 |
729 |
730 | include
731 | #block
732 |
733 |
734 | comment
735 | Not sure where else to put this, yet
736 | patterns
737 |
738 |
739 | match
740 | ;
741 | name
742 | punctuation.terminator.statement.es
743 |
744 |
745 |
746 |
747 |
748 | punctuators
749 |
750 | comment
751 | 7.7 Punctuators http://es5.github.com/#x7.7
752 |
753 | statement
754 |
755 | comment
756 | 12 Statements http://es5.github.com/#x12
757 |
758 | statement-break
759 |
760 | comment
761 | 12.8 The Break Statement http://es5.github.com/#x12.8
762 |
763 | statement-continue
764 |
765 | comment
766 | 12.7 The Continue Statement http://es5.github.com/#x12.7
767 |
768 | statement-debugger
769 |
770 | comment
771 | 12.15 The Debugger Statement http://es5.github.com/#x12.15
772 |
773 | statement-empty
774 |
775 | comment
776 | 12.3 Empty Statement http://es5.github.com/#x12.3
777 |
778 | statement-if
779 |
780 | comment
781 | 12.5 If Statement http://es5.github.com/#x12.5
782 |
783 | statement-iteration
784 |
785 | comment
786 | 12.6 Iteration Statements http://es5.github.com/#x12.6
787 |
788 | statement-labelled
789 |
790 | comment
791 | 12.12 Labelled Statements http://es5.github.com/#x12.12
792 |
793 | statement-return
794 |
795 | comment
796 | 12.9 The Return Statement http://es5.github.com/#x12.9
797 |
798 | statement-throw
799 |
800 | comment
801 | 12.13 The Throw Statement http://es5.github.com/#x12.13
802 |
803 | statement-try
804 |
805 | comment
806 | 12.14 The try Statement http://es5.github.com/#x12.14
807 |
808 | statement-variable
809 |
810 | comment
811 | 12.2 Variable Statement http://es5.github.com/#x12.2
812 |
813 | statement-with
814 |
815 | comment
816 | 12.10 The With Statement http://es5.github.com/#x12.10
817 |
818 | white-space
819 |
820 | comment
821 | 7.2 White Space http://es5.github.com/#x7.2
822 |
823 |
824 | scopeName
825 | source.es
826 | uuid
827 | 5FCE9A79-8A9C-4903-9ACE-192EC5DC269F
828 |
829 |
830 |
--------------------------------------------------------------------------------