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
56
57
/**
 * 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()
    {
        var keywords =    'abstract assert boolean break byte case catch char class const ' +
                        'continue default do double else enum extends ' +
                        'false final finally float for goto if implements import ' +
                        'instanceof int interface long native new null ' +
                        'package private protected public return ' +
                        'short static strictfp super switch synchronized this throw throws true ' +
                        'transient try void volatile while';
 
        this.regexList = [
            { regex: SyntaxHighlighter.regexLib.singleLineCComments,    css: 'comments' },        // one line comments
            { regex: /\/\*([^\*][\s\S]*)?\*\//gm,                        css: 'comments' },         // multiline comments
            { regex: /\/\*(?!\*\/)\*[\s\S]*?\*\//gm,                    css: 'preprocessor' },    // documentation comments
            { regex: SyntaxHighlighter.regexLib.doubleQuotedString,        css: 'string' },        // strings
            { regex: SyntaxHighlighter.regexLib.singleQuotedString,        css: 'string' },        // strings
            { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi,                css: 'value' },            // numbers
            { regex: /(?!\@interface\b)\@[\$\w]+\b/g,                    css: 'color1' },        // annotation @anno
            { regex: /\@interface\b/g,                                    css: 'color2' },        // @interface keyword
            { regex: new RegExp(this.getKeywords(keywords), 'gm'),        css: 'keyword' }        // java keyword
            ];
 
        this.forHtmlScript({
            left    : /(&lt;|<)%[@!=]?/g, 
            right    : /%(&gt;|>)/g 
        });
    };
 
    Brush.prototype    = new SyntaxHighlighter.Highlighter();
    Brush.aliases    = ['java'];
 
    SyntaxHighlighter.brushes.Java = Brush;
 
    // CommonJS
    typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();