diff --git a/lib/ace/mode/coffee.js b/lib/ace/mode/coffee.js index 34c1a55a..e866f2b0 100644 --- a/lib/ace/mode/coffee.js +++ b/lib/ace/mode/coffee.js @@ -116,11 +116,11 @@ oop.inherits(Mode, TextMode); var worker = new WorkerClient(["ace"], "ace/mode/coffee_worker", "Worker"); worker.attachToDocument(session.getDocument()); - worker.on("error", function(e) { - session.setAnnotations([e.data]); + worker.on("annotate", function(e) { + session.setAnnotations(e.data); }); - worker.on("ok", function(e) { + worker.on("terminate", function() { session.clearAnnotations(); }); diff --git a/lib/ace/mode/coffee_worker.js b/lib/ace/mode/coffee_worker.js index a5f700f8..d68f1296 100644 --- a/lib/ace/mode/coffee_worker.js +++ b/lib/ace/mode/coffee_worker.js @@ -49,13 +49,13 @@ oop.inherits(Worker, Mirror); this.onUpdate = function() { var value = this.doc.getValue(); - + var errors = []; try { coffee.parse(value).compile(); } catch(e) { var loc = e.location; if (loc) { - this.sender.emit("error", { + errors.push({ row: loc.first_line, column: loc.first_column, endRow: loc.last_line, @@ -64,9 +64,8 @@ oop.inherits(Worker, Mirror); type: "error" }); } - return; } - this.sender.emit("ok"); + this.sender.emit("annotate", errors); }; }).call(Worker.prototype); diff --git a/lib/ace/mode/css.js b/lib/ace/mode/css.js index c74bd654..6fef5ccd 100644 --- a/lib/ace/mode/css.js +++ b/lib/ace/mode/css.js @@ -81,7 +81,7 @@ oop.inherits(Mode, TextMode); var worker = new WorkerClient(["ace"], "ace/mode/css_worker", "Worker"); worker.attachToDocument(session.getDocument()); - worker.on("csslint", function(e) { + worker.on("annotate", function(e) { session.setAnnotations(e.data); }); diff --git a/lib/ace/mode/css_worker.js b/lib/ace/mode/css_worker.js index 585faf63..ef327e79 100644 --- a/lib/ace/mode/css_worker.js +++ b/lib/ace/mode/css_worker.js @@ -80,11 +80,11 @@ oop.inherits(Worker, Mirror); this.onUpdate = function() { var value = this.doc.getValue(); if (!value) - return this.sender.emit("csslint", []); + return this.sender.emit("annotate", []); var infoRules = this.infoRules; var result = CSSLint.verify(value, this.ruleset); - this.sender.emit("csslint", result.messages.map(function(msg) { + this.sender.emit("annotate", result.messages.map(function(msg) { return { row: msg.line - 1, column: msg.col - 1, diff --git a/lib/ace/mode/javascript.js b/lib/ace/mode/javascript.js index af62ae76..b6ebe5a0 100644 --- a/lib/ace/mode/javascript.js +++ b/lib/ace/mode/javascript.js @@ -98,7 +98,7 @@ oop.inherits(Mode, TextMode); var worker = new WorkerClient(["ace"], "ace/mode/javascript_worker", "JavaScriptWorker"); worker.attachToDocument(session.getDocument()); - worker.on("jslint", function(results) { + worker.on("annotate", function(results) { session.setAnnotations(results.data); }); diff --git a/lib/ace/mode/javascript_worker.js b/lib/ace/mode/javascript_worker.js index e6503efc..fd5788e7 100644 --- a/lib/ace/mode/javascript_worker.js +++ b/lib/ace/mode/javascript_worker.js @@ -116,12 +116,10 @@ oop.inherits(JavaScriptWorker, Mirror); this.onUpdate = function() { var value = this.doc.getValue(); value = value.replace(/^#!.*\n/, "\n"); - if (!value) { - this.sender.emit("jslint", []); - return; - } - var errors = []; + if (!value) + return this.sender.emit("annotate", []); + var errors = []; // jshint reports many false errors // report them as error only if code is actually invalid var maxErrorLevel = this.isValidJS(value) ? "warning" : "error"; @@ -179,7 +177,7 @@ oop.inherits(JavaScriptWorker, Mirror); } // console.log("lint time: " + (new Date() - start)); - this.sender.emit("jslint", errors); + this.sender.emit("annotate", errors); }; }).call(JavaScriptWorker.prototype); diff --git a/lib/ace/mode/json.js b/lib/ace/mode/json.js index 24a43d0f..cfb00dab 100644 --- a/lib/ace/mode/json.js +++ b/lib/ace/mode/json.js @@ -74,11 +74,11 @@ oop.inherits(Mode, TextMode); var worker = new WorkerClient(["ace"], "ace/mode/json_worker", "JsonWorker"); worker.attachToDocument(session.getDocument()); - worker.on("error", function(e) { - session.setAnnotations([e.data]); + worker.on("annotate", function(e) { + session.setAnnotations(e.data); }); - worker.on("ok", function() { + worker.on("terminate", function() { session.clearAnnotations(); }); diff --git a/lib/ace/mode/json_worker.js b/lib/ace/mode/json_worker.js index 57fa1c10..168278ba 100644 --- a/lib/ace/mode/json_worker.js +++ b/lib/ace/mode/json_worker.js @@ -46,21 +46,20 @@ oop.inherits(JsonWorker, Mirror); this.onUpdate = function() { var value = this.doc.getValue(); - + var errors = []; try { if (value) parse(value); } catch (e) { var pos = this.doc.indexToPosition(e.at-1); - this.sender.emit("error", { + errors.push({ row: pos.row, column: pos.column, text: e.message, type: "error" }); - return; } - this.sender.emit("ok"); + this.sender.emit("annotate", errors); }; }).call(JsonWorker.prototype); diff --git a/lib/ace/mode/lua.js b/lib/ace/mode/lua.js index a8d1f08b..75e91982 100644 --- a/lib/ace/mode/lua.js +++ b/lib/ace/mode/lua.js @@ -148,11 +148,11 @@ oop.inherits(Mode, TextMode); var worker = new WorkerClient(["ace"], "ace/mode/lua_worker", "Worker"); worker.attachToDocument(session.getDocument()); - worker.on("error", function(e) { - session.setAnnotations([e.data]); + worker.on("annotate", function(e) { + session.setAnnotations(e.data); }); - worker.on("ok", function(e) { + worker.on("terminate", function() { session.clearAnnotations(); }); diff --git a/lib/ace/mode/lua_worker.js b/lib/ace/mode/lua_worker.js index 9c08f614..dcff9514 100644 --- a/lib/ace/mode/lua_worker.js +++ b/lib/ace/mode/lua_worker.js @@ -46,24 +46,23 @@ oop.inherits(Worker, Mirror); this.onUpdate = function() { var value = this.doc.getValue(); - - // var t=Date.now() + var errors = []; + + // var t=Date.now() try { luaparse.parse(value); } catch(e) { if (e instanceof SyntaxError) { - this.sender.emit("error", { - row: e.line - 1, - column: e.column, - text: e.message, - type: "error" - }); + errors.push({ + row: e.line - 1, + column: e.column, + text: e.message, + type: "error" + }); } - // console.log( t-Date.now()) - return; } - // console.log( t-Date.now()) - this.sender.emit("ok"); + // console.log( t-Date.now()) + this.sender.emit("annotate", errors); }; }).call(Worker.prototype); diff --git a/lib/ace/mode/php.js b/lib/ace/mode/php.js index c7688d43..39119e22 100644 --- a/lib/ace/mode/php.js +++ b/lib/ace/mode/php.js @@ -143,11 +143,11 @@ oop.inherits(Mode, HtmlMode); if (this.inlinePhp) worker.call("setOptions", [{inline: true}]); - worker.on("error", function(e) { + worker.on("annotate", function(e) { session.setAnnotations(e.data); }); - worker.on("ok", function() { + worker.on("terminate", function() { session.clearAnnotations(); }); diff --git a/lib/ace/mode/php_worker.js b/lib/ace/mode/php_worker.js index 878d88d6..c0bb1304 100644 --- a/lib/ace/mode/php_worker.js +++ b/lib/ace/mode/php_worker.js @@ -69,11 +69,7 @@ oop.inherits(PhpWorker, Mirror); // console.log("lint time: " + (new Date() - start)); - if (errors.length) { - this.sender.emit("error", errors); - } else { - this.sender.emit("ok"); - } + this.sender.emit("annotate", errors); }; }).call(PhpWorker.prototype);