terminalGraphicsCellWidth function

int terminalGraphicsCellWidth(
  1. String line
)

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;
}