1/**
2 * SyntaxHighlighter
3 * http://alexgorbatchev.com/SyntaxHighlighter
4 *
5 * SyntaxHighlighter is donationware. If you are using it, please donate.
6 * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
7 *
8 * @version
9 * 3.0.90 (Sat, 18 Jun 2016 21:01:41 GMT)
10 *
11 * @copyright
12 * Copyright (C) 2004-2013 Alex Gorbatchev.
13 *
14 * @license
15 * Dual licensed under the MIT and GPL licenses.
16 */
17// Brush for the TypeScript language
18// Based on the JavaScript brush - shBrushJScript.js - with some minor alterations
19
20; (function ()
21{
22	// CommonJS
23	SyntaxHighlighter = SyntaxHighlighter || (typeof require !== 'undefined'? require('shCore').SyntaxHighlighter : null);
24
25	function Brush()
26	{
27		var keywords =	'break case catch class continue ' +
28				'default delete do else enum export extends false  ' +
29				'for function if implements import in instanceof ' +
30				'interface let new null package private protected ' +
31				'static return super switch ' +
32				'this throw true try typeof var while with yield' +
33		    ' any bool declare get module number public set string';   // TypeScript-specific, everything above is common with JavaScript
34
35		var r = SyntaxHighlighter.regexLib;
36
37		this.regexList = [
38			{ regex: r.multiLineDoubleQuotedString,					css: 'string' },			// double quoted strings
39			{ regex: r.multiLineSingleQuotedString,					css: 'string' },			// single quoted strings
40			{ regex: r.singleLineCComments,							css: 'comments' },			// one line comments
41			{ regex: r.multiLineCComments,							css: 'comments' },			// multiline comments
42			{ regex: new RegExp(this.getKeywords(keywords), 'gm'),	css: 'keyword' }			// keywords
43			];
44
45		this.forHtmlScript(r.scriptScriptTags);
46	};
47
48	Brush.prototype	= new SyntaxHighlighter.Highlighter();
49	Brush.aliases	= ['ts', 'typescript'];
50
51	SyntaxHighlighter.brushes.TypeScript = Brush;
52
53	// CommonJS
54	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
55})();
56