use of net.codemirror.lib.Configuration 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());
}
}
use of net.codemirror.lib.Configuration in project gerrit by GerritCodeReview.
the class SkipBar method collapse.
void collapse(int start, int end, boolean attach) {
if (attach) {
boolean isNew = lineWidget == null;
Configuration cfg = Configuration.create().set("coverGutter", true).set("noHScroll", true);
if (start == 0) {
// First line workaround
lineWidget = cm.addLineWidget(end + 1, getElement(), cfg.set("above", true));
} else {
lineWidget = cm.addLineWidget(start - 1, getElement(), cfg);
}
if (isNew) {
lineWidget.onFirstRedraw(() -> {
int w = cm.getGutterElement().getOffsetWidth();
getElement().getStyle().setPaddingLeft(w, Unit.PX);
});
}
}
textMarker = cm.markText(Pos.create(start, 0), Pos.create(end), Configuration.create().set("collapsed", true).set("inclusiveLeft", true).set("inclusiveRight", true));
textMarker.on("beforeCursorEnter", this::expandAll);
int skipped = end - start + 1;
if (skipped <= UP_DOWN_THRESHOLD) {
addStyleName(style.noExpand());
} else {
upArrow.setHTML(PatchUtil.M.expandBefore(NUM_ROWS_TO_EXPAND));
downArrow.setHTML(PatchUtil.M.expandAfter(NUM_ROWS_TO_EXPAND));
}
skipNum.setText(PatchUtil.M.patchSkipRegion(Integer.toString(skipped)));
}
use of net.codemirror.lib.Configuration 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());
}
}
Aggregations