private void createHighlighter(@NotNull ThreeSide side) { Editor editor = side.select(myViewer.getEditors()); TextDiffType type = getDiffType(); boolean resolved = isResolved(side); int startLine = getStartLine(side); int endLine = getEndLine(side); boolean ignored = !resolved && myInnerFragments != null; myHighlighters.addAll( DiffDrawUtil.createHighlighter(editor, startLine, endLine, type, ignored, resolved)); myHighlighters.addAll( DiffDrawUtil.createLineMarker(editor, startLine, endLine, type, resolved)); }
@Nullable public GutterIconRenderer createRenderer() { if (mySide == ThreeSide.BASE) return null; Side versionSide = mySide.select(Side.LEFT, null, Side.RIGHT); assert versionSide != null; myCtrlPressed = myViewer.getModifierProvider().isCtrlPressed(); myShiftPressed = myViewer.getModifierProvider().isShiftPressed(); if (!isChange(versionSide)) return null; switch (myType) { case APPLY: return createApplyRenderer(versionSide, myCtrlPressed); case IGNORE: return createIgnoreRenderer(versionSide, myCtrlPressed); default: throw new IllegalArgumentException(myType.name()); } }