parseBytesWithEncoding method

TreeSitterTree? parseBytesWithEncoding(
  1. Uint8List bytes,
  2. TreeSitterInputEncoding encoding, {
  3. TreeSitterTree? oldTree,
  4. Iterable<TreeSitterInputEdit> edits = const [],
  5. bool annotateLocals = true,
})

Native ts_parser_parse_string_encoding value semantics.

Implementation

TreeSitterTree? parseBytesWithEncoding(
  Uint8List bytes,
  TreeSitterInputEncoding encoding, {
  TreeSitterTree? oldTree,
  Iterable<TreeSitterInputEdit> edits = const [],
  bool annotateLocals = true,
}) {
  _checkNotDisposed();
  if (_grammar == null) return null;
  if (encoding == TreeSitterInputEncoding.custom) return null;
  return parseNativeInput(
    TreeSitterNativeInput(
      payload: bytes,
      encoding: encoding,
      read: (payload, byteOffset, _) {
        final source = payload! as Uint8List;
        return byteOffset < source.length
            ? Uint8List.sublistView(source, byteOffset)
            : const <int>[];
      },
    ),
    oldTree: oldTree,
    edits: edits,
    annotateLocals: annotateLocals,
  );
}