pub enum ThemeMode {
Light,
Dark,
Auto {
fallback: ColorScheme,
},
}Expand description
The caller’s policy for selecting a light or dark theme.
Light and Dark are explicit choices and need no terminal observation.
Auto classifies an observed terminal background, or uses its explicit
fallback when observation is unavailable.
use std::io;
use urushi::{ColorScheme, ThemeMode};
use urushi_terminal::TerminalQuery;
let background = match mode {
ThemeMode::Auto { .. } => terminal.terminal_background()?,
ThemeMode::Light | ThemeMode::Dark => None,
};
let scheme = mode.resolve(background);Variants§
Implementations§
Source§impl ThemeMode
impl ThemeMode
pub fn resolve(self, background: Option<TerminalBackground>) -> ColorScheme
Trait Implementations§
impl Copy for ThemeMode
impl Eq for ThemeMode
impl StructuralPartialEq for ThemeMode
Auto Trait Implementations§
impl Freeze for ThemeMode
impl RefUnwindSafe for ThemeMode
impl Send for ThemeMode
impl Sync for ThemeMode
impl Unpin for ThemeMode
impl UnsafeUnpin for ThemeMode
impl UnwindSafe for ThemeMode
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