project_diagnostics_settings.rs

 1use anyhow::Result;
 2use gpui::App;
 3use schemars::JsonSchema;
 4use serde::{Deserialize, Serialize};
 5use settings::{Settings, SettingsSources};
 6
 7#[derive(Deserialize, Debug)]
 8pub struct ProjectDiagnosticsSettings {
 9    pub include_warnings: bool,
10}
11
12/// Diagnostics configuration.
13#[derive(Clone, Default, Serialize, Deserialize, JsonSchema, Debug)]
14pub struct ProjectDiagnosticsSettingsContent {
15    /// Whether to show warnings or not by default.
16    ///
17    /// Default: true
18    include_warnings: Option<bool>,
19}
20
21impl Settings for ProjectDiagnosticsSettings {
22    const KEY: Option<&'static str> = Some("diagnostics");
23    type FileContent = ProjectDiagnosticsSettingsContent;
24
25    fn load(sources: SettingsSources<Self::FileContent>, _: &mut App) -> Result<Self> {
26        sources.json_merge()
27    }
28}