source: Dev/trunk/src/client/dojox/highlight/languages/pygments/javascript.js

Last change on this file was 483, checked in by hendrikvanantwerpen, 11 years ago

Added Dojo 1.9.3 release.

File size: 3.3 KB
Line 
1define(["../../_base"], function(dh){
2
3        var dhc = dh.constants;
4        dh.languages.javascript = {
5                defaultMode: {
6                        lexems: ["\\b[a-zA-Z]+"],
7                        keywords: {
8                                "keyword": {
9                                        "for": 1, "in": 1, "while": 1, "do": 1, "break": 1, "return": 1,
10                                        "continue": 1, "if": 1, "else": 1, "throw": 1, "try": 1,
11                            "catch": 1, "var": 1, "with": 1, "const": 1, "label": 1,
12                                        "function": 1, "new": 1, "typeof": 1, "instanceof": 1
13                                },
14                                "keyword constant": {
15                                        "true": 1, "false": 1, "null": 1, "NaN": 1, "Infinity": 1, "undefined": 1
16                                },
17                                "name builtin": {
18                                        "Array": 1, "Boolean": 1, "Date": 1, "Error": 1, "Function": 1, "Math": 1,
19                                        "netscape": 1, "Number": 1, "Object": 1, "Packages": 1, "RegExp": 1,
20                                        "String": 1, "sun": 1, "decodeURI": 1, "decodeURIComponent": 1,
21                                        "encodeURI": 1, "encodeURIComponent": 1, "Error": 1, "eval": 1,
22                                        "isFinite": 1, "isNaN": 1, "parseFloat": 1, "parseInt": 1, "document": 1,
23                                        "window": 1
24                                },
25                                "name builtin pseudo": {
26                                        "this": 1
27                                }
28                        },
29                        contains: [
30                                "comment single", "comment multiline",
31                                "number integer", "number oct", "number hex", "number float",
32                                "string single", "string double", "string regex",
33                                "operator",
34                                "punctuation",
35                                //"name variable",
36                                "_function"
37                        ]
38                },
39                modes: [
40                        // comments
41                        {
42                                className: "comment single",
43                                begin: "//", end: "$",
44                                relevance: 0
45                        },
46                        {
47                                className: "comment multiline",
48                                begin: "/\\*", end: "\\*/"
49                        },
50
51                        // numbers
52                        {
53                                className: "number integer",
54                                begin: "0|([1-9][0-9]*)", end: "^",
55                                relevance: 0
56                        },
57                        {
58                                className: "number oct",
59                                begin: "0[0-9]+", end: "^",
60                                relevance: 0
61                        },
62                        {
63                                className: "number hex",
64                                begin: "0x[0-9a-fA-F]+", end: "^",
65                                relevance: 0
66                        },
67                        {
68                                className: "number float",
69                                begin: "([1-9][0-9]*\\.[0-9]*([eE][\\+-]?[0-9]+)?)|(\\.[0-9]+([eE][\\+-]?[0-9]+)?)|([0-9]+[eE][\\+-]?[0-9]+)", end: "^",
70                                relevance: 0
71                        },
72
73                        // strings
74                        {
75                                className: "string single",
76                                begin: "'", end: "'",
77                                illegal: "\\n",
78                                contains: ["string escape"],
79                                relevance: 0
80                        },
81                        {
82                                className: "string double",
83                                begin: '"',
84                                end: '"',
85                                illegal: "\\n",
86                                contains: ["string escape"],
87                                relevance: 0
88                        },
89                        {
90                                className: "string escape",
91                                begin: "\\\\.", end: "^",
92                                relevance: 0
93                        },
94                        {
95                                className: "string regex",
96                                begin: "/.*?[^\\\\/]/[gim]*", end: "^"
97                        },
98                       
99                        // operators
100                        {
101                                className: "operator",
102                                begin: "\\|\\||&&|\\+\\+|--|-=|\\+=|/=|\\*=|==|[-\\+\\*/=\\?:~\\^]", end: "^",
103                                relevance: 0
104                        },
105
106                        // punctuations
107                        {
108                                className: "punctuation",
109                                begin: "[{}\\(\\)\\[\\]\\.;]", end: "^",
110                                relevance: 0
111                        },
112                       
113                        // functions
114                        {
115                                className: "_function",
116                                begin: "function\\b", end: "{",
117                                lexems: [dhc.UNDERSCORE_IDENT_RE],
118                                keywords: {
119                                        keyword: {
120                                                "function": 1
121                                        }
122                                },
123                                contains: ["name function", "_params"],
124                                relevance: 5
125                        },
126                        {
127                                className: "name function",
128                                begin: dhc.UNDERSCORE_IDENT_RE, end: '^'
129                        },
130                        {
131                                className: "_params",
132                                begin: "\\(", end: "\\)",
133                                contains: ["comment single", "comment multiline"]
134                        }
135                        /*
136                        // names
137                        {
138                                className: "name variable",
139                                begin: "\\b[$a-zA-Z_][$a-zA-Z0-9_]*", end: "^",
140                                relevance: 0
141                        }
142                        */
143                ]
144        };
145
146        return dh.languages.javascript;
147});
Note: See TracBrowser for help on using the repository browser.