use documented::{Documented, DocumentedFields};
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Default, Deserialize, Serialize, Documented, DocumentedFields)]
pub struct DisplaySettings {
pub progress_style: Option<ProgressStyle>,
pub icons: Option<bool>,
pub spinners: Option<bool>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize, PartialEq, Eq)]
#[serde(rename_all = "lowercase")]
pub enum ProgressStyle {
Classic,
#[default]
Modern,
Minimal,
}
impl DisplaySettings {
pub fn progress_style(&self) -> ProgressStyle {
self.progress_style.clone().unwrap_or_default()
}
pub fn icons(&self) -> bool {
self.icons.unwrap_or(true)
}
pub fn spinners(&self) -> bool {
self.spinners.unwrap_or(true)
}
}