Skip to main content

Module themes

Module themes 

Source
Expand description

Runtime theme registry construction. Built-ins are always loaded; user themes under $XDG_CONFIG_HOME/linesmith/themes/ are best-effort.

Functions§

build_theme_registry
Build a ThemeRegistry from built-ins plus user themes discovered under user_themes_dir. Pass None to skip user- theme loading entirely (test harnesses, no XDG/HOME env). The loader is best-effort — on_warn is called for theme-loader diagnostics: malformed files, name collisions (built-in override, duplicate user theme), and unreadable directory entries. Pass |_| {} to discard.
user_themes_dir
$XDG_CONFIG_HOME/linesmith/themes/ (with $HOME fallback) per the cascade in crate::data_context::xdg::resolve_subdir. None when neither env var is populated.