in core/src/com/jediterm/terminal/model/TerminalLine.java [291:314]
public void process(int y, StyledTextConsumer consumer, int startRow) {
int x = 0;
int nulIndex = -1;
TerminalLineIntervalHighlighting highlighting = myCustomHighlightings.stream().findFirst().orElse(null);
TerminalLine typeAheadLine = myTypeAheadLine;
TextEntries textEntries = typeAheadLine != null ? typeAheadLine.myTextEntries : myTextEntries;
for (TextEntry te : textEntries) {
if (te.getText().isNul()) {
if (nulIndex < 0) {
nulIndex = x;
}
consumer.consumeNul(x, y, nulIndex, te.getStyle(), te.getText(), startRow);
} else {
if (highlighting != null && te.getLength() > 0 && highlighting.intersectsWith(x, x + te.getLength())) {
processIntersection(x, y, te, consumer, startRow, highlighting);
}
else {
consumer.consume(x, y, te.getStyle(), te.getText(), startRow);
}
}
x += te.getLength();
}
consumer.consumeQueue(x, y, nulIndex < 0 ? x : nulIndex, startRow);
}