read static method

Implementation

static FindInFilesResult? read(BinaryReader reader) {
  final scriptCount = reader.readVarUint();
  final results = <ScriptFindResults>[];

  for (int i = 0; i < scriptCount; i++) {
    final scriptId = reader.readString();
    final matchCount = reader.readVarUint();
    final matches = <FindInFilesMatch>[];

    for (int j = 0; j < matchCount; j++) {
      final line = reader.readVarUint();
      final beforeMatch = reader.readString();
      final matchText = reader.readString();
      final afterMatch = reader.readString();
      matches.add(FindInFilesMatch(
        line: line,
        beforeMatch: beforeMatch,
        matchText: matchText,
        afterMatch: afterMatch,
      ));
    }

    results.add(ScriptFindResults(scriptId: scriptId, matches: matches));
  }

  return FindInFilesResult(results: results);
}