TextEditorHighlightingPass (@NotNull PsiFile file, @NotNull Editor editor, @NotNull LineMarkersPass.Mode myMode, int passId) { TextRange dirtyTextRange = FileStatusMap.getDirtyTextRange(editor.getDocument(), file, passId); Document document = editor.getDocument(); Project project = file.getProject(); if (dirtyTextRange == null || myMode == LineMarkersPass.Mode.NONE) { return new ProgressableTextEditorHighlightingPass.EmptyPass(project, document); } HighlightingSession session = HighlightingSessionImpl.getFromCurrentIndicator(file); ProperTextRange visibleRange = session.getVisibleRange(); TextRange priorityBounds = expandRangeToCoverWholeLines(document, visibleRange); TextRange restrictRange = expandRangeToCoverWholeLines(document, dirtyTextRange); return new LineMarkersPass(project, file, document, priorityBounds, restrictRange, myMode, session); }