Search in sources :

Example 1 with Span

use of com.google.gerrit.client.diff.DiffInfo.Span in project gerrit by GerritCodeReview.

the class SideBySideChunkManager method markEdit.

private void markEdit(CodeMirror cm, int startLine, JsArrayString lines, JsArray<Span> edits) {
    if (lines == null || edits == null) {
        return;
    }
    EditIterator iter = new EditIterator(lines, startLine);
    Configuration bg = Configuration.create().set("className", SideBySideTable.style.intralineBg()).set("readOnly", true);
    Configuration diff = Configuration.create().set("className", SideBySideTable.style.diff()).set("readOnly", true);
    Pos last = Pos.create(0, 0);
    for (Span span : Natives.asList(edits)) {
        Pos from = iter.advance(span.skip());
        Pos to = iter.advance(span.mark());
        if (from.line() == last.line()) {
            getMarkers().add(cm.markText(last, from, bg));
        } else {
            getMarkers().add(cm.markText(Pos.create(from.line(), 0), from, bg));
        }
        getMarkers().add(cm.markText(from, to, diff));
        last = to;
        colorLines(cm, LineClassWhere.BACKGROUND, SideBySideTable.style.diff(), from.line(), to.line());
    }
}
Also used : Configuration(net.codemirror.lib.Configuration) Pos(net.codemirror.lib.Pos) Span(com.google.gerrit.client.diff.DiffInfo.Span)

Example 2 with Span

use of com.google.gerrit.client.diff.DiffInfo.Span in project gerrit by GerritCodeReview.

the class UnifiedChunkManager method markEdit.

private void markEdit(DisplaySide side, int startLine, JsArrayString lines, JsArray<Span> edits) {
    if (lines == null || edits == null) {
        return;
    }
    EditIterator iter = new EditIterator(lines, startLine);
    Configuration bg = Configuration.create().set("className", getIntralineBgFromSide(side)).set("readOnly", true);
    Configuration diff = Configuration.create().set("className", getDiffColorFromSide(side)).set("readOnly", true);
    Pos last = Pos.create(0, 0);
    for (Span span : Natives.asList(edits)) {
        Pos from = iter.advance(span.skip());
        Pos to = iter.advance(span.mark());
        if (from.line() == last.line()) {
            getMarkers().add(cm.markText(last, from, bg));
        } else {
            getMarkers().add(cm.markText(Pos.create(from.line(), 0), from, bg));
        }
        getMarkers().add(cm.markText(from, to, diff));
        last = to;
        colorLines(cm, LineClassWhere.BACKGROUND, getDiffColorFromSide(side), from.line(), to.line());
    }
}
Also used : Configuration(net.codemirror.lib.Configuration) Pos(net.codemirror.lib.Pos) Span(com.google.gerrit.client.diff.DiffInfo.Span)

Aggregations

Span (com.google.gerrit.client.diff.DiffInfo.Span)2 Configuration (net.codemirror.lib.Configuration)2 Pos (net.codemirror.lib.Pos)2