pub struct PositionRange { /* private fields */ }Expand description
An ordered pair of positions, start <= end.
§Examples
use mcpls_core::bridge::{InvalidRange, Position, PositionRange};
let start = Position::from_client(1, 1).unwrap();
let end = Position::from_client(2, 4).unwrap();
assert!(PositionRange::new(start, end).is_ok());
assert_eq!(PositionRange::new(end, start), Err(InvalidRange::Reversed));Implementations§
Source§impl PositionRange
impl PositionRange
Sourcepub fn from_client(
(start_line, start_character): (u32, u32),
(end_line, end_character): (u32, u32),
) -> Result<Self, InvalidRange>
pub fn from_client( (start_line, start_character): (u32, u32), (end_line, end_character): (u32, u32), ) -> Result<Self, InvalidRange>
Builds a range from client-supplied 1-based numbers.
§Errors
Returns the invalid endpoint or InvalidRange::Reversed.
Trait Implementations§
Source§impl Clone for PositionRange
impl Clone for PositionRange
impl Copy for PositionRange
Source§impl Debug for PositionRange
impl Debug for PositionRange
impl Eq for PositionRange
Source§impl PartialEq for PositionRange
impl PartialEq for PositionRange
impl StructuralPartialEq for PositionRange
Source§impl TryFrom<PositionRange> for BoundedRange
impl TryFrom<PositionRange> for BoundedRange
Source§type Error = InvalidRange
type Error = InvalidRange
The type returned in the event of a conversion error.
Auto Trait Implementations§
impl Freeze for PositionRange
impl RefUnwindSafe for PositionRange
impl Send for PositionRange
impl Sync for PositionRange
impl Unpin for PositionRange
impl UnsafeUnpin for PositionRange
impl UnwindSafe for PositionRange
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.