duat_core::text

Struct Builder

Source
pub struct Builder { /* private fields */ }
Expand description

Builds and modifies a Text, based on replacements applied to it.

This struct is meant to be used alongside the text! family of macros. You pass it as the first argument, and the Text will be extended by the macro. This lets you write a Text with multiple macro invocations:

fn is_more_than_two(num: usize) -> Text {
    let mut builder = Text::builder();
    hint!(builder, "The number " [*a] num [] " is ");
    if num > 2 {
        hint!(builder, [*a] "more" [] " than 2.");
    } else {
        hint!(builder, [*a] "not more" [] " than 2.");
    }
    builder.finish()
}

Implementations§

Source§

impl Builder

Source

pub fn new() -> Self

Returns a new instance of Builder

Use Text::builder if you don’t want to bring Builder into scope.

Source

pub fn finish(self) -> Text

Finish construction and returns the Text

Will also finish the last Form tag, pushing a PopForm at the very end.

Source

pub fn push<D: Display>(&mut self, part: impl Into<BuilderPart<D>>)

Pushes a part of the text

This can be an impl Display type, a Data type holding an impl Display or a tag surrogate.

Source

pub fn last_was_empty(&self) -> bool

Wether or not the last added piece was empty

This happens when an empty String or an empty Text is pushed.

Trait Implementations§

Source§

impl Default for Builder

Source§

fn default() -> Self

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.