Fix bug on the semantic highlighter.
This commit is contained in:
parent
ff7a5ab3c1
commit
ee0fdbb74f
70 changed files with 48456 additions and 121 deletions
|
|
@ -118,21 +118,6 @@ oop.inherits(Mode, TextMode);
|
|||
}
|
||||
};
|
||||
|
||||
this.mergeLines = function(newLines, oldLines) {
|
||||
console.log("New Lines: " + newLines.length);
|
||||
console.log("Old Lines: " + oldLines.length);
|
||||
var lines = new Array(newLines.length);
|
||||
for(var i in lines)
|
||||
{
|
||||
if(newLines.length === oldLines.length) {
|
||||
lines[i] = newLines[i].tokens[0].type === "_error" ? oldLines[i] : newLines[i];
|
||||
} else {
|
||||
lines[i] = newLines[i].tokens[0].type === "_error" ? undefined : newLines[i];
|
||||
}
|
||||
}
|
||||
return lines;
|
||||
};
|
||||
|
||||
this.createWorker = function(session) {
|
||||
this.$deltas = [];
|
||||
var worker = new WorkerClient(["ace"], "worker-xquery.js", "ace/mode/xquery_worker", "XQueryWorker");
|
||||
|
|
@ -195,7 +180,7 @@ oop.inherits(Mode, TextMode);
|
|||
}
|
||||
}
|
||||
}
|
||||
session.bgTokenizer.lines = that.mergeLines(lines, session.bgTokenizer.lines);
|
||||
session.bgTokenizer.lines = lines;
|
||||
session.bgTokenizer.fireUpdateEvent(firstRow, lastRow);
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
define(function(require, exports, module) {
|
||||
// $ANTLR 3.3 Nov 30, 2010 12:50:56 xquery/StringLexer.g 2012-05-22 13:12:20
|
||||
// $ANTLR 3.3 Nov 30, 2010 12:50:56 xquery/StringLexer.g 2012-05-22 16:42:44
|
||||
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
define(function(require, exports, module) {
|
||||
// $ANTLR 3.3 Nov 30, 2010 12:50:56 xquery/XMLLexer.g 2012-05-22 13:12:21
|
||||
// $ANTLR 3.3 Nov 30, 2010 12:50:56 xquery/XMLLexer.g 2012-05-22 16:42:46
|
||||
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
define(function(require, exports, module) {
|
||||
// $ANTLR 3.3 Nov 30, 2010 12:50:56 xquery/XQueryLexer.g 2012-05-22 13:12:18
|
||||
// $ANTLR 3.3 Nov 30, 2010 12:50:56 xquery/XQueryLexer.g 2012-05-22 16:42:43
|
||||
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
define(function(require, exports, module) {
|
||||
// $ANTLR 3.3 Nov 30, 2010 12:50:56 xquery/XQueryParser.g 2012-05-22 13:12:27
|
||||
// $ANTLR 3.3 Nov 30, 2010 12:50:56 xquery/XQueryParser.g 2012-05-22 16:42:51
|
||||
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
|
|
@ -1202,7 +1202,7 @@ org.antlr.lang.augmentObject(XQueryParser.prototype, {
|
|||
|
||||
|
||||
// AST REWRITE
|
||||
// elements: enc, ver
|
||||
// elements: ver, enc
|
||||
// token labels:
|
||||
// rule labels: retval, ver, enc
|
||||
// token list labels:
|
||||
|
|
@ -1414,7 +1414,7 @@ org.antlr.lang.augmentObject(XQueryParser.prototype, {
|
|||
|
||||
|
||||
// AST REWRITE
|
||||
// elements: p_ModuleDecl, pm_Prolog
|
||||
// elements: pm_Prolog, p_ModuleDecl
|
||||
// token labels:
|
||||
// rule labels: retval
|
||||
// token list labels:
|
||||
|
|
@ -1815,7 +1815,7 @@ org.antlr.lang.augmentObject(XQueryParser.prototype, {
|
|||
|
||||
|
||||
// AST REWRITE
|
||||
// elements: nd, i, s, od, fto, dnd
|
||||
// elements: s, nd, dnd, fto, od, i
|
||||
// token labels:
|
||||
// rule labels: retval
|
||||
// token list labels:
|
||||
|
|
@ -3923,7 +3923,7 @@ org.antlr.lang.augmentObject(XQueryParser.prototype, {
|
|||
|
||||
|
||||
// AST REWRITE
|
||||
// elements: ah, sp, us
|
||||
// elements: ah, us, sp
|
||||
// token labels:
|
||||
// rule labels: retval, sp, us
|
||||
// token list labels:
|
||||
|
|
@ -4329,7 +4329,7 @@ org.antlr.lang.augmentObject(XQueryParser.prototype, {
|
|||
|
||||
|
||||
// AST REWRITE
|
||||
// elements: us, nn, ah
|
||||
// elements: ah, nn, us
|
||||
// token labels:
|
||||
// rule labels: retval, nn, us
|
||||
// token list labels:
|
||||
|
|
@ -4478,7 +4478,7 @@ org.antlr.lang.augmentObject(XQueryParser.prototype, {
|
|||
|
||||
|
||||
// AST REWRITE
|
||||
// elements: us, nn
|
||||
// elements: nn, us
|
||||
// token labels:
|
||||
// rule labels: retval, nn, us
|
||||
// token list labels:
|
||||
|
|
@ -5234,7 +5234,7 @@ org.antlr.lang.augmentObject(XQueryParser.prototype, {
|
|||
|
||||
|
||||
// AST REWRITE
|
||||
// elements: vv, vdv, qn, td
|
||||
// elements: td, vv, vdv, qn
|
||||
// token labels:
|
||||
// rule labels: qn, vv, retval, vdv, td
|
||||
// token list labels:
|
||||
|
|
@ -5848,15 +5848,15 @@ org.antlr.lang.augmentObject(XQueryParser.prototype, {
|
|||
|
||||
|
||||
// AST REWRITE
|
||||
// elements: st, pl, qn, soe
|
||||
// elements: pl, soe, qn, st
|
||||
// token labels:
|
||||
// rule labels: soe, qn, retval, pl, st
|
||||
// rule labels: qn, soe, retval, pl, st
|
||||
// token list labels:
|
||||
// rule list labels:
|
||||
if ( this.state.backtracking===0 ) {
|
||||
retval.tree = root_0;
|
||||
var stream_soe=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token soe",soe!=null?soe.tree:null);
|
||||
var stream_qn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token qn",qn!=null?qn.tree:null);
|
||||
var stream_soe=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token soe",soe!=null?soe.tree:null);
|
||||
var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null);
|
||||
var stream_pl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token pl",pl!=null?pl.tree:null);
|
||||
var stream_st=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token st",st!=null?st.tree:null);
|
||||
|
|
@ -6125,7 +6125,7 @@ org.antlr.lang.augmentObject(XQueryParser.prototype, {
|
|||
|
||||
|
||||
// AST REWRITE
|
||||
// elements: qn, td
|
||||
// elements: td, qn
|
||||
// token labels:
|
||||
// rule labels: qn, retval, td
|
||||
// token list labels:
|
||||
|
|
@ -17899,7 +17899,7 @@ org.antlr.lang.augmentObject(XQueryParser.prototype, {
|
|||
|
||||
|
||||
// AST REWRITE
|
||||
// elements: p_DirAttributeList, pm_DirElemContent
|
||||
// elements: pm_DirElemContent, p_DirAttributeList
|
||||
// token labels:
|
||||
// rule labels: retval
|
||||
// token list labels:
|
||||
|
|
@ -20809,7 +20809,7 @@ org.antlr.lang.augmentObject(XQueryParser.prototype, {
|
|||
|
||||
|
||||
// AST REWRITE
|
||||
// elements: l, k, r
|
||||
// elements: k, r, l
|
||||
// token labels: r, l, k
|
||||
// rule labels: retval
|
||||
// token list labels:
|
||||
|
|
@ -21108,7 +21108,7 @@ org.antlr.lang.augmentObject(XQueryParser.prototype, {
|
|||
|
||||
|
||||
// AST REWRITE
|
||||
// elements: LPAREN, RPAREN, BINARY
|
||||
// elements: BINARY, LPAREN, RPAREN
|
||||
// token labels:
|
||||
// rule labels: retval
|
||||
// token list labels:
|
||||
|
|
@ -21156,7 +21156,7 @@ org.antlr.lang.augmentObject(XQueryParser.prototype, {
|
|||
|
||||
|
||||
// AST REWRITE
|
||||
// elements: ITEM, RPAREN, LPAREN
|
||||
// elements: RPAREN, LPAREN, ITEM
|
||||
// token labels:
|
||||
// rule labels: retval
|
||||
// token list labels:
|
||||
|
|
@ -24504,7 +24504,7 @@ org.antlr.lang.augmentObject(XQueryParser.prototype, {
|
|||
|
||||
|
||||
// AST REWRITE
|
||||
// elements: nl, nn
|
||||
// elements: nn, nl
|
||||
// token labels:
|
||||
// rule labels: retval, nn, nl
|
||||
// token list labels:
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ define(function(require, exports, module){
|
|||
|
||||
var Position = require("./Position").Position;
|
||||
var XQuerySemanticHighlighter = exports.XQuerySemanticHighlighter = function() {
|
||||
this.tokenizer = null;
|
||||
this.plain = null;
|
||||
this.source = [];
|
||||
this.lines = [];
|
||||
|
|
@ -95,7 +96,12 @@ define(function(require, exports, module){
|
|||
} else {
|
||||
console.log("sourceLine: " + sourceLine);
|
||||
console.log("tokenizedLine: " + tokenizedLine);
|
||||
result[i] = { tokens: [ { type: "_error", value: sourceLine } ], state: nextState };
|
||||
result[i] = { tokens: [ { type: "text", value: sourceLine } ], state: nextState };
|
||||
}
|
||||
|
||||
if(result[i].tokens.length === 1 && result[i].tokens[0].type === "text" && this.tokenizer instanceof Object) {
|
||||
var prev = result[i - 1] ? result[i - 1].state : "start";
|
||||
result[i] = this.tokenizer.getLineTokens(result[i].tokens[0].value, prev);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
|
|
|||
|
|
@ -41,6 +41,8 @@ define(function(require, exports, module) {
|
|||
var oop = require("../lib/oop");
|
||||
var Mirror = require("../worker/mirror").Mirror;
|
||||
var xquery = require("../mode/xquery/xquery");
|
||||
var Tokenizer = require("../tokenizer").Tokenizer;
|
||||
var XQueryHighlightRules = require("./xquery_highlight_rules").XQueryHighlightRules;
|
||||
|
||||
window.addEventListener = function() {};
|
||||
|
||||
|
|
@ -74,6 +76,7 @@ oop.inherits(XQueryWorker, Mirror);
|
|||
} else {
|
||||
this.sender.emit("ok");
|
||||
}
|
||||
parser.highlighter.tokenizer = new Tokenizer(new XQueryHighlightRules().getRules());
|
||||
var tokens = parser.highlighter.getTokens();
|
||||
this.sender.emit("highlight", tokens);
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue