Merge branch '3917_sftps_atime_mtime'
[midnight-commander.git] / misc / syntax / js.syntax
blob9f978973123efe62fd3d8dd97161de73b4ea8905
2 # JavaScript syntax highlighting
3 # for MC Editor/CoolEdit
5 # Author: Vlad Romanenko <VladRomanenko@ukr.net>
6 # Based on c.syntax
8 # TODO:
9 # Highlight JS regexpressions /../
10 # More built-in functions
12 # 2002-09-17  Vlad Romanenko <VladRomanenko@ukr.net>
13 #    * More C and Java consistency by Pavel Roskin <proski@gnu.org>.
14 #    * Advanced number highlighting.
16 # 2002-09-16  Vlad Romanenko <VladRomanenko@ukr.net>
17 #    * Initial public release.
20 context default
22     #=========================
23     # Keywords
24     keyword whole arguments yellow
25     keyword whole break yellow
26     keyword whole caller yellow
27     keyword whole case yellow
28     keyword whole catch yellow
29     keyword whole class yellow
30     keyword whole const yellow
31     keyword whole constructor yellow
32     keyword whole continue yellow
33     keyword whole else yellow
34     keyword whole extends yellow
35     keyword whole export yellow
36     keyword whole default yellow
37     keyword whole delete yellow
38     keyword whole for yellow
39     keyword whole function yellow
40     keyword whole if yellow
41     keyword whole import yellow
42     keyword whole in yellow
43     keyword whole instanceof yellow
44     keyword whole let yellow
45     keyword whole new yellow
46     keyword whole of yellow
47     keyword whole prototype yellow
48     keyword whole return yellow
49     keyword whole switch yellow
50     keyword whole this yellow
51     keyword whole throw yellow
52     keyword whole try yellow
53     keyword whole typeof yellow
54     keyword whole var yellow
55     keyword whole while yellow
56     keyword whole with yellow
57     keyword whole yield yellow
59     #=========================
60     # Objects
61     keyword whole ActiveXObject yellow
62     keyword whole Array yellow
63     keyword whole Boolean yellow
64     keyword whole Date yellow
65     keyword whole Dictionary yellow
66     keyword whole Enumerator yellow
67     keyword whole FileSystemObject yellow
68     keyword whole Function yellow
69     keyword whole Global yellow
70     keyword whole Image yellow
71     keyword whole Math yellow
72     keyword whole Map yellow
73     keyword whole Number yellow
74     keyword whole Object yellow
75     keyword whole Promise yellow
76     keyword whole Proxy yellow
77     keyword whole Reflect yellow
78     keyword whole Set yellow
79     keyword whole Symbol yellow
80     keyword whole TextStream yellow
81     keyword whole RegExp yellow
82     keyword whole VBArray yellow
83     keyword whole WeakMap yellow
84     keyword whole WeakSet yellow
86     #=========================
87     # Most common functions
88     keyword whole alert yellow
89     keyword whole escape yellow
90     keyword whole eval yellow
91     keyword whole indexOf yellow
92     keyword whole isNaN yellow
93     keyword whole toString yellow
94     keyword whole unescape yellow
95     keyword whole valueOf yellow
97     #=========================
98     # Constants
99     keyword whole false brightgreen
100     keyword whole null brightgreen
101     keyword whole true brightgreen
102     keyword whole undefined yellow
104     #=========================
105     # Comments
106     keyword /\* brown
107     keyword \*/ brown
108     keyword // brown
110     #=========================
111     # Numbers
112     wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.
114     keyword whole 0\{xX\}\{0123456789abcdefABCDEF\}\[0123456789abcdefABCDEF\] brightgreen
115     keyword whole \{0123456789\}\[0123456789\] brightgreen
116     keyword whole \[0123456789\]\.\{0123456789\}\[0123456789\] brightgreen
117     keyword whole \{0123456789\}\[0123456789\]\.\[0123456789\] brightgreen
118     keyword whole \{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] brightgreen
119     keyword whole \{0123456789\}\[0123456789\]\{eE\}\{\-\+\}\{0123456789\}\[0123456789\] brightgreen
120     keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] brightgreen
121     keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{\-\+\}\{0123456789\}\[0123456789\] brightgreen
123     #=========================
124     # Special symbols
125     keyword => brightcyan
126     keyword \. yellow
127     keyword \* yellow
128     keyword \+ yellow
129     keyword - yellow
130     keyword / yellow
131     keyword % yellow
132     keyword = yellow
133     keyword ! yellow
134     keyword & yellow
135     keyword | yellow
136     keyword ^ yellow
137     keyword ~ yellow
138     keyword > yellow
139     keyword < yellow
141     #=========================
142     # Separators
143     keyword { brightcyan
144     keyword } brightcyan
145     keyword ( brightcyan
146     keyword ) brightcyan
147     keyword [ brightcyan
148     keyword ] brightcyan
149     keyword , brightcyan
150     keyword ? brightcyan
151     keyword : brightcyan
152     keyword ; brightmagenta
155 #=============================
156 # Comments
158 context exclusive /\* \*/ brown
159     spellcheck
160     keyword whole BUG brightred
161     keyword whole FixMe brightred
162     keyword whole FIXME brightred
163     keyword whole Note brightred
164     keyword whole NOTE brightred
165     keyword whole ToDo brightred
166     keyword whole TODO brightred
167     keyword !!\[!\] brightred
168     keyword ??\[?\] brightred
171 context exclusive // \n brown
172     spellcheck
173     keyword whole BUG brightred
174     keyword whole FixMe brightred
175     keyword whole FIXME brightred
176     keyword whole Note brightred
177     keyword whole NOTE brightred
178     keyword whole ToDo brightred
179     keyword whole TODO brightred
180     keyword !!\[!\] brightred
181     keyword ??\[?\] brightred
184 #=============================
185 # Strings
187 context " " green
188     spellcheck
189     keyword \\\{\\'"abtnvfr\} brightgreen
190     keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen
192     keyword ' brightgreen
194 context ' ' green
195     spellcheck
196     keyword \\\{\\'"abtnvfr\} brightgreen
197     keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen
199     keyword " brightgreen
201 context ` ` green
202     spellcheck
203     keyword \\\{\\'"abtnvfr\} brightgreen
204     keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen
205     keyword ${*} yellow