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