Improve handling of the xquery semantic token cache.
This commit is contained in:
parent
5c30d861fa
commit
94a088e31f
2 changed files with 10 additions and 6 deletions
|
|
@ -135,12 +135,17 @@ oop.inherits(Mode, TextMode);
|
||||||
});
|
});
|
||||||
|
|
||||||
worker.on("highlight", function(tokens) {
|
worker.on("highlight", function(tokens) {
|
||||||
//if(that.$deltas.length > 0) return;
|
if(that.$deltas.length > 0) return;
|
||||||
that.$tokenizer.tokens = tokens.data.tokens;
|
that.$tokenizer.tokens = tokens.data.tokens;
|
||||||
that.$tokenizer.lines = tokens.data.lines;
|
that.$tokenizer.lines = session.getDocument().getAllLines();
|
||||||
session.bgTokenizer.lines = [];
|
session.bgTokenizer.lines = [];
|
||||||
session.bgTokenizer.states = [];
|
session.bgTokenizer.states = [];
|
||||||
session.bgTokenizer.fireUpdateEvent(0, session.getLength() - 1);
|
|
||||||
|
var rows = Object.keys(that.$tokenizer.tokens);
|
||||||
|
for(var i=0; i < rows.length; i++) {
|
||||||
|
var row = parseInt(rows[i]);
|
||||||
|
session.bgTokenizer.fireUpdateEvent(row, row);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return worker;
|
return worker;
|
||||||
|
|
|
||||||
|
|
@ -30,10 +30,9 @@
|
||||||
|
|
||||||
define(function(require, exports, module) {
|
define(function(require, exports, module) {
|
||||||
|
|
||||||
var SemanticHighlighter = exports.SemanticHighlighter = function(ast, code) {
|
var SemanticHighlighter = exports.SemanticHighlighter = function(ast) {
|
||||||
|
|
||||||
this.lines = code.split("\n");
|
this.tokens = {};
|
||||||
this.tokens = new Array(ast.pos.el + 1);
|
|
||||||
|
|
||||||
this.getTokens = function() {
|
this.getTokens = function() {
|
||||||
this.visit(ast);
|
this.visit(ast);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue