TextEdit class
Describes a text edit operation (inspired by tree-sitter's TSInputEdit).
Indicates that the region [startOffset, oldEndOffset) in the old text is replaced with new content, and the region becomes [startOffset, newEndOffset) after replacement.
Examples:
- Insert 3 characters at position 5: TextEdit(5, 5, 8)
- Delete characters from position 5 to 8: TextEdit(5, 8, 5)
- Replace characters 5 to 8 with 2 characters: TextEdit(5, 8, 7)
Properties
- delta → int
-
Offset change (new length - old length)
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- isDeletion → bool
-
Whether it is a pure deletion operation
no setter
- isInsertion → bool
-
Whether it is a pure insertion operation
no setter
- newEndOffset → int
-
Edit end position (offset in the new text)
final
- newLength → int
-
Length of the inserted/replaced portion in the new text
no setter
- oldEndOffset → int
-
Edit end position (offset in the old text)
final
- oldLength → int
-
Length of the deleted/replaced portion in the old text
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- startOffset → int
-
Edit start position (offset in the old text)
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
diff(
String oldText, String newText) → TextEdit - Automatically calculates an edit from the differences between two strings. Finds the longest common prefix and suffix; the middle portion is the edit region.
-
fromAppend(
int oldLength, int newLength) → TextEdit - Calculates an edit from the "old text is a prefix of new text" (append scenario)