fix tag flicker
fix tag highlight flicker when selecting
This commit is contained in:
parent
da5cc2e28d
commit
111ec1899f
1 changed files with 15 additions and 10 deletions
|
|
@ -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);
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue