pub struct CompleteStyle {
pub fg: Option<Color>,
pub bg: Option<Color>,
pub bold: bool,
pub italics: bool,
pub underline: bool,
}Expand description
An aggregate unit which describes the sub total of a set of styles
use glitter_lang::ast::{Style, CompleteStyle, Color};
use Style::*;
use Color::*;
let complete: CompleteStyle = [Fg(Green), Bold].iter().collect();
assert_eq!(complete, CompleteStyle {
fg: Some(Green),
bold: true,
..Default::default()
});The conversion from a collection of styles is lossy:
use glitter_lang::ast::{Style, CompleteStyle, Color};
use Style::*;
use Color::*;
// Style::Reset at the final position is the same as
// CompleteStyle::default()
let reset_to_default: CompleteStyle = [Bg(Red), Reset].iter().collect();
assert_eq!(reset_to_default, CompleteStyle::default());
// Information about repeated styles is lost
let green: CompleteStyle = [Fg(Green)].iter().collect();
let green_repeat: CompleteStyle = std::iter::repeat(&Fg(Green)).take(10).collect();
assert_eq!(green, green_repeat);Fields§
§fg: Option<Color>§bg: Option<Color>§bold: bool§italics: bool§underline: boolImplementations§
Trait Implementations§
Source§impl AddAssign for CompleteStyle
impl AddAssign for CompleteStyle
Source§fn add_assign(&mut self, with: Self)
fn add_assign(&mut self, with: Self)
Performs the
+= operation. Read moreSource§impl Clone for CompleteStyle
impl Clone for CompleteStyle
Source§fn clone(&self) -> CompleteStyle
fn clone(&self) -> CompleteStyle
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for CompleteStyle
Source§impl Debug for CompleteStyle
impl Debug for CompleteStyle
Source§impl Default for CompleteStyle
impl Default for CompleteStyle
Source§impl Display for CompleteStyle
impl Display for CompleteStyle
impl Eq for CompleteStyle
Source§impl<'a> Extend<&'a Style> for CompleteStyle
impl<'a> Extend<&'a Style> for CompleteStyle
Source§fn extend<E: IntoIterator<Item = &'a Style>>(&mut self, styles: E)
fn extend<E: IntoIterator<Item = &'a Style>>(&mut self, styles: E)
Extends a collection with the contents of an iterator. Read more
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
🔬This is a nightly-only experimental API. (
extend_one)Extends a collection with exactly one element.
Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
🔬This is a nightly-only experimental API. (
extend_one)Reserves capacity in a collection for the given number of additional elements. Read more
Source§impl From<Style> for CompleteStyle
impl From<Style> for CompleteStyle
Source§impl<'a> FromIterator<&'a Style> for CompleteStyle
impl<'a> FromIterator<&'a Style> for CompleteStyle
Source§fn from_iter<I: IntoIterator<Item = &'a Style>>(iter: I) -> CompleteStyle
fn from_iter<I: IntoIterator<Item = &'a Style>>(iter: I) -> CompleteStyle
Creates a value from an iterator. Read more
Source§impl PartialEq for CompleteStyle
impl PartialEq for CompleteStyle
Source§fn eq(&self, other: &CompleteStyle) -> bool
fn eq(&self, other: &CompleteStyle) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for CompleteStyle
Auto Trait Implementations§
impl Freeze for CompleteStyle
impl RefUnwindSafe for CompleteStyle
impl Send for CompleteStyle
impl Sync for CompleteStyle
impl Unpin for CompleteStyle
impl UnsafeUnpin for CompleteStyle
impl UnwindSafe for CompleteStyle
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more