Subversion-Projekte lars-tiefland.cienc

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
9 lars 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.83 (July 02 2010)
10
 *
11
 * @copyright
12
 * Copyright (C) 2004-2010 Alex Gorbatchev.
13
 *
14
 * @license
15
 * Dual licensed under the MIT and GPL licenses.
16
 */
17
;(function()
18
{
19
	// CommonJS
20
	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
21
 
22
	function Brush()
23
	{
24
		function process(match, regexInfo)
25
		{
26
			var constructor = SyntaxHighlighter.Match,
27
				code = match[0],
28
				tag = new XRegExp('(&lt;|<)[\\s\\/\\?]*(?<name>[:\\w-\\.]+)', 'xg').exec(code),
29
				result = []
30
				;
31
 
32
			if (match.attributes != null)
33
			{
34
				var attributes,
35
					regex = new XRegExp('(?<name> [\\w:\\-\\.]+)' +
36
										'\\s*=\\s*' +
37
										'(?<value> ".*?"|\'.*?\'|\\w+)',
38
										'xg');
39
 
40
				while ((attributes = regex.exec(code)) != null)
41
				{
42
					result.push(new constructor(attributes.name, match.index + attributes.index, 'color1'));
43
					result.push(new constructor(attributes.value, match.index + attributes.index + attributes[0].indexOf(attributes.value), 'string'));
44
				}
45
			}
46
 
47
			if (tag != null)
48
				result.push(
49
					new constructor(tag.name, match.index + tag[0].indexOf(tag.name), 'keyword')
50
				);
51
 
52
			return result;
53
		}
54
 
55
		this.regexList = [
56
			{ regex: new XRegExp('(\\&lt;|<)\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\](\\&gt;|>)', 'gm'),			css: 'color2' },	// <![ ... [ ... ]]>
57
			{ regex: SyntaxHighlighter.regexLib.xmlComments,												css: 'comments' },	// <!-- ... -->
58
			{ regex: new XRegExp('(&lt;|<)[\\s\\/\\?]*(\\w+)(?<attributes>.*?)[\\s\\/\\?]*(&gt;|>)', 'sg'), func: process }
59
		];
60
	};
61
 
62
	Brush.prototype	= new SyntaxHighlighter.Highlighter();
63
	Brush.aliases	= ['xml', 'xhtml', 'xslt', 'html'];
64
 
65
	SyntaxHighlighter.brushes.Xml = Brush;
66
 
67
	// CommonJS
68
	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
69
})();