From 823abf44494bbf69fa4e10290dddb8c4c3d2b8de Mon Sep 17 00:00:00 2001 From: William Candillon Date: Thu, 8 Nov 2012 06:37:39 -0800 Subject: [PATCH] Minor improvements in xquery semantic highlighting. --- lib/ace/mode/xquery_worker.js | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/ace/mode/xquery_worker.js b/lib/ace/mode/xquery_worker.js index c823bfee..ab0fec4a 100644 --- a/lib/ace/mode/xquery_worker.js +++ b/lib/ace/mode/xquery_worker.js @@ -51,12 +51,14 @@ oop.inherits(XQueryWorker, Mirror); var value = this.doc.getValue(); var h = new JSONParseTreeHandler(); var parser = new XQueryParser(value, h); - var recover = false; try { parser.parse_XQuery(); this.sender.emit("ok"); - } catch(e) { - var recover = true; + var ast = h.getParseTree(); + var highlighter = new SyntaxHighlighter(value, ast); + var tokens = highlighter.getTokens(); + this.sender.emit("highlight", tokens); + } catch(e) { var prefix = value.substring(0, e.getBegin()); var line = prefix.split("\n").length; var column = e.getBegin() - prefix.lastIndexOf("\n"); @@ -68,11 +70,7 @@ oop.inherits(XQueryWorker, Mirror); type: "error" }); } - var ast = h.getParseTree(); - var highlighter = new SyntaxHighlighter(value, ast); - var tokens = highlighter.getTokens(recover); - this.sender.emit("highlight", tokens); - }; + }; }).call(XQueryWorker.prototype);