# Package org.eclipse.text.edits

Provides support for describing and applying textual document editions.

See: Description

Interface Summary
ISourceModifier: A source modifier can be used to modify the source of a move or copy edit before it gets inserted at the target position.

Class Summary
CopyingRangeMarker: A `CopyingRangeMarker` can be used to track positions when executing text edits.
CopySourceEdit: A copy source edit denotes the source of a copy operation.
CopyTargetEdit: A copy target edit denotes the target of a copy operation.
DeleteEdit: Text edit to delete a range in a document.
InsertEdit: Text edit to insert a text at a given position in a document.
MoveSourceEdit: A move source edit denotes the source of a move operation.
MoveTargetEdit: A move target edit denotes the target of a move operation.
MultiTextEdit: A multi-text edit can be used to aggregate several edits into one edit.
RangeMarker: A range marker can be used to track positions when executing text edits.
ReplaceEdit: Text edit to replace a range in a document with a different string.
TextEdit: A text edit describes an elementary text manipulation operation.
TextEditCopier: Copies a tree of text edits.
TextEditGroup: A text edit group combines a list of `TextEdit`s and a name into a single object.
TextEditProcessor: A `TextEditProcessor` manages a set of edits and applies them as a whole to an `IDocument`.
TextEditVisitor: A visitor for text edits.
UndoEdit: This class encapsulates the reverse changes of an executed text edit tree.

Exception Summary
MalformedTreeException: Thrown to indicate that an edit got added to a parent edit but the child edit somehow conflicts with the parent or one of it siblings.

## Package org.eclipse.text.edits Description

Provides support for describing and applying textual document editions.

A complex textual edition can be described by a tree of `TextEdit`s. An edit can be applied to an `IDocument` by calling `TextEdit.apply` or by using a `TextEditProcessor`. Applying a text edit can record a reverse edit description that can be used to undo the edition.

Use the standard edit kinds to describe the basic document editing operations:

- replace a document range: `ReplaceEdit`
- delete a document range: `DeleteEdit`
- insert text: `InsertEdit`
- track a range while the document is being modified: `RangeMarker`

Other subclasses of `TextEdit` exist for specialized tasks. Use `MultiTextEdit` to compose a complex edit tree, or subclass it to provide a custom edit.