[−][src]Struct source_span::Layout
Text layout.
Keep track of the byte index of each line in a UTF8-encoded so it can be indexed by cursor position.
Implementations
impl<M: Metrics> Layout<M>
[src]
pub fn new(metrics: M) -> Layout<M>
[src]
Create a new empty layout from a given metrics.
pub fn span(&self) -> Span
[src]
Get the layout's span.
pub fn from<Chars: Iterator<Item = char>>(chars: Chars, metrics: M) -> Layout<M>
[src]
Create a new layout from a char
iterator.
pub fn try_from<E, Chars: Iterator<Item = Result<char, E>>>(
chars: Chars,
metrics: M
) -> Result<Layout<M>, E>
[src]
chars: Chars,
metrics: M
) -> Result<Layout<M>, E>
Try to create a new layout from an unreliable char
iterator.
pub fn push(&mut self, c: char)
[src]
Extend the layout with a new character.
pub fn byte_index(&self, str: &str, position: Position) -> Option<usize>
[src]
Get the byte index mapping to the given position in the input string slice.
It is assumed that the input string slice matches the layout. Otherwise, the returned index may not point to an UTF8 character boundary nor even be in the slice bounds.
pub fn span_slice<'a>(&self, str: &'a str, span: Span) -> &'a str
[src]
Get the sub slice of the input string matching the given span.
Trait Implementations
impl<M: Metrics> Extend<char> for Layout<M>
[src]
fn extend<Chars: IntoIterator<Item = char>>(&mut self, chars: Chars)
[src]
fn extend_one(&mut self, item: A)
[src]
fn extend_reserve(&mut self, additional: usize)
[src]
Auto Trait Implementations
impl<M> RefUnwindSafe for Layout<M> where
M: RefUnwindSafe,
M: RefUnwindSafe,
impl<M> Send for Layout<M> where
M: Send,
M: Send,
impl<M> Sync for Layout<M> where
M: Sync,
M: Sync,
impl<M> Unpin for Layout<M> where
M: Unpin,
M: Unpin,
impl<M> UnwindSafe for Layout<M> where
M: UnwindSafe,
M: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,