diff --git a/lib/ace/mode/javascript_worker.js b/lib/ace/mode/javascript_worker.js index 09d285b0daa..8e18bc70693 100644 --- a/lib/ace/mode/javascript_worker.js +++ b/lib/ace/mode/javascript_worker.js @@ -25,10 +25,13 @@ oop.inherits(JavaScriptWorker, Mirror); } catch(e) { // console.log("narcissus") // console.log(e); + var chunks = e.message.split(":") + var message = chunks.pop().trim(); + var lineNumber = parseInt(chunks.pop().trim()) - 1; this.sender.emit("narcissus", { - row: e.lineno-1, + row: lineNumber, column: null, // TODO convert e.cursor - text: e.message, + text: message, type: "error" }); return; diff --git a/lib/ace/mode/javascript_worker_test.js b/lib/ace/mode/javascript_worker_test.js index 211b927e568..d84e074711f 100644 --- a/lib/ace/mode/javascript_worker_test.js +++ b/lib/ace/mode/javascript_worker_test.js @@ -63,7 +63,12 @@ module.exports = { var worker = new JavaScriptWorker(this.sender); worker.setValue("Juhu Kinners"); worker.deferredUpdate.call(); - assert.equal(this.sender.events[0][1].type, "error"); + + var error = this.sender.events[0][1]; + assert.equal(error.text, "missing ; before statement"); + assert.equal(error.type, "error"); + assert.equal(error.row, 0); + assert.equal(error.column, null); }, "test check for narcissus bug": function() {