Struct termimad::FmtComposite

source ·
pub struct FmtComposite<'s> {
    pub kind: CompositeKind,
    pub compounds: Vec<Compound<'s>>,
    pub visible_length: usize,
    pub spacing: Option<Spacing>,
}
Expand description

Wrap Minimad compounds with their style and termimad specific information

Fields§

§kind: CompositeKind§compounds: Vec<Compound<'s>>§visible_length: usize§spacing: Option<Spacing>

Implementations§

source§

impl<'s> FmtComposite<'s>

source

pub fn new() -> Self

source

pub fn from(composite: Composite<'s>, skin: &MadSkin) -> Self

source

pub fn from_compound(compound: Compound<'s>) -> Self

source

pub const fn completions(&self) -> (usize, usize)

Return the number of characters (usually spaces) to insert both sides of the composite

source

pub fn add_compound(&mut self, compound: Compound<'s>)

Add a compound and modifies visible_length accordingly

source

pub fn recompute_width(&mut self, skin: &MadSkin)

Ensure the cached visible_length is correct.

It’s normally not necessary to call it, but this must be called if compounds are added, removed or modified without using the FmtComposite API

source

pub fn fit_width(&mut self, width: usize, align: Alignment, skin: &MadSkin)

try to ensure the composite’s width doesn’t exceed the given width.

The alignment can be used, if necessary, to know which side it’s better to remove content (for example if the alignment is left then we remove at right). The fitter may remove a part in the core of the composite if it looks good enough. In this specific case an ellipsis will replace the removed part.

source

pub fn extend_width(&mut self, width: usize, align: Alignment)

if the composite is smaller than the given width, pad it according to the alignment.

source

pub fn fill_width(&mut self, width: usize, align: Alignment, skin: &MadSkin)

try to make it so that the composite has exactly the given width, either by shortening it or by adding space.

This calls the fit_width and extend_width methods.

Trait Implementations§

source§

impl<'s> Clone for FmtComposite<'s>

source§

fn clone(&self) -> FmtComposite<'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 for FmtComposite<'s>

source§

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

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

impl Default for FmtComposite<'_>

source§

fn default() -> Self

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

Auto Trait Implementations§

§

impl<'s> Freeze for FmtComposite<'s>

§

impl<'s> RefUnwindSafe for FmtComposite<'s>

§

impl<'s> Send for FmtComposite<'s>

§

impl<'s> Sync for FmtComposite<'s>

§

impl<'s> Unpin for FmtComposite<'s>

§

impl<'s> UnwindSafe for FmtComposite<'s>

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> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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.