Parameterize theme2::init
to allow loading just the base theme (#3345)
This PR adds a parameter to the `theme2::init` method to indicate what the theme-loading behavior should be. This allows us to indicate when we want to load all of the additional built-in user themes (like in the Zed binary and in the storybook), and when we don't want to load the user themes (like in tests). We're using an enum over just a `bool` here for clarity at the call site. Release Notes: - N/A
This commit is contained in:
parent
2aa7c6f2b4
commit
b559bfd80f
14 changed files with 36 additions and 17 deletions
|
@ -31,8 +31,25 @@ pub enum Appearance {
|
|||
Dark,
|
||||
}
|
||||
|
||||
pub fn init(cx: &mut AppContext) {
|
||||
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
|
||||
pub enum LoadThemes {
|
||||
/// Only load the base theme.
|
||||
///
|
||||
/// No user themes will be loaded.
|
||||
JustBase,
|
||||
|
||||
/// Load all of the built-in themes.
|
||||
All,
|
||||
}
|
||||
|
||||
pub fn init(themes_to_load: LoadThemes, cx: &mut AppContext) {
|
||||
cx.set_global(ThemeRegistry::default());
|
||||
|
||||
match themes_to_load {
|
||||
LoadThemes::JustBase => (),
|
||||
LoadThemes::All => cx.global_mut::<ThemeRegistry>().load_user_themes(),
|
||||
}
|
||||
|
||||
ThemeSettings::register(cx);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue