<?xml version="1.0" encoding="UTF-8"?>
<!--

Syntax highlighting definition for JavaScript

xslthl - XSLT Syntax Highlighting
http://sourceforge.net/projects/xslthl/
Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks

This software is provided 'as-is', without any express or implied
warranty.  In no event will the authors be held liable for any damages
arising from the use of this software.

Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not
   claim that you wrote the original software. If you use this software
   in a product, an acknowledgment in the product documentation would be
   appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
   misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.

Michal Molhanec <mol1111 at users.sourceforge.net>
Jirka Kosek <kosek at users.sourceforge.net>
Michiel Hendriks <elmuerte at users.sourceforge.net>

-->
<highlighters>
	<highlighter type="multiline-comment">
		<start>/*</start>
		<end>*/</end>
	</highlighter>
	<highlighter type="oneline-comment">//</highlighter>
	<highlighter type="string">
		<string>"</string>
		<escape>\</escape>
	</highlighter>
	<highlighter type="string">
		<string>'</string>
		<escape>\</escape>
	</highlighter>
	<highlighter type="hexnumber">
		<prefix>0x</prefix>
		<ignoreCase />
	</highlighter>
	<highlighter type="number">
		<point>.</point>
		<exponent>e</exponent>
		<ignoreCase />
	</highlighter>
	<highlighter type="keywords">
		<keyword>break</keyword>
		<keyword>case</keyword>
		<keyword>catch</keyword>
		<keyword>continue</keyword>
		<keyword>default</keyword>
		<keyword>delete</keyword>
		<keyword>do</keyword>
		<keyword>else</keyword>
		<keyword>finally</keyword>
		<keyword>for</keyword>
		<keyword>function</keyword>
		<keyword>if</keyword>
		<keyword>in</keyword>
		<keyword>instanceof</keyword>
		<keyword>new</keyword>
		<keyword>return</keyword>
		<keyword>switch</keyword>
		<keyword>this</keyword>
		<keyword>throw</keyword>
		<keyword>try</keyword>
		<keyword>typeof</keyword>
		<keyword>var</keyword>
		<keyword>void</keyword>
		<keyword>while</keyword>
		<keyword>with</keyword>
		<!-- future keywords -->
		<keyword>abstract</keyword>
		<keyword>boolean</keyword>
		<keyword>byte</keyword>
		<keyword>char</keyword>
		<keyword>class</keyword>
		<keyword>const</keyword>
		<keyword>debugger</keyword>
		<keyword>double</keyword>
		<keyword>enum</keyword>
		<keyword>export</keyword>
		<keyword>extends</keyword>
		<keyword>final</keyword>
		<keyword>float</keyword>
		<keyword>goto</keyword>
		<keyword>implements</keyword>
		<keyword>import</keyword>
		<keyword>int</keyword>
		<keyword>interface</keyword>
		<keyword>long</keyword>
		<keyword>native</keyword>
		<keyword>package</keyword>
		<keyword>private</keyword>
		<keyword>protected</keyword>
		<keyword>public</keyword>
		<keyword>short</keyword>
		<keyword>static</keyword>
		<keyword>super</keyword>
		<keyword>synchronized</keyword>
		<keyword>throws</keyword>
		<keyword>transient</keyword>
		<keyword>volatile</keyword>
	</highlighter>
	<highlighter type="keywords">
		<keyword>prototype</keyword>
		<!-- Global Objects -->
		<keyword>Array</keyword>
		<keyword>Boolean</keyword>
		<keyword>Date</keyword>
		<keyword>Error</keyword>
		<keyword>EvalError</keyword>
		<keyword>Function</keyword>
		<keyword>Math</keyword>
		<keyword>Number</keyword>
		<keyword>Object</keyword>
		<keyword>RangeError</keyword>
		<keyword>ReferenceError</keyword>
		<keyword>RegExp</keyword>
		<keyword>String</keyword>
		<keyword>SyntaxError</keyword>
		<keyword>TypeError</keyword>
		<keyword>URIError</keyword>
		<!-- Global functions -->
		<keyword>decodeURI</keyword>
		<keyword>decodeURIComponent</keyword>
		<keyword>encodeURI</keyword>
		<keyword>encodeURIComponent</keyword>
		<keyword>eval</keyword>
		<keyword>isFinite</keyword>
		<keyword>isNaN</keyword>
		<keyword>parseFloat</keyword>
		<keyword>parseInt</keyword>
		<!-- Global properties -->
		<keyword>Infinity</keyword>
		<keyword>NaN</keyword>
		<keyword>undefined</keyword>
	</highlighter>
</highlighters>