Projet

Général

Profil

Paste
Télécharger (1,95 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / libraries / flexslider-2.5.0 / demo / js / shBrushXml.js @ 7fe061e8

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
})();