Struct ra_ap_text_edit::TextSize[][src]

pub struct TextSize { /* fields omitted */ }
Expand description

A measure of text length. Also, equivalently, an index into text.

This is a UTF-8 bytes offset stored as u32, but most clients should treat it as an opaque measure.

For cases that need to escape TextSize and return to working directly with primitive integers, TextSize can be converted losslessly to/from u32 via From conversions as well as losslessly be converted Into usize. The usize -> TextSize direction can be done via TryFrom.

These escape hatches are primarily required for unit testing and when converting from UTF-8 size to another coordinate space, such as UTF-16.

Implementations

impl TextSize[src]

pub fn of<T>(text: T) -> TextSize where
    T: TextLen
[src]

The text size of some primitive text-like object.

Accepts char, &str, and &String.

Examples

let char_size = TextSize::of('🦀');
assert_eq!(char_size, TextSize::from(4));

let str_size = TextSize::of("rust-analyzer");
assert_eq!(str_size, TextSize::from(13));

impl TextSize[src]

Methods to act like a primitive integer type, where reasonably applicable.

pub fn checked_add(self, rhs: TextSize) -> Option<TextSize>[src]

Checked addition. Returns None if overflow occurred.

pub fn checked_sub(self, rhs: TextSize) -> Option<TextSize>[src]

Checked subtraction. Returns None if overflow occurred.

Trait Implementations

impl<'_> Add<&'_ TextSize> for TextSize[src]

type Output = TextSize

The resulting type after applying the + operator.

pub fn add(self, other: &TextSize) -> TextSize[src]

Performs the + operation. Read more

impl<'_> Add<&'_ TextSize> for TextRange[src]

type Output = TextRange

The resulting type after applying the + operator.

pub fn add(self, other: &TextSize) -> TextRange[src]

Performs the + operation. Read more

impl<'_, T> Add<T> for &'_ TextSize where
    TextSize: Add<T>,
    <TextSize as Add<T>>::Output == TextSize
[src]

type Output = TextSize

The resulting type after applying the + operator.

pub fn add(self, other: T) -> TextSize[src]

Performs the + operation. Read more

impl Add<TextSize> for TextRange[src]

type Output = TextRange

The resulting type after applying the + operator.

pub fn add(self, offset: TextSize) -> TextRange[src]

Performs the + operation. Read more

impl Add<TextSize> for TextSize[src]

type Output = TextSize

The resulting type after applying the + operator.

pub fn add(self, other: TextSize) -> TextSize[src]

Performs the + operation. Read more

impl<A> AddAssign<A> for TextSize where
    TextSize: Add<A>,
    <TextSize as Add<A>>::Output == TextSize
[src]

pub fn add_assign(&mut self, rhs: A)[src]

Performs the += operation. Read more

impl Clone for TextSize[src]

pub fn clone(&self) -> TextSize[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for TextSize[src]

pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>[src]

Formats the value using the given formatter. Read more

impl Default for TextSize[src]

pub fn default() -> TextSize[src]

Returns the “default value” for a type. Read more

impl From<u32> for TextSize[src]

pub fn from(raw: u32) -> TextSize[src]

Performs the conversion.

impl Hash for TextSize[src]

pub fn hash<__H>(&self, state: &mut __H) where
    __H: Hasher
[src]

Feeds this value into the given Hasher. Read more

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given Hasher. Read more

impl Ord for TextSize[src]

pub fn cmp(&self, other: &TextSize) -> Ordering[src]

This method returns an Ordering between self and other. Read more

#[must_use]
fn max(self, other: Self) -> Self
1.21.0[src]

Compares and returns the maximum of two values. Read more

#[must_use]
fn min(self, other: Self) -> Self
1.21.0[src]

Compares and returns the minimum of two values. Read more

#[must_use]
fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]

Restrict a value to a certain interval. Read more

impl PartialEq<TextSize> for TextSize[src]

pub fn eq(&self, other: &TextSize) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

pub fn ne(&self, other: &TextSize) -> bool[src]

This method tests for !=.

impl PartialOrd<TextSize> for TextSize[src]

pub fn partial_cmp(&self, other: &TextSize) -> Option<Ordering>[src]

This method returns an ordering between self and other values if one exists. Read more

#[must_use]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests less than (for self and other) and is used by the < operator. Read more

#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

#[must_use]
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl RangeBounds<TextSize> for TextRange[src]

pub fn start_bound(&self) -> Bound<&TextSize>[src]

Start index bound. Read more

pub fn end_bound(&self) -> Bound<&TextSize>[src]

End index bound. Read more

fn contains<U>(&self, item: &U) -> bool where
    T: PartialOrd<U>,
    U: PartialOrd<T> + ?Sized
1.35.0[src]

Returns true if item is contained in the range. Read more

impl<'_> Sub<&'_ TextSize> for TextSize[src]

type Output = TextSize

The resulting type after applying the - operator.

pub fn sub(self, other: &TextSize) -> TextSize[src]

Performs the - operation. Read more

impl<'_> Sub<&'_ TextSize> for TextRange[src]

type Output = TextRange

The resulting type after applying the - operator.

pub fn sub(self, other: &TextSize) -> TextRange[src]

Performs the - operation. Read more

impl<'_, T> Sub<T> for &'_ TextSize where
    TextSize: Sub<T>,
    <TextSize as Sub<T>>::Output == TextSize
[src]

type Output = TextSize

The resulting type after applying the - operator.

pub fn sub(self, other: T) -> TextSize[src]

Performs the - operation. Read more

impl Sub<TextSize> for TextSize[src]

type Output = TextSize

The resulting type after applying the - operator.

pub fn sub(self, other: TextSize) -> TextSize[src]

Performs the - operation. Read more

impl Sub<TextSize> for TextRange[src]

type Output = TextRange

The resulting type after applying the - operator.

pub fn sub(self, offset: TextSize) -> TextRange[src]

Performs the - operation. Read more

impl<S> SubAssign<S> for TextSize where
    TextSize: Sub<S>,
    <TextSize as Sub<S>>::Output == TextSize
[src]

pub fn sub_assign(&mut self, rhs: S)[src]

Performs the -= operation. Read more

impl<A> Sum<A> for TextSize where
    TextSize: Add<A>,
    <TextSize as Add<A>>::Output == TextSize
[src]

pub fn sum<I>(iter: I) -> TextSize where
    I: Iterator<Item = A>, 
[src]

Method which takes an iterator and generates Self from the elements by “summing up” the items. Read more

impl TryFrom<usize> for TextSize[src]

type Error = TryFromIntError

The type returned in the event of a conversion error.

pub fn try_from(value: usize) -> Result<TextSize, TryFromIntError>[src]

Performs the conversion.

impl Copy for TextSize[src]

impl Eq for TextSize[src]

impl StructuralEq for TextSize[src]

impl StructuralPartialEq for TextSize[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.