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<SourceLineEditMap, 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§fn clone(&self) -> SourceLineEditMap
fn clone(&self) -> SourceLineEditMap
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§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<SourceLineEditMap, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SourceLineEditMap, <__D as Deserializer<'de>>::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
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for SourceLineEditMap
Source§impl TryFrom<LineEditMapWire> for SourceLineEditMap
impl TryFrom<LineEditMapWire> for SourceLineEditMap
Source§type Error = SourceTargetError
type Error = SourceTargetError
The type returned in the event of a conversion error.
Source§fn try_from(
wire: LineEditMapWire,
) -> Result<SourceLineEditMap, <SourceLineEditMap as TryFrom<LineEditMapWire>>::Error>
fn try_from( wire: LineEditMapWire, ) -> Result<SourceLineEditMap, <SourceLineEditMap as TryFrom<LineEditMapWire>>::Error>
Performs the conversion.
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