use std::collections::HashMap;
use serde::Deserialize;
#[derive(Debug, Deserialize, Default, Clone, PartialEq, Eq)]
#[serde(rename_all = "kebab-case")]
pub enum BoxDrawingMode {
FontGlyph,
#[default]
Native,
SelectedNative,
}
#[derive(Debug, Deserialize, Default, Clone, PartialEq)]
#[serde(rename_all = "kebab-case")]
pub struct BoxDrawingSettings {
pub mode: Option<BoxDrawingMode>,
pub selected: Option<String>,
pub sizes: Option<LineSizes>,
}
#[derive(Debug, Deserialize, Clone, PartialEq)]
pub struct LineSizes(pub HashMap<String, (u16, u16)>);
impl Default for LineSizes {
fn default() -> Self {
Self(
[
("default", (2, 4)), ]
.into_iter()
.map(|(k, s)| (k.to_string(), s))
.collect(),
)
}
}