1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3use settings::{Settings, SettingsSources};
4
5#[derive(Default, Debug, Deserialize, Serialize, Clone)]
6pub struct AssistantSettings {
7 pub enabled: bool,
8}
9
10#[derive(Default, Debug, Deserialize, Serialize, Clone, JsonSchema)]
11pub struct AssistantSettingsContent {
12 pub enabled: Option<bool>,
13}
14
15impl Settings for AssistantSettings {
16 const KEY: Option<&'static str> = Some("assistant_v2");
17
18 type FileContent = AssistantSettingsContent;
19
20 fn load(
21 sources: SettingsSources<Self::FileContent>,
22 _: &mut gpui::AppContext,
23 ) -> anyhow::Result<Self> {
24 Ok(sources.json_merge().unwrap_or_else(|_| Default::default()))
25 }
26}