pub struct IncrementalDocument {
pub root: Arc<Node>,
pub source: String,
pub version: u64,
pub subtree_cache: SubtreeCache,
pub metrics: ParseMetrics,
}Expand description
A document with incremental parsing and subtree reuse
Fields§
§root: Arc<Node>Current parsed tree
source: StringSource text
version: u64Version number for tracking changes
subtree_cache: SubtreeCacheCache of reusable subtrees
metrics: ParseMetricsPerformance metrics
Implementations§
Source§impl IncrementalDocument
impl IncrementalDocument
Sourcepub fn new(source: String) -> Result<IncrementalDocument, ParseError>
pub fn new(source: String) -> Result<IncrementalDocument, ParseError>
Create a new incremental document
Sourcepub fn apply_edit(&mut self, edit: IncrementalEdit) -> Result<(), ParseError>
pub fn apply_edit(&mut self, edit: IncrementalEdit) -> Result<(), ParseError>
Apply an edit and incrementally reparse
Sourcepub fn apply_edits(
&mut self,
edits: &IncrementalEditSet,
) -> Result<(), ParseError>
pub fn apply_edits( &mut self, edits: &IncrementalEditSet, ) -> Result<(), ParseError>
Apply multiple edits in a batch
Sourcepub fn metrics(&self) -> &ParseMetrics
pub fn metrics(&self) -> &ParseMetrics
Get performance metrics
Sourcepub fn set_cache_max_size(&mut self, max_size: usize)
pub fn set_cache_max_size(&mut self, max_size: usize)
Set maximum cache size
Trait Implementations§
Source§impl Clone for IncrementalDocument
impl Clone for IncrementalDocument
Source§fn clone(&self) -> IncrementalDocument
fn clone(&self) -> IncrementalDocument
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for IncrementalDocument
impl RefUnwindSafe for IncrementalDocument
impl Send for IncrementalDocument
impl Sync for IncrementalDocument
impl Unpin for IncrementalDocument
impl UnsafeUnpin for IncrementalDocument
impl UnwindSafe for IncrementalDocument
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more