bhq@iemsoft.cn
2018-11-27 e2b48dac099e43f4b3243cdf19a7522e4b5eccbe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/**
 * SyntaxHighlighter
 * http://alexgorbatchev.com/SyntaxHighlighter
 *
 * SyntaxHighlighter is donationware. If you are using it, please donate.
 * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
 *
 * @version
 * 3.0.83 (July 02 2010)
 * 
 * @copyright
 * Copyright (C) 2004-2010 Alex Gorbatchev.
 *
 * @license
 * Dual licensed under the MIT and GPL licenses.
 */
;(function()
{
    // CommonJS
    typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
 
    function Brush()
    {
        // Contributed by Erik Peterson.
    
        var keywords =    'alias and BEGIN begin break case class def define_method defined do each else elsif ' +
                        'END end ensure false for if in module new next nil not or raise redo rescue retry return ' +
                        'self super then throw true undef unless until when while yield';
 
        var builtins =    'Array Bignum Binding Class Continuation Dir Exception FalseClass File::Stat File Fixnum Fload ' +
                        'Hash Integer IO MatchData Method Module NilClass Numeric Object Proc Range Regexp String Struct::TMS Symbol ' +
                        'ThreadGroup Thread Time TrueClass';
 
        this.regexList = [
            { regex: SyntaxHighlighter.regexLib.singleLinePerlComments,    css: 'comments' },        // one line comments
            { regex: SyntaxHighlighter.regexLib.doubleQuotedString,        css: 'string' },        // double quoted strings
            { regex: SyntaxHighlighter.regexLib.singleQuotedString,        css: 'string' },        // single quoted strings
            { regex: /\b[A-Z0-9_]+\b/g,                                    css: 'constants' },        // constants
            { regex: /:[a-z][A-Za-z0-9_]*/g,                            css: 'color2' },        // symbols
            { regex: /(\$|@@|@)\w+/g,                                    css: 'variable bold' },    // $global, @instance, and @@class variables
            { regex: new RegExp(this.getKeywords(keywords), 'gm'),        css: 'keyword' },        // keywords
            { regex: new RegExp(this.getKeywords(builtins), 'gm'),        css: 'color1' }            // builtins
            ];
 
        this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
    };
 
    Brush.prototype    = new SyntaxHighlighter.Highlighter();
    Brush.aliases    = ['ruby', 'rails', 'ror', 'rb'];
 
    SyntaxHighlighter.brushes.Ruby = Brush;
 
    // CommonJS
    typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();