pub struct SourceLineEditMap { /* private fields */ }Expand description
Stored once per changed blob pair, never once per referring range. Validated on construction/decode, so each projection uses binary search over edits.
Implementations§
Source§impl SourceLineEditMap
impl SourceLineEditMap
pub fn new( old_lines: u32, new_lines: u32, edits: Vec<SourceLineEdit>, ) -> Result<Self, SourceTargetError>
pub fn edits(&self) -> &[SourceLineEdit]
Sourcepub fn project(
&self,
range: SourceLineRange,
) -> Result<SourceRangeProjection, SourceTargetError>
pub fn project( &self, range: SourceLineRange, ) -> Result<SourceRangeProjection, SourceTargetError>
O(log edits); this does not parse text, scan edits, or mutate references.
Trait Implementations§
Source§impl Clone for SourceLineEditMap
impl Clone for SourceLineEditMap
Source§impl Debug for SourceLineEditMap
impl Debug for SourceLineEditMap
Source§impl<'de> Deserialize<'de> for SourceLineEditMap
impl<'de> Deserialize<'de> for SourceLineEditMap
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for SourceLineEditMap
Source§impl PartialEq for SourceLineEditMap
impl PartialEq for SourceLineEditMap
Source§impl Serialize for SourceLineEditMap
impl Serialize for SourceLineEditMap
impl StructuralPartialEq for SourceLineEditMap
Auto Trait Implementations§
impl Freeze for SourceLineEditMap
impl RefUnwindSafe for SourceLineEditMap
impl Send for SourceLineEditMap
impl Sync for SourceLineEditMap
impl Unpin for SourceLineEditMap
impl UnsafeUnpin for SourceLineEditMap
impl UnwindSafe for SourceLineEditMap
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