blob: 4d987724c3669885e3667ac3b7205e120091745b [file] [log] [blame]
/// Indent represent a filled space.
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
pub struct Indent {
/// A fill character.
pub fill: char,
/// A number of repeats of a fill character.
pub size: usize,
}
impl Indent {
/// Creates a new Indent structure.
pub const fn new(size: usize, fill: char) -> Self {
Self { fill, size }
}
/// Creates a new Indent structure with space (`' '`) as a fill character.
pub const fn spaced(size: usize) -> Self {
Self { size, fill: ' ' }
}
/// Creates a new Indent structure with space (`' '`) as a fill character.
pub const fn zero() -> Self {
Self::new(0, ' ')
}
}
impl Default for Indent {
fn default() -> Self {
Self { size: 0, fill: ' ' }
}
}