pub struct Theme {Show 13 fields
pub background: Color,
pub foreground: Color,
pub muted: Color,
pub muted_text: Color,
pub selection_background: Color,
pub selection_foreground: Color,
pub error: Color,
pub success: Color,
pub warning: Color,
pub accent: Color,
pub chrome: Color,
pub highlight: Color,
pub notice: Color,
}Fields§
§background: Color§foreground: Color§muted: ColorStructural chrome: borders, unfocused/inactive elements.
muted_text: ColorSecondary text: hints, footers, “press any key to close”.
selection_background: Color§selection_foreground: Color§error: ColorErrors, validation failures, last_error.
success: ColorBooted-simulator dot, confirmation affordances.
warning: ColorIn-flight / transient status messages.
accent: ColorPopup borders, command-palette chrome, runtime-group headers.
chrome: ColorHeader text, readout numbers, chrome accents.
highlight: ColorSpare accent (blue slot in the original palette).
notice: ColorSpare accent (magenta slot in the original palette).
Implementations§
Source§impl Theme
impl Theme
pub fn from_name(name: ThemeName) -> Self
Sourcepub fn default_plus() -> Self
pub fn default_plus() -> Self
The Default+ colorscheme,
values taken verbatim from that repo’s palette.yaml (base +
accent).
Sourcepub fn ansi() -> Self
pub fn ansi() -> Self
The terminal’s own 16-color scheme. Correct on a background whose
depth/appearance nothing here has detected, at the cost of not
matching Default+ exactly on every terminal — see vigia’s theme.rs
for the same reasoning about why an ANSI-named palette is the safe
fallback rather than the default.
Sourcepub fn tokyo_night() -> Self
pub fn tokyo_night() -> Self
Tokyo Night (the “Night” variant), values taken from that project’s canonical Lua palette.
Sourcepub fn nord() -> Self
pub fn nord() -> Self
Nord, values taken from the official
palette (nord0-nord15). Uses nord8 (“frost”, light blue-cyan)
as the accent rather than nord7, matching how most terminal ports
pick the brightest frost tone for emphasis.
Sourcepub fn dracula() -> Self
pub fn dracula() -> Self
Dracula, values taken from the official spec. Dracula has no distinct “blue” — its own ANSI spec maps the blue slot to the purple hex, which this mirrors.
Sourcepub fn gruvbox() -> Self
pub fn gruvbox() -> Self
Gruvbox dark, “bright” accent set (gruvbox’s neutral tones are deliberately desaturated/earthy; the bright set reads better as foreground text on its own dark background, which is how most terminal ports use it for ANSI 8-15).
Sourcepub fn catppuccin_mocha() -> Self
pub fn catppuccin_mocha() -> Self
Catppuccin Mocha, values taken from the official palette.
Sourcepub fn solarized_dark() -> Self
pub fn solarized_dark() -> Self
Solarized Dark, values
taken from the official base16 spec (base03-base3).
Sourcepub fn vesper() -> Self
pub fn vesper() -> Self
Vesper — an ultra-muted, near-monochromatic palette with warm pastel accents. Values taken from the canonical VS Code theme.
Sourcepub fn accent_style(&self) -> Style
pub fn accent_style(&self) -> Style
Runtime group headers, the command-palette border — anything drawing attention without signaling success/warning/error.
Sourcepub fn hint(&self) -> Style
pub fn hint(&self) -> Style
Footer key hints, “press any key to close”, the ghost autocomplete suffix, a shutdown simulator’s indicator dot.
Sourcepub fn bar(&self) -> Style
pub fn bar(&self) -> Style
The main list’s selected row — the same filled-bar look for every highlighted row across the UI.
Sourcepub fn chrome_bar(&self) -> Style
pub fn chrome_bar(&self) -> Style
Full-row background wash for header and status bar.
Trait Implementations§
impl Copy for Theme
impl Eq for Theme
impl StructuralPartialEq for Theme
Auto Trait Implementations§
impl Freeze for Theme
impl RefUnwindSafe for Theme
impl Send for Theme
impl Sync for Theme
impl Unpin for Theme
impl UnsafeUnpin for Theme
impl UnwindSafe for Theme
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more