fix tag flicker

fix tag highlight flicker when selecting
This commit is contained in:
Adam Jimenez 2014-06-06 13:32:16 +01:00
commit 111ec1899f

View file

@ -539,11 +539,6 @@ var Editor = function(renderer, session) {
this.$highlightTags = function() {
var session = this.session;
if (session.$tagHighlight) {
session.removeMarker(session.$tagHighlight);
session.$tagHighlight = null;
}
if (this.$highlightTagPending) {
return;
}
@ -558,7 +553,9 @@ var Editor = function(renderer, session) {
var iterator = new TokenIterator(self.session, pos.row, pos.column);
var token = iterator.getCurrentToken();
if( !token || token.type.indexOf('tag-name') === -1 ){
if (!token || token.type.indexOf('tag-name') === -1) {
session.removeMarker(session.$tagHighlight);
session.$tagHighlight = null;
return;
}
@ -601,15 +598,23 @@ var Editor = function(renderer, session) {
}
if (!token) {
session.removeMarker(session.$tagHighlight);
session.$tagHighlight = null;
return;
}
var row = iterator.getCurrentTokenRow();
var column = iterator.getCurrentTokenColumn();
var range = new Range(row, column, row, column+token.value.length);
if (range)
self.session.$tagHighlight = self.session.addMarker(range, "ace_bracket", "text");
//remove range if different
if (session.$tagHighlight && range.compareRange(session.$backMarkers[session.$tagHighlight].range)!==0) {
session.removeMarker(session.$tagHighlight);
session.$tagHighlight = null;
}
if (range && !session.$tagHighlight)
session.$tagHighlight = session.addMarker(range, "ace_bracket", "text");
}, 50);
};