pointAtByte method
Implementation
@override
TreeSitterPoint pointAtByte(int byteOffset) {
RangeError.checkValueInInterval(byteOffset, 0, _byteLength, 'byteOffset');
var low = 0;
var high = _lineStarts.length;
while (low < high) {
final middle = low + ((high - low) >> 1);
if (_lineStarts[middle] <= byteOffset) {
low = middle + 1;
} else {
high = middle;
}
}
final row = low - 1;
return TreeSitterPoint(row, byteOffset - _lineStarts[row]);
}