2024-04-08 12:43:00 +00:00
|
|
|
use schemars::JsonSchema;
|
|
|
|
use serde::{Deserialize, Serialize};
|
2024-04-08 23:17:12 +00:00
|
|
|
use settings::{Settings, SettingsSources};
|
2024-04-08 12:43:00 +00:00
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize, PartialEq, Default)]
|
|
|
|
pub(crate) struct TaskSettings {
|
|
|
|
pub(crate) show_status_indicator: bool,
|
|
|
|
}
|
|
|
|
|
|
|
|
/// Task-related settings.
|
|
|
|
#[derive(Serialize, Deserialize, PartialEq, Default, Clone, JsonSchema)]
|
|
|
|
pub(crate) struct TaskSettingsContent {
|
|
|
|
/// Whether to show task status indicator in the status bar. Default: true
|
|
|
|
show_status_indicator: Option<bool>,
|
|
|
|
}
|
|
|
|
|
2024-04-08 23:17:12 +00:00
|
|
|
impl Settings for TaskSettings {
|
2024-04-08 12:43:00 +00:00
|
|
|
const KEY: Option<&'static str> = Some("task");
|
|
|
|
|
|
|
|
type FileContent = TaskSettingsContent;
|
|
|
|
|
|
|
|
fn load(
|
2024-04-08 23:17:12 +00:00
|
|
|
sources: SettingsSources<Self::FileContent>,
|
2024-04-08 12:43:00 +00:00
|
|
|
_: &mut gpui::AppContext,
|
2024-04-08 23:17:12 +00:00
|
|
|
) -> gpui::Result<Self> {
|
|
|
|
sources.json_merge()
|
2024-04-08 12:43:00 +00:00
|
|
|
}
|
|
|
|
}
|