PageRenderTime 25ms CodeModel.GetById 10ms app.highlight 10ms RepoModel.GetById 1ms app.codeStats 0ms

/pigeoncms/Plugins/syntaxhighlighter/scripts/shBrushRuby.js

http://pigeoncms.googlecode.com/
JavaScript | 55 lines | 28 code | 8 blank | 19 comment | 6 complexity | 8da67ffc8de2d75073fc6b31d9af78f9 MD5 | raw file
 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		// Contributed by Erik Peterson.
25	
26		var keywords =	'alias and BEGIN begin break case class def define_method defined do each else elsif ' +
27						'END end ensure false for if in module new next nil not or raise redo rescue retry return ' +
28						'self super then throw true undef unless until when while yield';
29
30		var builtins =	'Array Bignum Binding Class Continuation Dir Exception FalseClass File::Stat File Fixnum Fload ' +
31						'Hash Integer IO MatchData Method Module NilClass Numeric Object Proc Range Regexp String Struct::TMS Symbol ' +
32						'ThreadGroup Thread Time TrueClass';
33
34		this.regexList = [
35			{ regex: SyntaxHighlighter.regexLib.singleLinePerlComments,	css: 'comments' },		// one line comments
36			{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,		css: 'string' },		// double quoted strings
37			{ regex: SyntaxHighlighter.regexLib.singleQuotedString,		css: 'string' },		// single quoted strings
38			{ regex: /\b[A-Z0-9_]+\b/g,									css: 'constants' },		// constants
39			{ regex: /:[a-z][A-Za-z0-9_]*/g,							css: 'color2' },		// symbols
40			{ regex: /(\$|@@|@)\w+/g,									css: 'variable bold' },	// $global, @instance, and @@class variables
41			{ regex: new RegExp(this.getKeywords(keywords), 'gm'),		css: 'keyword' },		// keywords
42			{ regex: new RegExp(this.getKeywords(builtins), 'gm'),		css: 'color1' }			// builtins
43			];
44
45		this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
46	};
47
48	Brush.prototype	= new SyntaxHighlighter.Highlighter();
49	Brush.aliases	= ['ruby', 'rails', 'ror', 'rb'];
50
51	SyntaxHighlighter.brushes.Ruby = Brush;
52
53	// CommonJS
54	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
55})();