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}