The input pattern is list<segment>. Each segment is pair<wild kind, int byte_length>, i.e. wrap the next byte_length bytes in a span of kind kind.
Before this change, the possible kinds of segements are 0 (no intraline diff, do not highlight) or 1 (intraline diff, highlight in bright color).
D20181 adds < (depth decreased) and > (depth increased). These are like 1, but add a different class so the UI can handle them differently.