245 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			245 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
ace.define("ace/mode/rst_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"], function(require, exports, module){"use strict";
 | 
						|
var oop = require("../lib/oop");
 | 
						|
var lang = require("../lib/lang");
 | 
						|
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
 | 
						|
var RSTHighlightRules = function () {
 | 
						|
    var tokens = {
 | 
						|
        title: "markup.heading",
 | 
						|
        list: "markup.heading",
 | 
						|
        table: "constant",
 | 
						|
        directive: "keyword.operator",
 | 
						|
        entity: "string",
 | 
						|
        link: "markup.underline.list",
 | 
						|
        bold: "markup.bold",
 | 
						|
        italic: "markup.italic",
 | 
						|
        literal: "support.function",
 | 
						|
        comment: "comment"
 | 
						|
    };
 | 
						|
    var startStringPrefix = "(^|\\s|[\"'(<\\[{\\-/:])";
 | 
						|
    var endStringSuffix = "(?:$|(?=\\s|[\\\\.,;!?\\-/:\"')>\\]}]))";
 | 
						|
    this.$rules = {
 | 
						|
        "start": [
 | 
						|
            {
 | 
						|
                token: tokens.title,
 | 
						|
                regex: "(^)([\\=\\-`:\\.'\"~\\^_\\*\\+#])(\\2{2,}\\s*$)"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: ["text", tokens.directive, tokens.literal],
 | 
						|
                regex: "(^\\s*\\.\\. )([^: ]+::)(.*$)",
 | 
						|
                next: "codeblock"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: tokens.directive,
 | 
						|
                regex: "::$",
 | 
						|
                next: "codeblock"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: [tokens.entity, tokens.link],
 | 
						|
                regex: "(^\\.\\. _[^:]+:)(.*$)"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: [tokens.entity, tokens.link],
 | 
						|
                regex: "(^__ )(https?://.*$)"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: tokens.entity,
 | 
						|
                regex: "^\\.\\. \\[[^\\]]+\\] "
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: tokens.comment,
 | 
						|
                regex: "^\\.\\. .*$",
 | 
						|
                next: "comment"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: tokens.list,
 | 
						|
                regex: "^\\s*[\\*\\+-] "
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: tokens.list,
 | 
						|
                regex: "^\\s*(?:[A-Za-z]|[0-9]+|[ivxlcdmIVXLCDM]+)\\. "
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: tokens.list,
 | 
						|
                regex: "^\\s*\\(?(?:[A-Za-z]|[0-9]+|[ivxlcdmIVXLCDM]+)\\) "
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: tokens.table,
 | 
						|
                regex: "^={2,}(?: +={2,})+$"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: tokens.table,
 | 
						|
                regex: "^\\+-{2,}(?:\\+-{2,})+\\+$"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: tokens.table,
 | 
						|
                regex: "^\\+={2,}(?:\\+={2,})+\\+$"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: ["text", tokens.literal],
 | 
						|
                regex: startStringPrefix + "(``)(?=\\S)",
 | 
						|
                next: "code"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: ["text", tokens.bold],
 | 
						|
                regex: startStringPrefix + "(\\*\\*)(?=\\S)",
 | 
						|
                next: "bold"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: ["text", tokens.italic],
 | 
						|
                regex: startStringPrefix + "(\\*)(?=\\S)",
 | 
						|
                next: "italic"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: tokens.entity,
 | 
						|
                regex: "\\|[\\w\\-]+?\\|"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: tokens.entity,
 | 
						|
                regex: ":[\\w-:]+:`\\S",
 | 
						|
                next: "entity"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: ["text", tokens.entity],
 | 
						|
                regex: startStringPrefix + "(_`)(?=\\S)",
 | 
						|
                next: "entity"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: tokens.entity,
 | 
						|
                regex: "_[A-Za-z0-9\\-]+?"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: ["text", tokens.link],
 | 
						|
                regex: startStringPrefix + "(`)(?=\\S)",
 | 
						|
                next: "link"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: tokens.link,
 | 
						|
                regex: "[A-Za-z0-9\\-]+?__?"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: tokens.link,
 | 
						|
                regex: "\\[[^\\]]+?\\]_"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: tokens.link,
 | 
						|
                regex: "https?://\\S+"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: tokens.table,
 | 
						|
                regex: "\\|"
 | 
						|
            }
 | 
						|
        ],
 | 
						|
        "codeblock": [
 | 
						|
            {
 | 
						|
                token: tokens.literal,
 | 
						|
                regex: "^ +.+$",
 | 
						|
                next: "codeblock"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: tokens.literal,
 | 
						|
                regex: '^$',
 | 
						|
                next: "codeblock"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: "empty",
 | 
						|
                regex: "",
 | 
						|
                next: "start"
 | 
						|
            }
 | 
						|
        ],
 | 
						|
        "code": [
 | 
						|
            {
 | 
						|
                token: tokens.literal,
 | 
						|
                regex: "\\S``" + endStringSuffix,
 | 
						|
                next: "start"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                defaultToken: tokens.literal
 | 
						|
            }
 | 
						|
        ],
 | 
						|
        "bold": [
 | 
						|
            {
 | 
						|
                token: tokens.bold,
 | 
						|
                regex: "\\S\\*\\*" + endStringSuffix,
 | 
						|
                next: "start"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                defaultToken: tokens.bold
 | 
						|
            }
 | 
						|
        ],
 | 
						|
        "italic": [
 | 
						|
            {
 | 
						|
                token: tokens.italic,
 | 
						|
                regex: "\\S\\*" + endStringSuffix,
 | 
						|
                next: "start"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                defaultToken: tokens.italic
 | 
						|
            }
 | 
						|
        ],
 | 
						|
        "entity": [
 | 
						|
            {
 | 
						|
                token: tokens.entity,
 | 
						|
                regex: "\\S`" + endStringSuffix,
 | 
						|
                next: "start"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                defaultToken: tokens.entity
 | 
						|
            }
 | 
						|
        ],
 | 
						|
        "link": [
 | 
						|
            {
 | 
						|
                token: tokens.link,
 | 
						|
                regex: "\\S`__?" + endStringSuffix,
 | 
						|
                next: "start"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                defaultToken: tokens.link
 | 
						|
            }
 | 
						|
        ],
 | 
						|
        "comment": [
 | 
						|
            {
 | 
						|
                token: tokens.comment,
 | 
						|
                regex: "^ +.+$",
 | 
						|
                next: "comment"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: tokens.comment,
 | 
						|
                regex: '^$',
 | 
						|
                next: "comment"
 | 
						|
            },
 | 
						|
            {
 | 
						|
                token: "empty",
 | 
						|
                regex: "",
 | 
						|
                next: "start"
 | 
						|
            }
 | 
						|
        ]
 | 
						|
    };
 | 
						|
};
 | 
						|
oop.inherits(RSTHighlightRules, TextHighlightRules);
 | 
						|
exports.RSTHighlightRules = RSTHighlightRules;
 | 
						|
 | 
						|
});
 | 
						|
 | 
						|
ace.define("ace/mode/rst",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/rst_highlight_rules"], function(require, exports, module){"use strict";
 | 
						|
var oop = require("../lib/oop");
 | 
						|
var TextMode = require("./text").Mode;
 | 
						|
var RSTHighlightRules = require("./rst_highlight_rules").RSTHighlightRules;
 | 
						|
var Mode = function () {
 | 
						|
    this.HighlightRules = RSTHighlightRules;
 | 
						|
};
 | 
						|
oop.inherits(Mode, TextMode);
 | 
						|
(function () {
 | 
						|
    this.type = "text";
 | 
						|
    this.$id = "ace/mode/rst";
 | 
						|
    this.snippetFileId = "ace/snippets/rst";
 | 
						|
}).call(Mode.prototype);
 | 
						|
exports.Mode = Mode;
 | 
						|
 | 
						|
});                (function() {
 | 
						|
                    ace.require(["ace/mode/rst"], function(m) {
 | 
						|
                        if (typeof module == "object" && typeof exports == "object" && module) {
 | 
						|
                            module.exports = m;
 | 
						|
                        }
 | 
						|
                    });
 | 
						|
                })();
 | 
						|
            
 |