123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- ace.define("ace/mode/diff_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
- "use strict";
- var oop = require("../lib/oop");
- var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
- var DiffHighlightRules = function() {
- this.$rules = {
- "start" : [{
- regex: "^(?:\\*{15}|={67}|-{3}|\\+{3})$",
- token: "punctuation.definition.separator.diff",
- "name": "keyword"
- }, { //diff.range.unified
- regex: "^(@@)(\\s*.+?\\s*)(@@)(.*)$",
- token: [
- "constant",
- "constant.numeric",
- "constant",
- "comment.doc.tag"
- ]
- }, { //diff.range.normal
- regex: "^(\\d+)([,\\d]+)(a|d|c)(\\d+)([,\\d]+)(.*)$",
- token: [
- "constant.numeric",
- "punctuation.definition.range.diff",
- "constant.function",
- "constant.numeric",
- "punctuation.definition.range.diff",
- "invalid"
- ],
- "name": "meta."
- }, {
- regex: "^(\\-{3}|\\+{3}|\\*{3})( .+)$",
- token: [
- "constant.numeric",
- "meta.tag"
- ]
- }, { // added
- regex: "^([!+>])(.*?)(\\s*)$",
- token: [
- "support.constant",
- "text",
- "invalid"
- ]
- }, { // removed
- regex: "^([<\\-])(.*?)(\\s*)$",
- token: [
- "support.function",
- "string",
- "invalid"
- ]
- }, {
- regex: "^(diff)(\\s+--\\w+)?(.+?)( .+)?$",
- token: ["variable", "variable", "keyword", "variable"]
- }, {
- regex: "^Index.+$",
- token: "variable"
- }, {
- regex: "^\\s+$",
- token: "text"
- }, {
- regex: "\\s*$",
- token: "invalid"
- }, {
- defaultToken: "invisible",
- caseInsensitive: true
- }
- ]
- };
- };
- oop.inherits(DiffHighlightRules, TextHighlightRules);
- exports.DiffHighlightRules = DiffHighlightRules;
- });
- ace.define("ace/mode/folding/diff",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module) {
- "use strict";
- var oop = require("../../lib/oop");
- var BaseFoldMode = require("./fold_mode").FoldMode;
- var Range = require("../../range").Range;
- var FoldMode = exports.FoldMode = function(levels, flag) {
- this.regExpList = levels;
- this.flag = flag;
- this.foldingStartMarker = RegExp("^(" + levels.join("|") + ")", this.flag);
- };
- oop.inherits(FoldMode, BaseFoldMode);
- (function() {
- this.getFoldWidgetRange = function(session, foldStyle, row) {
- var line = session.getLine(row);
- var start = {row: row, column: line.length};
- var regList = this.regExpList;
- for (var i = 1; i <= regList.length; i++) {
- var re = RegExp("^(" + regList.slice(0, i).join("|") + ")", this.flag);
- if (re.test(line))
- break;
- }
- for (var l = session.getLength(); ++row < l; ) {
- line = session.getLine(row);
- if (re.test(line))
- break;
- }
- if (row == start.row + 1)
- return;
- return Range.fromPoints(start, {row: row - 1, column: line.length});
- };
- }).call(FoldMode.prototype);
- });
- ace.define("ace/mode/diff",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/diff_highlight_rules","ace/mode/folding/diff"], function(require, exports, module) {
- "use strict";
- var oop = require("../lib/oop");
- var TextMode = require("./text").Mode;
- var HighlightRules = require("./diff_highlight_rules").DiffHighlightRules;
- var FoldMode = require("./folding/diff").FoldMode;
- var Mode = function() {
- this.HighlightRules = HighlightRules;
- this.foldingRules = new FoldMode(["diff", "index", "\\+{3}", "@@|\\*{5}"], "i");
- };
- oop.inherits(Mode, TextMode);
- (function() {
- this.$id = "ace/mode/diff";
- }).call(Mode.prototype);
- exports.Mode = Mode;
- });
|