use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize, Default)]
pub struct PartialConfig {
#[serde(default)]
pub core: Option<crate::config::settings::PartialCoreConfig>,
#[serde(default)]
pub diff: Option<crate::config::settings::PartialDiffConfig>,
#[serde(default)]
pub ui: Option<crate::config::settings::PartialUiConfig>,
#[serde(default)]
pub theme: Option<crate::config::theme::PartialThemeConfig>,
#[serde(default)]
pub keymap: Option<std::collections::HashMap<String, String>>,
#[serde(default)]
pub commands: Option<std::collections::HashMap<String, String>>,
pub fg: Option<String>,
pub bg: Option<String>,
pub muted: Option<String>,
pub accent: Option<String>,
pub border: Option<String>,
pub border_focused: Option<String>,
pub selection_bg: Option<String>,
pub selection_fg: Option<String>,
pub diff_add: Option<String>,
pub diff_remove: Option<String>,
pub diff_context: Option<String>,
pub diff_hunk: Option<String>,
pub staged: Option<String>,
pub unstaged: Option<String>,
pub untracked: Option<String>,
pub header: Option<String>,
pub footer: Option<String>,
pub error: Option<String>,
pub warning: Option<String>,
pub success: Option<String>,
}
#[derive(Debug, Deserialize, Serialize, Default)]
pub struct CommitConfig {
pub template: Option<String>,
}