perl-edit 0.12.2

Text edit representation and helpers for incremental Perl parsing
Documentation
# perl-edit

Edit tracking primitives for incremental Perl parsing.

## Overview

`perl-edit` provides types and algorithms for tracking text edits to Perl source
code and computing their positional effects. It tracks both byte offsets and
line/column coordinates, making it suitable for incremental parsing and LSP
document synchronization.

## Public API

- **`Edit`** -- a single text edit with start/old-end/new-end byte offsets and
  positions. Methods: `byte_shift()`, `line_shift()`, `affects_byte()`,
  `overlaps_range()`, `apply_to_position()`, `apply_to_range()`.
- **`EditSet`** -- an ordered collection of edits, sorted by start position.
  Methods: `add()`, `apply_to_position()`, `apply_to_range()`,
  `affects_range()`, `byte_shift_at()`, `affected_ranges()`, `len()`,
  `is_empty()`, `edits()`.

## Workspace Role

Tier 1 leaf crate in the `tree-sitter-perl-rs` workspace. Depends only on
`perl-position-tracking` for `Position` and `Range` types. Used by incremental
parsing and document update pipelines.

## License

MIT OR Apache-2.0