settings.rs

 1use schemars::JsonSchema;
 2use serde::{Deserialize, Serialize};
 3use settings::{Settings, SettingsSources};
 4
 5#[derive(Serialize, Deserialize, PartialEq, Default)]
 6pub(crate) struct TaskSettings {
 7    pub(crate) show_status_indicator: bool,
 8}
 9
10/// Task-related settings.
11#[derive(Serialize, Deserialize, PartialEq, Default, Clone, JsonSchema)]
12pub(crate) struct TaskSettingsContent {
13    /// Whether to show task status indicator in the status bar. Default: true
14    show_status_indicator: Option<bool>,
15}
16
17impl Settings for TaskSettings {
18    const KEY: Option<&'static str> = Some("task");
19
20    type FileContent = TaskSettingsContent;
21
22    fn load(sources: SettingsSources<Self::FileContent>, _: &mut gpui::App) -> gpui::Result<Self> {
23        sources.json_merge()
24    }
25}