Struct IndentStack

Source
pub struct IndentStack {
    pub allow_inconsistent_indents: bool,
    /* private fields */
}
Expand description

Stores the indentation state of an off-side parser. The default state is where

Fields§

§allow_inconsistent_indents: bool

Implementations§

Source§

impl IndentStack

Source

pub fn default_inconsistent_indents() -> Self

Source

pub fn accept(&mut self, input: &str) -> Result<isize, IndentError>

Mutates the state of the stack by applying an indent level. There is no restriction on the input characters, as long as they are identical.

The initial state is an empty indent. Passing a non-empty string the first time would immediately result in an indent.

§Returns
  • If an indentation error occurred, None is returned.
  • Ok(1) implies that an indent is detected.
  • Ok(0) implies that no indentation change is detected.
  • Ok(x) where x < 0 implies that -x levels of dedents are detected.

Trait Implementations§

Source§

impl Debug for IndentStack

Source§

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

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

impl Default for IndentStack

Source§

fn default() -> IndentStack

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

Auto Trait Implementations§

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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>,

Source§

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.