lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xml.js in gollum-3.1.2 vs lib/gollum/public/gollum/livepreview/js/ace/lib/ace/mode/xml.js in gollum-3.1.3

- old
+ new

@@ -30,29 +30,46 @@ define(function(require, exports, module) { "use strict"; var oop = require("../lib/oop"); +var lang = require("../lib/lang"); var TextMode = require("./text").Mode; -var Tokenizer = require("../tokenizer").Tokenizer; var XmlHighlightRules = require("./xml_highlight_rules").XmlHighlightRules; var XmlBehaviour = require("./behaviour/xml").XmlBehaviour; var XmlFoldMode = require("./folding/xml").FoldMode; +var WorkerClient = require("../worker/worker_client").WorkerClient; var Mode = function() { - this.$tokenizer = new Tokenizer(new XmlHighlightRules().getRules()); - this.$behaviour = new XmlBehaviour(); - this.foldingRules = new XmlFoldMode(); + this.HighlightRules = XmlHighlightRules; + this.$behaviour = new XmlBehaviour(); + this.foldingRules = new XmlFoldMode(); }; oop.inherits(Mode, TextMode); (function() { - - this.getNextLineIndent = function(state, line, tab) { - return this.$getIndent(line); - }; + this.voidElements = lang.arrayToMap([]); + + this.blockComment = {start: "<!--", end: "-->"}; + + this.createWorker = function(session) { + var worker = new WorkerClient(["ace"], "ace/mode/xml_worker", "Worker"); + worker.attachToDocument(session.getDocument()); + + worker.on("error", function(e) { + session.setAnnotations(e.data); + }); + + worker.on("terminate", function() { + session.clearAnnotations(); + }); + + return worker; + }; + + this.$id = "ace/mode/xml"; }).call(Mode.prototype); exports.Mode = Mode; });