collect method
Implementation
TreeSitterCollectedInput collect() {
final codeUnits = <int>[];
var codeUnitOffset = 0;
var point = const TreeSitterPoint(0, 0);
while (true) {
final values = read(codeUnitOffset, point);
if (values.isEmpty) break;
for (final encodedValue in values) {
final value = _decodeUtf16Word(encodedValue, encoding);
codeUnits.add(value);
codeUnitOffset++;
point = value == 0x0a
? TreeSitterPoint(point.row + 1, 0)
: TreeSitterPoint(point.row, point.column + 1);
}
}
return TreeSitterCollectedInput(
source: String.fromCharCodes(codeUnits),
byteLength: codeUnitOffset * 2,
endPoint: point,
);
}