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() {
|
this.$highlightTags = function() {
|
||||||
var session = this.session;
|
var session = this.session;
|
||||||
|
|
||||||
if (session.$tagHighlight) {
|
|
||||||
session.removeMarker(session.$tagHighlight);
|
|
||||||
session.$tagHighlight = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.$highlightTagPending) {
|
if (this.$highlightTagPending) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -558,7 +553,9 @@ var Editor = function(renderer, session) {
|
||||||
var iterator = new TokenIterator(self.session, pos.row, pos.column);
|
var iterator = new TokenIterator(self.session, pos.row, pos.column);
|
||||||
var token = iterator.getCurrentToken();
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -601,6 +598,8 @@ var Editor = function(renderer, session) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!token) {
|
if (!token) {
|
||||||
|
session.removeMarker(session.$tagHighlight);
|
||||||
|
session.$tagHighlight = null;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -608,8 +607,14 @@ var Editor = function(renderer, session) {
|
||||||
var column = iterator.getCurrentTokenColumn();
|
var column = iterator.getCurrentTokenColumn();
|
||||||
var range = new Range(row, column, row, column+token.value.length);
|
var range = new Range(row, column, row, column+token.value.length);
|
||||||
|
|
||||||
if (range)
|
//remove range if different
|
||||||
self.session.$tagHighlight = self.session.addMarker(range, "ace_bracket", "text");
|
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);
|
}, 50);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue