Struct terminal_colorsaurus::ColorScheme
source · #[non_exhaustive]pub struct ColorScheme {
pub foreground: Color,
pub background: Color,
}
Expand description
The color scheme i.e. foreground and background colors of the terminal.
Retrieved by calling color_scheme
.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.foreground: Color
The foreground color of the terminal.
background: Color
The background color of the terminal.
Implementations§
source§impl ColorScheme
impl ColorScheme
sourcepub fn is_dark_on_light(&self) -> bool
pub fn is_dark_on_light(&self) -> bool
Tests if this color scheme uses dark text on a light background. This is done by computing and comparing the perceived brightness of the two colors.
sourcepub fn is_light_on_dark(&self) -> bool
pub fn is_light_on_dark(&self) -> bool
Tests if this color scheme uses light text on a dark background. This is done by computing and comparing the perceived brightness of the two colors.
Note that is_light_on_dark = !is_dark_on_light
.
Examples found in repository?
examples/theme.rs (line 10)
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
fn main() -> Result<(), Box<dyn Error>> {
let colors = color_scheme(QueryOptions::default())?;
let theme = if colors.is_light_on_dark() {
"light on dark"
} else {
"dark on light"
};
println!(
"{theme}, fg: {}, bg: {}",
colors.foreground.perceived_lightness(),
colors.background.perceived_lightness()
);
Ok(())
}
Trait Implementations§
source§impl Clone for ColorScheme
impl Clone for ColorScheme
source§fn clone(&self) -> ColorScheme
fn clone(&self) -> ColorScheme
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ColorScheme
impl Debug for ColorScheme
source§impl PartialEq for ColorScheme
impl PartialEq for ColorScheme
source§fn eq(&self, other: &ColorScheme) -> bool
fn eq(&self, other: &ColorScheme) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for ColorScheme
impl StructuralPartialEq for ColorScheme
Auto Trait Implementations§
impl Freeze for ColorScheme
impl RefUnwindSafe for ColorScheme
impl Send for ColorScheme
impl Sync for ColorScheme
impl Unpin for ColorScheme
impl UnwindSafe for ColorScheme
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