void (DetailView panel, VirtualFile virtualFile, int line) { TextAttributes attributes = EditorColorsManager.getInstance().getGlobalScheme().getAttributes(DebuggerColors.BREAKPOINT_ATTRIBUTES); // null attributes to avoid the new highlighter for a line breakpoints DetailView.PreviewEditorState state = DetailView.PreviewEditorState.create(virtualFile, line, myBreakpoint instanceof XLineBreakpoint ? null : attributes); if (state.equals(panel.getEditorState())) { return; } panel.navigateInPreviewEditor(state); TextAttributes softerAttributes = attributes.clone(); Color backgroundColor = softerAttributes.getBackgroundColor(); if (backgroundColor != null) { softerAttributes.setBackgroundColor(ColorUtil.desaturate(backgroundColor, 10)); } Editor editor = panel.getEditor(); if (editor != null) { MarkupModel editorModel = editor.getMarkupModel(); MarkupModel documentModel = DocumentMarkupModel.forDocument(editor.getDocument(), editor.getProject(), false); for (RangeHighlighter highlighter : documentModel.getAllHighlighters()) { if (highlighter.getUserData(DebuggerColors.BREAKPOINT_HIGHLIGHTER_KEY) == Boolean.TRUE) { int line1 = editor.offsetToLogicalPosition(highlighter.getStartOffset()).line; if (line1 != line) { if (highlighter.getTargetArea() == HighlighterTargetArea.LINES_IN_RANGE) { editorModel.addLineHighlighter(line1, DebuggerColors.BREAKPOINT_HIGHLIGHTER_LAYER + 1, softerAttributes); } else { editorModel.addRangeHighlighter(highlighter.getStartOffset(), highlighter.getEndOffset(), DebuggerColors.BREAKPOINT_HIGHLIGHTER_LAYER + 1, softerAttributes, HighlighterTargetArea.EXACT_RANGE); } } } } } }