-
Notifications
You must be signed in to change notification settings - Fork 1
/
lang-jsx.js
65 lines (59 loc) · 2.44 KB
/
lang-jsx.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*
* Copyright (c) 2012 DeNA Co., Ltd.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
*/
// JSX configuration for Google Code Prettifier
PR.registerLangHandler(
PR.sourceDecorator({
keywords: [
// literals shared with ECMA 262
"null", "true", "false",
"NaN", "Infinity",
// keywords shared with ECMA 262
"break", "do", "instanceof", "typeof",
"case", "else", "new", "var",
"catch", "finally", "return", "void",
"continue", "for", "switch", "while",
"function", "this",
/* "default", */ // contextual keywords
"if", "throw",
/* "assert", "log", // contextual keywords */
"delete", "in", "try",
// keywords of JSX
"class", "extends", "super",
"import", "implements",
"interface", "static",
"__FILE__", "__LINE__",
// literals of ECMA 262 but not used by JSX
"debugger", "with",
// future reserved words of ECMA 262
"const", "export",
// future reserved words within strict mode of ECMA 262
"let", "private", "public", "yield",
"protected",
// JSX specific reserved words
"extern", "native", "as", "operator",
// built-in classes
"Array,boolean,Boolean,Date,number,Number,Map,int,Object,string,String,RegExp,JSON,Nullable,variant,void",
"Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError"
].join(","),
cStyleComments: true,
regexLiterals: true
}), ['jsx']);