pub struct Theme { /* private fields */ }Expand description
A parsed Helix-compatible theme.
Contains resolved Styles keyed by scope name (e.g. "ui.text").
Implementations§
Source§impl Theme
impl Theme
Sourcepub fn empty() -> Self
pub fn empty() -> Self
Create an empty theme with no styles. Useful as a placeholder for built-in / fallback theme structs.
Sourcepub fn get(&self, scope: &str) -> Style
pub fn get(&self, scope: &str) -> Style
Look up a style by exact scope name. Returns Style::default() if
not found.
Sourcepub fn try_get(&self, scope: &str) -> Option<Style>
pub fn try_get(&self, scope: &str) -> Option<Style>
Look up a style with dot-delimited fallback:
ui.text.focus → ui.text → ui → none.
Sourcepub fn try_get_exact(&self, scope: &str) -> Option<Style>
pub fn try_get_exact(&self, scope: &str) -> Option<Style>
Look up a style by exact scope name with no fallback.
Sourcepub fn role(&self, role: ThemeRole) -> Style
pub fn role(&self, role: ThemeRole) -> Style
Resolve the first usable style for a typed theme role.
Sourcepub fn style_from_scopes(&self, scopes: &[&str]) -> Style
pub fn style_from_scopes(&self, scopes: &[&str]) -> Style
Resolve the first usable style across a fallback list of Helix scopes.
Later scopes patch earlier missing fields only; lookup stops once both foreground and background are known.
Trait Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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