Improved settings writing to be strongly typed and based on settings file content diffs
Co-Authored-By: kay@zed.dev
This commit is contained in:
parent
cbf31e6d27
commit
dd1320e6d1
5 changed files with 206 additions and 150 deletions
|
@ -4,7 +4,7 @@ use gpui::{
|
|||
MutableAppContext, RenderContext, View, ViewContext, ViewHandle,
|
||||
};
|
||||
use picker::{Picker, PickerDelegate};
|
||||
use settings::Settings;
|
||||
use settings::{settings_file::SettingsFile, Settings};
|
||||
use std::sync::Arc;
|
||||
use theme::{Theme, ThemeMeta, ThemeRegistry};
|
||||
use workspace::{AppState, Workspace};
|
||||
|
@ -155,7 +155,9 @@ impl PickerDelegate for ThemeSelector {
|
|||
self.selection_completed = true;
|
||||
|
||||
let theme_name = cx.global::<Settings>().theme.meta.name.clone();
|
||||
settings::settings_file::write_setting("theme", theme_name, cx);
|
||||
SettingsFile::update(cx, |settings_content| {
|
||||
settings_content.theme = Some(theme_name);
|
||||
});
|
||||
|
||||
cx.emit(Event::Dismissed);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue