terminalGraphicsCellWidth function
Additional cell width contributed by graphics controls embedded in line.
Implementation
int terminalGraphicsCellWidth(String line) {
var width = 0;
int? pendingWidth;
for (final control in parseTerminalGraphicsControls(line)) {
if (control.deletesImage) continue;
if (control.hasMoreChunks) {
pendingWidth ??= control.displayColumns;
} else {
width += pendingWidth ?? control.displayColumns;
pendingWidth = null;
}
}
return width;
}