Struct ariadne::Label

source ·
pub struct Label<S = Range<usize>> { /* private fields */ }
Expand description

A type that represents a labelled section of source code.

Implementations§

source§

impl<S: Span> Label<S>

source

pub fn new(span: S) -> Self

Create a new Label. If the span is specified as a Range<usize> the numbers have to be zero-indexed character offsets.

§Panics

Panics if the given span is backwards.

source

pub fn with_message<M: ToString>(self, msg: M) -> Self

Give this label a message.

source

pub fn with_color(self, color: Color) -> Self

Give this label a highlight colour.

source

pub fn with_order(self, order: i32) -> Self

Specify the order of this label relative to other labels.

Lower values correspond to this label having an earlier order.

If unspecified, labels default to an order of 0.

When labels are displayed after a line the crate needs to decide which labels should be displayed first. By Default, the orders labels based on where their associated line meets the text (see LabelAttach). Additionally, multi-line labels are ordered before inline labels. You can use this function to override this behaviour.

source

pub fn with_priority(self, priority: i32) -> Self

Specify the priority of this label relative to other labels.

Higher values correspond to this label having a higher priority.

If unspecified, labels default to a priority of 0.

Label spans can overlap. When this happens, the crate needs to decide which labels to prioritise for various purposes such as highlighting. By default, spans with a smaller length get a higher priority. You can use this function to override this behaviour.

Trait Implementations§

source§

impl<S: Clone> Clone for Label<S>

source§

fn clone(&self) -> Label<S>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<S: Debug> Debug for Label<S>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<S: Hash> Hash for Label<S>

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

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

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

impl<S: PartialEq> PartialEq for Label<S>

source§

fn eq(&self, other: &Label<S>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<S: Eq> Eq for Label<S>

source§

impl<S> StructuralPartialEq for Label<S>

Auto Trait Implementations§

§

impl<S> RefUnwindSafe for Label<S>
where S: RefUnwindSafe,

§

impl<S> Send for Label<S>
where S: Send,

§

impl<S> Sync for Label<S>
where S: Sync,

§

impl<S> Unpin for Label<S>
where S: Unpin,

§

impl<S> UnwindSafe for Label<S>
where S: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.