use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug, Clone, Default, PartialEq, Eq)]
pub struct Settings {
pub vcs_mode: VcsMode,
pub backup_mode: BackupMode,
}
#[derive(Serialize, Deserialize, Default, Debug, Clone, Copy, PartialEq, Eq)]
#[serde(rename_all = "snake_case")]
pub enum VcsMode {
#[default]
TrackComponents,
Manual,
}
#[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq)]
#[serde(rename_all = "snake_case")]
pub enum BackupMode {
StartStop { min_depth: usize },
Manual,
}
impl Default for BackupMode {
fn default() -> Self {
Self::StartStop {
min_depth: 4,
}
}
}