fixed highlighting not updating when typing in the file end
authorAlexey Kudravtsev <cdr@intellij.com>
Tue, 17 Aug 2010 10:19:11 +0000 (14:19 +0400)
committerAlexey Kudravtsev <cdr@intellij.com>
Thu, 19 Aug 2010 07:50:27 +0000 (11:50 +0400)
platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/FileStatusMap.java

index 570d0dc01a985ef9ac2d9addb5b5e5d4d09f64be..8316caa5358c4a58b30a1ac9c7b43bef34d3031a 100644 (file)
@@ -262,15 +262,16 @@ public class FileStatusMap implements Disposable {
     if (old == null) {
       return document.createRangeMarker(scope);
     }
-    TextRange oldRange = !old.isValid() || scope.getEndOffset() >= textLength ? new TextRange(0, textLength) : new TextRange(old.getStartOffset(), old.getEndOffset());
+    TextRange oldRange = new TextRange(old.getStartOffset(), old.getEndOffset());
     TextRange union = scope.union(oldRange);
     if (old.isValid() && union.equals(oldRange)) {
       return old;
     }
-    else {
-      ((DocumentEx)document).removeRangeMarker((RangeMarkerEx)old);
-      return document.createRangeMarker(union);
+    if (union.getEndOffset() > textLength) {
+      union = union.intersection(new TextRange(0, textLength));
     }
+    ((DocumentEx)document).removeRangeMarker((RangeMarkerEx)old);
+    return document.createRangeMarker(union);
   }
 
   public boolean allDirtyScopesAreNull(@NotNull Document document) {