edit method
Applies Tree-sitter's native node endpoint transform to this node handle.
Like ts_node_edit, this does not edit descendants. Callers holding a
collection of node handles may edit each handle independently; Tree.edit
applies the same transform to every node in the tree.
Implementation
void edit(TreeSitterInputEdit edit) {
final start = _editedNodePosition(
startByte,
startPoint,
startOffset.value,
edit,
affinityAfter: true,
);
final end = _editedNodePosition(
endByte,
endPoint,
endOffset.value,
edit,
affinityAfter: false,
);
_editStates[this] = _TreeSitterNodeEditState(
startByte: start.byte,
endByte: end.byte,
startOffset: TreeSitterUtf16Offset(start.utf16),
endOffset: TreeSitterUtf16Offset(end.utf16),
startPoint: start.point,
endPoint: end.point,
hasChanges: hasChanges || _nodeIntersectsEdit(this, edit),
);
}