Improve handling of the xquery semantic token cache.

This commit is contained in:
William Candillon 2013-02-15 15:48:35 +01:00 committed by nightwing
commit 94a088e31f
2 changed files with 10 additions and 6 deletions

View file

@ -135,12 +135,17 @@ oop.inherits(Mode, TextMode);
});
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.lines = tokens.data.lines;
that.$tokenizer.lines = session.getDocument().getAllLines();
session.bgTokenizer.lines = [];
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;

View file

@ -30,10 +30,9 @@
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 = new Array(ast.pos.el + 1);
this.tokens = {};
this.getTokens = function() {
this.visit(ast);