read static method

FormatResult read(
  1. BinaryReader reader
)

Implementation

static FormatResult read(BinaryReader reader) {
  final List<FormatOp> operations = [];
  while (!reader.isEOF) {
    switch (reader.readUint8()) {
      case 1:
        final line = reader.readVarUint();
        final column = reader.readVarUint();
        final text = reader.readString();
        operations.add(
          FormatOpInsert(
            position: ScriptPosition(line: line, column: column),
            text: text,
          ),
        );
        break;
      case 0:
        final lineFrom = reader.readVarUint();
        final columnFrom = reader.readVarUint();
        final lineTo = reader.readVarUint();
        final columnTo = reader.readVarUint();
        operations.add(
          FormatOpErase(
            position: ScriptPosition(line: lineFrom, column: columnFrom),
            positionEnd: ScriptPosition(line: lineTo, column: columnTo),
          ),
        );
        break;
    }
  }
  return FormatResult(operations: operations);
}