lspkit_vfs/lib.rs
1//! `lspkit-vfs` — concurrent open-document store for LSP and analysis tools.
2//!
3//! Tracks open documents by URI with LSP version numbers and applies
4//! incremental edits via a rope buffer. The negotiated [`PositionEncoding`]
5//! is honored on every edit so positions sent by clients in UTF-16 round-trip
6//! correctly against the UTF-8-internal store. Locks never span `.await`.
7
8pub mod document;
9pub mod edit;
10pub mod encoding;
11
12pub use crate::document::{DocumentUri, DocumentVersion, Vfs, VfsError};
13pub use crate::edit::{EditError, Position, Range, TextEdit};
14pub use crate::encoding::{negotiate, PositionEncoding, UnknownEncoding};