initial commit
[namibia] / public / js / lib / syntaxhighlighter / scripts / shBrushRuby.js
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 })();